{"version":3,"sources":["webpack:///./node_modules/@lottiefiles/react-lottie-player/dist/lottie-react.esm.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","this","constructor","Reflect","construct","sham","Proxy","Boolean","prototype","valueOf","call","e","createCommonjsModule","t","exports","lottie","module","navigator","bodymovin","window","svgNS","locationHref","initialDefaultFrame","subframeEnabled","expressionsPlugin","isSafari","test","userAgent","bm_pow","Math","pow","bm_sqrt","sqrt","bm_floor","floor","bm_max","max","bm_min","min","BMMath","ProjectInterface","random","abs","createSizedArray","r","defaultCurveSegments","degToRads","PI","roundCorner","styleDiv","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","type","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","createElementID","_count","HSVtoRGB","s","a","n","o","h","l","p","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","toString","BaseEvent","triggerEvent","_cbs","addEventListener","removeEventListener","bind","splice","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","Array","createNS","document","createElementNS","createTag","createElement","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","indexOf","container","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","Matrix","cos","sin","tan","round","props","_t","shear","m","f","c","d","u","y","_identityCalculated","g","v","b","x","E","S","P","C","_","A","k","T","D","M","w","F","_identity","z","getInverseMatrix","applyToPointArray","isIdentity","reset","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","clone","cloneFromProps","equals","inversePoints","inversePoint","j","slice","charCodeAt","String","fromCharCode","seedrandom","entropy","Uint8Array","crypto","msCrypto","getRandomValues","plugins","Date","screen","int32","quick","double","pass","state","global","BezierFactory","getBezierEasing","replace","_p","_mSampleValues","_precomputed","get","_precompute","_getTForX","_calcSampleValues","extendPrototype","hasOwnProperty","getDescriptor","createProxyFunction","bezFunction","_e","bezier_length_pool","newElement","percents","lengths","addedLength","segmentLength","points","partialLength","point","getSegmentsLength","segments_length_pool","_length","totalLength","getNewSegment","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","requestAnimationFrame","cancelAnimationFrame","getTime","setTimeout","clearTimeout","bez","dataFunctionManager","completed","tt","td","hasMask","masksProperties","pt","ty","layers","refId","shapes","id","__used","JSON","parse","stringify","ks","it","split","assets","chars","data","__converted","closed","cl","singleShape","completeData","__complete","checkColors","checkChars","checkShapes","completeLayers","dataManager","FontManager","size","fontFamily","innerHTML","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","appendChild","body","offsetWidth","join","node","parent","setAttribute","fFamily","fStyle","fWeight","textContent","fClass","getContext","font","concat","fonts","typekitLoaded","isLoaded","initTime","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","getCombinedCharacterCodes","addChars","ch","addFonts","list","loaded","monoCase","sansCase","fPath","fOrigin","origin","querySelectorAll","href","rel","src","helper","cache","getCharData","console","warn","getFontByName","fName","measureText","getComputedTextLength","parentNode","removeChild","PropertyFactory","offsetTime","propType","pv","lastIndex","keyframes","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","atan2","asin","acos","comp","renderedFrame","_caching","interpolateValue","mult","elem","globalData","frameId","effectsSequence","lock","setVValue","_isFirstFrame","kf","vel","addEffect","st","value","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","point_pool","doubleArrayLength","setXYAt","setTripleAt","reverse","ShapePropertyFactory","interpolateShape","paths","localShapeCollection","shape_pool","releaseShapes","addShape","shapeCollection_pool","newShapeCollection","convertEllToPath","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","convertRectToPath","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","ShapeModifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","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","pop","addPaths","addSegment","addSegmentFromArray","rd","processPath","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","pos","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","nm","reloadShapes","mProps","op","comparePoints","buildShapeString","ImagePreloader","width","height","fillStyle","fillRect","loadedAssets","totalImages","imagesLoadedCb","_imageLoaded","assetsPath","path","images","loadAssets","_createImageData","setAssetsPath","setPath","destroy","getImage","assetData","img","createImgData","crossOrigin","createImageData","setAttributeNS","imageLoaded","setCacheType","featureSupport","maskType","filtersFactory","assetLoader","response","responseText","load","XMLHttpRequest","open","responseType","send","onreadystatechange","readyState","status","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","I","V","B","R","L","G","N","O","H","q","W","Y","X","K","U","J","Z","Q","$","et","defaultPropsArray","rt","at","nt","animatorJustifyOffset","getMult","anIndexes","totalChars","line","ind","extra","an","ot","add","ht","atan","update","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","charAt","substr","fontManager","toLowerCase","val","rn","updateDocumentData","recalculate","canResizeFont","setMinimumFontSize","_currentTextLength","finalS","finalE","xe","ne","textProperty","pool_factory","pooling","factory","BaseRenderer","SVGRenderer","animationItem","svgElement","title","description","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","frameNum","defs","elements","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","context","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","element","storedData","maskElement","viewData","solidPath","mode","inv","expan","lastPath","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","lvl","hd","pElem","msElem","SVGShapeData","caches","styles","transformers","lStr","SVGTransformData","SVGStrokeStyleData","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","ip","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","Error","buildAllItems","includeLayers","setProjectInterface","projectInterface","initItems","buildElementParenting","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","getAssetData","getAssetsPath","imageLoader","imagePreloader","fr","compSize","NullElement","SVGShapeElement","SVGTextElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","updateContainerSize","appendElementInPos","setMatte","layerId","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","insertBefore","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","perspective","webkitPerspective","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","ms","ost","maskId","SVGElementsRenderer","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","styledShapes","transforms","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","tm","_placeholder","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","content","textInterface","TextExpressionInterface","text","setBlendMode","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","createFilter","createAlphaToLuminanceFilter","ln","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","lcEnum","ljEnum","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","applyTextPropertiesToMatrix","buildColor","emptyProp","setElements","getElements","destroyElements","pr","textContainer","buildTextContents","getBBox","bbox","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","setShapesAsAnimated","createStyleElement","lc","lj","ml","addToAnimatedContents","createGroupElement","createTransformElement","createShapeElement","fn","setElementStyles","renderShape","initialize","children","childNodes","masker","removeAttribute","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","filters","CVBaseElement","CVMaskElement","hasMasks","transformsManager","stroke","fill","currentRender","values","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","findSymbol","replaceInParent","setElementAsMask","set","createElements","globalCompositeOperation","hideElement","showElement","drawImage","moveTo","lineTo","bezierCurveTo","transformHelper","opacity","dashResetter","preTransforms","co","wi","da","do","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","animation","isPaused","AnimationItem","setData","advanceTime","registerAnimation","loadAnimation","setParams","setSpeed","setDirection","play","pause","stop","togglePause","searchAnimations","getElementsByClassName","getElementsByTagName","resize","goToAndStop","freeze","unfreeze","getRegisteredAnimations","name","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationData","autoplay","loop","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","animType","rendererSettings","parseInt","autoloadSegments","initialSegment","lastIndexOf","fileName","trigger","attributes","getNamedItem","prerender","loadNextSegment","shift","time","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","frameModifier","goToAndPlay","checkSegments","adjustSegment","setSegment","playSegments","resetSegments","onEnterFrame","onLoopComplete","onComplete","onSegmentStart","onDestroy","getPath","getDuration","onError","Expressions","pushExpression","popExpression","registerExpressionProperty","ExpressionManager","ob","easeInBez","easeOutBez","easeInOutBez","initiateExpression","property","needsVelocity","_needsRandom","elemType","effect","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loopOut","smooth","toWorld","fromWorld","fromComp","toComp","anchorPoint","thisLayer","thisComp","mask","velocityAtTime","__expression_functions","scoped_bm_rt","xf","len","eval","expression_function","numKeys","active","wiggle","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","seedRandom","randSeed","index","hasParent","executeExpression","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","propertyIndex","vertices","inTangents","outTangents","isClosed","pointOnPath","_segmentsLength","vectorOnPath","tangentOnPath","normalOnPath","shapeValue","lastTime","getExpressionValue","calculateExpression","_name","mn","numProperties","cix","rotation","skewAxis","ExpressionPropertyInterface","np","dash","end","start","offset","outerRadius","outerRoundness","innerRoundness","innerRadius","roundness","radius","copies","sampleImage","TransformExpressionInterface","anchor_point","startTime","MaskManagerInterface","layer","pixelAspect","numLayers","xRotation","yRotation","xPosition","yPosition","zPosition","compositions","enabled","en","_mask","_data","Number","assign","speedAtTime","TextExpressionSelectorProp","propertyGetTextProp","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","GroupEffect","lastValue","setLocationHref","setSubframeRendering","setQuality","isNaN","inBrowser","installPlugin","getFactory","checkReady","clearInterval","readyStateCheckInterval","getQueryVariable","queryString","decodeURIComponent","__getFactory","version","scripts","myScript","setInterval","PlayerState","PlayerEvent","parseSrc","URL","Loading","Playing","Paused","Stopped","Frozen","Load","Ready","Play","Pause","Stop","Freeze","Loop","Complete","Frame","defaultOptions","Player","_Component","_getDerivedStateFromProps","_createLottie","_componentDidUpdate","_componentDidMount","_super","_this","background","containerRef","debug","instance","playerState","seeker","mark","_callee","wrap","_context","prev","next","createLottie","_callee2","_t3","_context2","t0","_x","_this2","_this$props","_t4","onBackgroundChange","_this$state","ref","_t5","margin","outline","map","_t6","setBackground","_t7","setState","setSeeker","_t8","toggleDebug","setLoop","_t9","_callee3","_this$props2","_t10","_t21","_this3","_context3","lottieRef","speed","fetch","sent","json","setPlayerSpeed","setPlayerDirection","_t13","_t14","_t15","_t16","_t17","_t18","undefined","_this$state2","_t19","_t20","onEvent","_callee4","_t2","_context4","abrupt","_x2","_x3","defaultProps","styleInject","insertAt","head","firstChild","styleSheet","cssText","createTextNode","css_248z","Seeker","_Component2","_super2","_this4","inputRef","handleChange","onChange","backgroundImage","marginTop","border","darkTheme","padding","textAlign","borderRadius","flexDirection","alignItems","marginRight","marginLeft","step","onInput","showLabels","justifyContent","ControlButtonStyle","cursor","Controls","_Component3","_super3","_this5","activeFrame","mouseDown","_this6","_this$props3","visible","buttons","includes","viewBox","paddingLeft","paddingRight","gridColumnGap","gridTemplateColumns","role","tabIndex","onClick","onKeyDown","onChangeEnd","readOnly"],"mappings":"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","file":"2fbf9dd2-304ca4aed13db2931b3e.js","sourcesContent":["import _defineProperty from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _asyncToGenerator from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _classCallCheck from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _inherits from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"/Users/romanspak/Documents/work/Inga/portal/test/ui/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/regenerator/index.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\nimport { Component, createRef, createElement, Children, isValidElement, cloneElement } from \"react\";\n\nfunction createCommonjsModule(t, e) {\n return t(e = {\n exports: {}\n }, e.exports), e.exports;\n}\n\nvar lottie = createCommonjsModule(function (module) {\n \"undefined\" != typeof navigator && function (t, e) {\n module.exports ? module.exports = e(t) : (t.lottie = e(t), t.bodymovin = t.lottie);\n }(window || {}, function (window) {\n var svgNS = \"http://www.w3.org/2000/svg\",\n locationHref = \"\",\n initialDefaultFrame = -999999,\n subframeEnabled = !0,\n expressionsPlugin,\n isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),\n bm_pow = Math.pow,\n bm_sqrt = Math.sqrt,\n bm_floor = Math.floor,\n bm_max = Math.max,\n bm_min = 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 i = e.length;\n\n for (t = 0; t < i; t += 1) {\n BMMath[e[t]] = Math[e[t]];\n }\n }(), BMMath.random = Math.random, BMMath.abs = function (t) {\n if (\"object\" === typeof t && t.length) {\n var e,\n i = createSizedArray(t.length),\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n i[e] = Math.abs(t[e]);\n }\n\n return i;\n }\n\n return Math.abs(t);\n };\n var defaultCurveSegments = 150,\n degToRads = Math.PI / 180,\n roundCorner = .5519;\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 = t.style.webkitTransformOrigin = \"0 0\", t.style.backfaceVisibility = t.style.webkitBackfaceVisibility = \"visible\", t.style.transformStyle = t.style.webkitTransformStyle = t.style.mozTransformStyle = \"preserve-3d\";\n }\n\n function BMEnterFrameEvent(t, e, i, r) {\n this.type = t, this.currentTime = e, this.totalTime = i, this.direction = r < 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, i, r) {\n this.type = t, this.currentLoop = i, this.totalLoops = e, this.direction = r < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(t, e, i) {\n this.type = t, this.firstFrame = e, this.totalFrames = i;\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 var createElementID = (_count = 0, function () {\n return \"__lottie_element_\" + ++_count;\n }),\n _count;\n\n function HSVtoRGB(t, e, i) {\n var r, s, a, n, o, h, l, p;\n\n switch (h = i * (1 - e), l = i * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e), p = i * (1 - (1 - o) * e), n % 6) {\n case 0:\n r = i, s = p, a = h;\n break;\n\n case 1:\n r = l, s = i, a = h;\n break;\n\n case 2:\n r = h, s = i, a = p;\n break;\n\n case 3:\n r = h, s = l, a = i;\n break;\n\n case 4:\n r = p, s = h, a = i;\n break;\n\n case 5:\n r = i, s = h, a = l;\n }\n\n return [r, s, a];\n }\n\n function RGBtoHSV(t, e, i) {\n var r,\n s = Math.max(t, e, i),\n a = Math.min(t, e, i),\n n = s - a,\n o = 0 === s ? 0 : n / s,\n h = s / 255;\n\n switch (s) {\n case a:\n r = 0;\n break;\n\n case t:\n r = e - i + n * (e < i ? 6 : 0), r /= 6 * n;\n break;\n\n case e:\n r = i - t + 2 * n, r /= 6 * n;\n break;\n\n case i:\n r = t - e + 4 * n, r /= 6 * n;\n }\n\n return [r, o, h];\n }\n\n function addSaturationToRGB(t, e) {\n var i = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return i[1] += e, i[1] > 1 ? i[1] = 1 : i[1] <= 0 && (i[1] = 0), HSVtoRGB(i[0], i[1], i[2]);\n }\n\n function addBrightnessToRGB(t, e) {\n var i = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return i[2] += e, i[2] > 1 ? i[2] = 1 : i[2] < 0 && (i[2] = 0), HSVtoRGB(i[0], i[1], i[2]);\n }\n\n function addHueToRGB(t, e) {\n var i = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return i[0] += e / 360, i[0] > 1 ? i[0] -= 1 : i[0] < 0 && (i[0] += 1), HSVtoRGB(i[0], i[1], i[2]);\n }\n\n var rgbToHex = function () {\n var t,\n e,\n i = [];\n\n for (t = 0; t < 256; t += 1) {\n e = t.toString(16), i[t] = 1 == e.length ? \"0\" + e : e;\n }\n\n return function (t, e, r) {\n return t < 0 && (t = 0), e < 0 && (e = 0), r < 0 && (r = 0), \"#\" + i[t] + i[e] + i[r];\n };\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(t, e) {\n if (this._cbs[t]) for (var i = this._cbs[t].length, r = 0; r < i; r++) {\n this._cbs[t][r](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 i = 0, r = this._cbs[t].length; i < r;) {\n this._cbs[t][i] === e && (this._cbs[t].splice(i, 1), i -= 1, r -= 1), i += 1;\n }\n\n this._cbs[t].length || (this._cbs[t] = null);\n }\n } else this._cbs[t] = null;\n }\n };\n var createTypedArray = \"function\" == typeof Uint8ClampedArray && \"function\" == typeof Float32Array ? function (t, e) {\n return \"float32\" === t ? new Float32Array(e) : \"int16\" === t ? new Int16Array(e) : \"uint8c\" === t ? new Uint8ClampedArray(e) : void 0;\n } : function (t, e) {\n var i,\n r = 0,\n s = [];\n\n switch (t) {\n case \"int16\":\n case \"uint8c\":\n i = 1;\n break;\n\n default:\n i = 1.1;\n }\n\n for (r = 0; r < e; r += 1) {\n s.push(i);\n }\n\n return s;\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 this._mdf = !1;\n var t,\n 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 Matrix = function () {\n var t = Math.cos,\n e = Math.sin,\n i = Math.tan,\n r = Math.round;\n\n function s() {\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 a(i) {\n if (0 === i) return this;\n var r = t(i),\n s = e(i);\n return this._t(r, -s, 0, 0, s, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function n(i) {\n if (0 === i) return this;\n var r = t(i),\n s = e(i);\n return this._t(1, 0, 0, 0, 0, r, -s, 0, 0, s, r, 0, 0, 0, 0, 1);\n }\n\n function o(i) {\n if (0 === i) return this;\n var r = t(i),\n s = e(i);\n return this._t(r, 0, s, 0, 0, 1, 0, 0, -s, 0, r, 0, 0, 0, 0, 1);\n }\n\n function h(i) {\n if (0 === i) return this;\n var r = t(i),\n s = e(i);\n return this._t(r, -s, 0, 0, s, r, 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(i(t), i(e));\n }\n\n function m(r, s) {\n var a = t(s),\n n = e(s);\n return this._t(a, n, 0, 0, -n, a, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, i(r), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(a, -n, 0, 0, n, a, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function f(t, e, i) {\n return i || 0 === i || (i = 1), 1 === t && 1 === e && 1 === i ? this : this._t(t, 0, 0, 0, 0, e, 0, 0, 0, 0, i, 0, 0, 0, 0, 1);\n }\n\n function c(t, e, i, r, s, a, n, o, h, l, p, m, f, c, d, u) {\n return this.props[0] = t, this.props[1] = e, this.props[2] = i, this.props[3] = r, this.props[4] = s, this.props[5] = a, this.props[6] = n, this.props[7] = o, this.props[8] = h, this.props[9] = l, this.props[10] = p, this.props[11] = m, this.props[12] = f, this.props[13] = c, this.props[14] = d, this.props[15] = u, this;\n }\n\n function d(t, e, i) {\n return i = i || 0, 0 !== t || 0 !== e || 0 !== i ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, i, 1) : this;\n }\n\n function u(t, e, i, r, s, a, n, o, h, l, p, m, f, c, d, u) {\n var y = this.props;\n if (1 === t && 0 === e && 0 === i && 0 === r && 0 === s && 1 === a && 0 === n && 0 === o && 0 === h && 0 === l && 1 === p && 0 === m) return y[12] = y[12] * t + y[15] * f, y[13] = y[13] * a + y[15] * c, y[14] = y[14] * p + y[15] * d, y[15] = y[15] * u, this._identityCalculated = !1, this;\n var g = y[0],\n v = y[1],\n b = y[2],\n x = y[3],\n E = y[4],\n S = y[5],\n P = y[6],\n C = y[7],\n _ = y[8],\n A = y[9],\n k = y[10],\n T = y[11],\n D = y[12],\n M = y[13],\n w = y[14],\n F = y[15];\n return y[0] = g * t + v * s + b * h + x * f, y[1] = g * e + v * a + b * l + x * c, y[2] = g * i + v * n + b * p + x * d, y[3] = g * r + v * o + b * m + x * u, y[4] = E * t + S * s + P * h + C * f, y[5] = E * e + S * a + P * l + C * c, y[6] = E * i + S * n + P * p + C * d, y[7] = E * r + S * o + P * m + C * u, y[8] = _ * t + A * s + k * h + T * f, y[9] = _ * e + A * a + k * l + T * c, y[10] = _ * i + A * n + k * p + T * d, y[11] = _ * r + A * o + k * m + T * u, y[12] = D * t + M * s + w * h + F * f, y[13] = D * e + M * a + w * l + F * c, y[14] = D * i + M * n + w * p + F * d, y[15] = D * r + M * o + w * m + 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\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 x(t, e, i) {\n return {\n x: t * this.props[0] + e * this.props[4] + i * this.props[8] + this.props[12],\n y: t * this.props[1] + e * this.props[5] + i * this.props[9] + this.props[13],\n z: t * this.props[2] + e * this.props[6] + i * this.props[10] + this.props[14]\n };\n }\n\n function E(t, e, i) {\n return t * this.props[0] + e * this.props[4] + i * this.props[8] + this.props[12];\n }\n\n function S(t, e, i) {\n return t * this.props[1] + e * this.props[5] + i * this.props[9] + this.props[13];\n }\n\n function P(t, e, i) {\n return t * this.props[2] + e * this.props[6] + i * this.props[10] + this.props[14];\n }\n\n function C() {\n var t = this.props[0] * this.props[5] - this.props[1] * this.props[4],\n e = this.props[5] / t,\n i = -this.props[1] / t,\n r = -this.props[4] / t,\n s = this.props[0] / t,\n a = (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] = i, o.props[4] = r, o.props[5] = s, o.props[12] = a, o.props[13] = n, o;\n }\n\n function _(t) {\n return this.getInverseMatrix().applyToPointArray(t[0], t[1], t[2] || 0);\n }\n\n function A(t) {\n var e,\n i = t.length,\n r = [];\n\n for (e = 0; e < i; e += 1) {\n r[e] = _(t[e]);\n }\n\n return r;\n }\n\n function k(t, e, i) {\n var r = createTypedArray(\"float32\", 6);\n if (this.isIdentity()) r[0] = t[0], r[1] = t[1], r[2] = e[0], r[3] = e[1], r[4] = i[0], r[5] = i[1];else {\n var s = this.props[0],\n a = this.props[1],\n n = this.props[4],\n o = this.props[5],\n h = this.props[12],\n l = this.props[13];\n r[0] = t[0] * s + t[1] * n + h, r[1] = t[0] * a + t[1] * o + l, r[2] = e[0] * s + e[1] * n + h, r[3] = e[0] * a + e[1] * o + l, r[4] = i[0] * s + i[1] * n + h, r[5] = i[0] * a + i[1] * o + l;\n }\n return r;\n }\n\n function T(t, e, i) {\n return this.isIdentity() ? [t, e, i] : [t * this.props[0] + e * this.props[4] + i * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + i * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + i * this.props[10] + this.props[14]];\n }\n\n function D(t, e) {\n if (this.isIdentity()) return t + \",\" + e;\n var i = this.props;\n return Math.round(100 * (t * i[0] + e * i[4] + i[12])) / 100 + \",\" + Math.round(100 * (t * i[1] + e * i[5] + i[13])) / 100;\n }\n\n function M() {\n for (var t = 0, e = this.props, i = \"matrix3d(\"; t < 16;) {\n i += r(1e4 * e[t]) / 1e4, i += 15 === t ? \")\" : \",\", t += 1;\n }\n\n return i;\n }\n\n function w(t) {\n return t < 1e-6 && t > 0 || t > -1e-6 && t < 0 ? r(1e4 * t) / 1e4 : t;\n }\n\n function F() {\n var t = this.props;\n return \"matrix(\" + w(t[0]) + \",\" + w(t[1]) + \",\" + w(t[4]) + \",\" + w(t[5]) + \",\" + w(t[12]) + \",\" + w(t[13]) + \")\";\n }\n\n return function () {\n this.reset = s, this.rotate = a, this.rotateX = n, this.rotateY = o, this.rotateZ = h, this.skew = p, this.skewFromAxis = m, this.shear = l, this.scale = f, this.setTransform = c, this.translate = d, this.transform = u, this.applyToPoint = x, this.applyToX = E, this.applyToY = S, this.applyToZ = P, this.applyToPointArray = T, this.applyToTriplePoints = k, this.applyToPointStringified = D, this.toCSS = M, this.to2dCSS = F, this.clone = v, this.cloneFromProps = b, this.equals = g, this.inversePoints = A, this.inversePoint = _, this.getInverseMatrix = C, this._t = this.transform, this.isIdentity = y, this._identity = !0, this._identityCalculated = !1, this.props = createTypedArray(\"float32\", 16), this.reset();\n };\n }();\n /*!\n Transformation Matrix v2.0\n (c) Epistemex 2014-2015\n www.epistemex.com\n By Ken Fyrstenberg\n Contributions by leeoniya.\n License: MIT, header required.\n */\n\n\n !function (t, e) {\n var i = this,\n r = e.pow(256, 6),\n s = e.pow(2, 52),\n a = 2 * s;\n\n function n(t) {\n var e,\n i = t.length,\n r = this,\n s = 0,\n a = r.i = r.j = 0,\n n = r.S = [];\n\n for (i || (t = [i++]); s < 256;) {\n n[s] = s++;\n }\n\n for (s = 0; s < 256; s++) {\n n[s] = n[a = 255 & a + t[s % i] + (e = n[s])], n[a] = e;\n }\n\n r.g = function (t) {\n for (var e, i = 0, s = r.i, a = r.j, n = r.S; t--;) {\n e = n[s = 255 & s + 1], i = 256 * i + n[255 & (n[s] = n[a = 255 & a + e]) + (n[a] = e)];\n }\n\n return r.i = s, r.j = a, i;\n };\n }\n\n function o(t, e) {\n return e.i = t.i, e.j = t.j, e.S = t.S.slice(), e;\n }\n\n function h(t, e) {\n for (var i, r = t + \"\", s = 0; s < r.length;) {\n e[255 & s] = 255 & (i ^= 19 * e[255 & s]) + r.charCodeAt(s++);\n }\n\n return l(e);\n }\n\n function l(t) {\n return String.fromCharCode.apply(0, t);\n }\n\n e.seedrandom = function (p, m, f) {\n var c = [],\n d = h(function t(e, i) {\n var r,\n s = [],\n a = typeof e;\n if (i && \"object\" == a) for (r in e) {\n try {\n s.push(t(e[r], i - 1));\n } catch (t) {}\n }\n return s.length ? s : \"string\" == a ? e : e + \"\\0\";\n }((m = !0 === m ? {\n entropy: !0\n } : m || {}).entropy ? [p, l(t)] : null === p ? function () {\n try {\n void 0;\n var e = new Uint8Array(256);\n return (i.crypto || i.msCrypto).getRandomValues(e), l(e);\n } catch (e) {\n var r = i.navigator,\n s = r && r.plugins;\n return [+new Date(), i, s, i.screen, l(t)];\n }\n }() : p, 3), c),\n u = new n(c),\n y = function y() {\n for (var t = u.g(6), e = r, i = 0; t < s;) {\n t = 256 * (t + i), e *= 256, i = u.g(1);\n }\n\n for (; t >= a;) {\n t /= 2, e /= 2, i >>>= 1;\n }\n\n return (t + i) / e;\n };\n\n return y.int32 = function () {\n return 0 | u.g(4);\n }, y.quick = function () {\n return u.g(4) / 4294967296;\n }, y.double = y, h(l(u.S), t), (m.pass || f || function (t, i, r, s) {\n return s && (s.S && o(s, u), t.state = function () {\n return o(u, {});\n }), r ? (e.random = t, i) : t;\n })(y, d, \"global\" in m ? m.global : this == e, m.state);\n }, h(e.random(), t);\n }([], BMMath);\n\n var BezierFactory = function () {\n var t = {\n getBezierEasing: function getBezierEasing(t, i, r, s, a) {\n var n = a || (\"bez_\" + t + \"_\" + i + \"_\" + r + \"_\" + s).replace(/\\./g, \"p\");\n if (e[n]) return e[n];\n var o = new h([t, i, r, s]);\n return e[n] = o, o;\n }\n },\n e = {};\n var i = \"function\" == typeof Float32Array;\n\n function r(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 a(t) {\n return 3 * t;\n }\n\n function n(t, e, i) {\n return ((r(e, i) * t + s(e, i)) * t + a(e)) * t;\n }\n\n function o(t, e, i) {\n return 3 * r(e, i) * t * t + 2 * s(e, i) * t + a(e);\n }\n\n function h(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 h.prototype = {\n get: function get(t) {\n var e = this._p[0],\n i = this._p[1],\n r = this._p[2],\n s = this._p[3];\n return this._precomputed || this._precompute(), e === i && r === s ? t : 0 === t ? 0 : 1 === t ? 1 : n(this._getTForX(t), i, s);\n },\n _precompute: function _precompute() {\n var t = this._p[0],\n e = this._p[1],\n i = this._p[2],\n r = this._p[3];\n this._precomputed = !0, t === e && i === r || 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] = n(.1 * i, t, e);\n }\n },\n _getTForX: function _getTForX(t) {\n for (var e = this._p[0], i = this._p[2], r = this._mSampleValues, s = 0, a = 1; 10 !== a && r[a] <= t; ++a) {\n s += .1;\n }\n\n var h = s + .1 * ((t - r[--a]) / (r[a + 1] - r[a])),\n l = o(h, e, i);\n return l >= .001 ? function (t, e, i, r) {\n for (var s = 0; s < 4; ++s) {\n var a = o(e, i, r);\n if (0 === a) return e;\n e -= (n(e, i, r) - t) / a;\n }\n\n return e;\n }(t, h, e, i) : 0 === l ? h : function (t, e, i, r, s) {\n var a,\n o,\n h = 0;\n\n do {\n (a = n(o = e + (i - e) / 2, r, s) - t) > 0 ? i = o : e = o;\n } while (Math.abs(a) > 1e-7 && ++h < 10);\n\n return o;\n }(t, s, s + .1, e, i);\n }\n }, t;\n }();\n\n function extendPrototype(t, e) {\n var i,\n r,\n s = t.length;\n\n for (i = 0; i < s; i += 1) {\n for (var a in r = t[i].prototype) {\n r.hasOwnProperty(a) && (e.prototype[a] = r[a]);\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 function t(t, e, i, r, s, a) {\n var n = t * r + e * s + i * a - s * r - a * t - i * e;\n return n > -.001 && n < .001;\n }\n\n var e = function e(t, _e, i, r) {\n var s,\n a,\n n,\n o,\n h,\n l,\n p = defaultCurveSegments,\n m = 0,\n f = [],\n c = [],\n d = bezier_length_pool.newElement();\n\n for (n = i.length, s = 0; s < p; s += 1) {\n for (h = s / (p - 1), l = 0, a = 0; a < n; a += 1) {\n o = bm_pow(1 - h, 3) * t[a] + 3 * bm_pow(1 - h, 2) * h * i[a] + 3 * (1 - h) * bm_pow(h, 2) * r[a] + bm_pow(h, 3) * _e[a], f[a] = o, null !== c[a] && (l += bm_pow(f[a] - c[a], 2)), c[a] = f[a];\n }\n\n l && (m += l = bm_sqrt(l)), d.percents[s] = h, d.lengths[s] = m;\n }\n\n return d.addedLength = m, d;\n };\n\n function i(t) {\n this.segmentLength = 0, this.points = new Array(t);\n }\n\n function r(t, e) {\n this.partialLength = t, this.point = e;\n }\n\n var s,\n a = (s = {}, function (e, a, n, o) {\n var h = (e[0] + \"_\" + e[1] + \"_\" + a[0] + \"_\" + a[1] + \"_\" + n[0] + \"_\" + n[1] + \"_\" + o[0] + \"_\" + o[1]).replace(/\\./g, \"p\");\n\n if (!s[h]) {\n var l,\n p,\n m,\n f,\n c,\n d,\n u,\n y = defaultCurveSegments,\n g = 0,\n v = null;\n 2 === e.length && (e[0] != a[0] || e[1] != a[1]) && t(e[0], e[1], a[0], a[1], e[0] + n[0], e[1] + n[1]) && t(e[0], e[1], a[0], a[1], a[0] + o[0], a[1] + o[1]) && (y = 2);\n var b = new i(y);\n\n for (m = n.length, l = 0; l < y; l += 1) {\n for (u = createSizedArray(m), c = l / (y - 1), d = 0, p = 0; p < m; p += 1) {\n f = bm_pow(1 - c, 3) * e[p] + 3 * bm_pow(1 - c, 2) * c * (e[p] + n[p]) + 3 * (1 - c) * bm_pow(c, 2) * (a[p] + o[p]) + bm_pow(c, 3) * a[p], u[p] = f, null !== v && (d += bm_pow(u[p] - v[p], 2));\n }\n\n g += d = bm_sqrt(d), b.points[l] = new r(d, u), v = u;\n }\n\n b.segmentLength = g, s[h] = b;\n }\n\n return s[h];\n });\n\n function n(t, e) {\n var i = e.percents,\n r = e.lengths,\n s = i.length,\n a = bm_floor((s - 1) * t),\n n = t * e.addedLength,\n o = 0;\n if (a === s - 1 || 0 === a || n === r[a]) return i[a];\n\n for (var h = r[a] > n ? -1 : 1, l = !0; l;) {\n if (r[a] <= n && r[a + 1] > n ? (o = (n - r[a]) / (r[a + 1] - r[a]), l = !1) : a += h, a < 0 || a >= s - 1) {\n if (a === s - 1) return i[a];\n l = !1;\n }\n }\n\n return i[a] + (i[a + 1] - i[a]) * o;\n }\n\n var o = createTypedArray(\"float32\", 8);\n return {\n getSegmentsLength: function getSegmentsLength(t) {\n var i,\n r = segments_length_pool.newElement(),\n s = t.c,\n a = t.v,\n n = t.o,\n o = t.i,\n h = t._length,\n l = r.lengths,\n p = 0;\n\n for (i = 0; i < h - 1; i += 1) {\n l[i] = e(a[i], a[i + 1], n[i], o[i + 1]), p += l[i].addedLength;\n }\n\n return s && h && (l[i] = e(a[i], a[0], n[i], o[0]), p += l[i].addedLength), r.totalLength = p, r;\n },\n getNewSegment: function getNewSegment(t, e, i, r, s, a, h) {\n var l,\n p = n(s = s < 0 ? 0 : s > 1 ? 1 : s, h),\n m = n(a = a > 1 ? 1 : a, h),\n f = t.length,\n c = 1 - p,\n d = 1 - m,\n u = c * c * c,\n y = p * c * c * 3,\n g = p * p * c * 3,\n v = p * p * p,\n b = c * c * d,\n x = p * c * d + c * p * d + c * c * m,\n E = p * p * d + c * p * m + p * c * m,\n S = p * p * m,\n P = c * d * d,\n C = p * d * d + c * m * d + c * d * m,\n _ = p * m * d + c * m * m + p * d * m,\n A = p * m * m,\n k = d * d * d,\n T = m * d * d + d * m * d + d * d * m,\n D = m * m * d + d * m * m + m * d * m,\n M = m * m * m;\n\n for (l = 0; l < f; l += 1) {\n o[4 * l] = Math.round(1e3 * (u * t[l] + y * i[l] + g * r[l] + v * e[l])) / 1e3, o[4 * l + 1] = Math.round(1e3 * (b * t[l] + x * i[l] + E * r[l] + S * e[l])) / 1e3, o[4 * l + 2] = Math.round(1e3 * (P * t[l] + C * i[l] + _ * r[l] + A * e[l])) / 1e3, o[4 * l + 3] = Math.round(1e3 * (k * t[l] + T * i[l] + D * r[l] + M * e[l])) / 1e3;\n }\n\n return o;\n },\n getPointInSegment: function getPointInSegment(t, e, i, r, s, a) {\n var o = n(s, a),\n h = 1 - o;\n return [Math.round(1e3 * (h * h * h * t[0] + (o * h * h + h * o * h + h * h * o) * i[0] + (o * o * h + h * o * o + o * h * o) * r[0] + o * o * o * e[0])) / 1e3, Math.round(1e3 * (h * h * h * t[1] + (o * h * h + h * o * h + h * h * o) * i[1] + (o * o * h + h * o * o + o * h * o) * r[1] + o * o * o * e[1])) / 1e3];\n },\n buildBezierData: a,\n pointOnLine2D: t,\n pointOnLine3D: function pointOnLine3D(e, i, r, s, a, n, o, h, l) {\n if (0 === r && 0 === n && 0 === l) return t(e, i, s, a, o, h);\n var p,\n m = Math.sqrt(Math.pow(s - e, 2) + Math.pow(a - i, 2) + Math.pow(n - r, 2)),\n f = Math.sqrt(Math.pow(o - e, 2) + Math.pow(h - i, 2) + Math.pow(l - r, 2)),\n c = Math.sqrt(Math.pow(o - s, 2) + Math.pow(h - a, 2) + Math.pow(l - n, 2));\n return (p = m > f ? m > c ? m - f - c : c - f - m : c > f ? c - f - m : f - m - c) > -1e-4 && p < 1e-4;\n }\n };\n }\n\n !function () {\n for (var t = 0, e = [\"ms\", \"moz\", \"webkit\", \"o\"], i = 0; i < e.length && !window.requestAnimationFrame; ++i) {\n window.requestAnimationFrame = window[e[i] + \"RequestAnimationFrame\"], window.cancelAnimationFrame = window[e[i] + \"CancelAnimationFrame\"] || window[e[i] + \"CancelRequestAnimationFrame\"];\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function (e, i) {\n var r = new Date().getTime(),\n s = Math.max(0, 16 - (r - t)),\n a = setTimeout(function () {\n e(r + s);\n }, s);\n return t = r + s, a;\n }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function (t) {\n clearTimeout(t);\n });\n }();\n var bez = bezFunction();\n\n function dataFunctionManager() {\n function t(s, a, n) {\n var o,\n h,\n l,\n m,\n f,\n c,\n d = s.length;\n\n for (h = 0; h < d; h += 1) {\n if (\"ks\" in (o = s[h]) && !o.completed) {\n if (o.completed = !0, o.tt && (s[h - 1].td = o.tt), o.hasMask) {\n var u = o.masksProperties;\n\n for (m = u.length, l = 0; l < m; l += 1) {\n if (u[l].pt.k.i) r(u[l].pt.k);else for (c = u[l].pt.k.length, f = 0; f < c; f += 1) {\n u[l].pt.k[f].s && r(u[l].pt.k[f].s[0]), u[l].pt.k[f].e && r(u[l].pt.k[f].e[0]);\n }\n }\n }\n\n 0 === o.ty ? (o.layers = e(o.refId, a), t(o.layers, a)) : 4 === o.ty ? i(o.shapes) : 5 == o.ty && p(o);\n }\n }\n }\n\n function e(t, e) {\n for (var i = 0, r = e.length; i < r;) {\n if (e[i].id === t) return e[i].layers.__used ? JSON.parse(JSON.stringify(e[i].layers)) : (e[i].layers.__used = !0, e[i].layers);\n i += 1;\n }\n }\n\n function i(t) {\n var e, s, a;\n\n for (e = t.length - 1; e >= 0; e -= 1) {\n if (\"sh\" == t[e].ty) {\n if (t[e].ks.k.i) r(t[e].ks.k);else for (a = t[e].ks.k.length, s = 0; s < a; s += 1) {\n t[e].ks.k[s].s && r(t[e].ks.k[s].s[0]), t[e].ks.k[s].e && r(t[e].ks.k[s].e[0]);\n }\n } else \"gr\" == t[e].ty && i(t[e].it);\n }\n }\n\n function r(t) {\n var e,\n i = t.i.length;\n\n for (e = 0; e < i; 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 s(t, e) {\n var i = e ? e.split(\".\") : [100, 100, 100];\n return t[0] > i[0] || !(i[0] > t[0]) && (t[1] > i[1] || !(i[1] > t[1]) && (t[2] > i[2] || !(i[2] > t[2]) && void 0));\n }\n\n var a,\n n = function () {\n var t = [4, 4, 14];\n\n function e(t) {\n var e,\n i,\n r,\n s = t.length;\n\n for (e = 0; e < s; e += 1) {\n 5 === t[e].ty && (i = t[e], r = void 0, r = i.t.d, i.t.d = {\n k: [{\n s: r,\n t: 0\n }]\n });\n }\n }\n\n return function (i) {\n if (s(t, i.v) && (e(i.layers), i.assets)) {\n var r,\n a = i.assets.length;\n\n for (r = 0; r < a; r += 1) {\n i.assets[r].layers && e(i.assets[r].layers);\n }\n }\n };\n }(),\n o = (a = [4, 7, 99], function (t) {\n if (t.chars && !s(a, t.v)) {\n var e,\n i,\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, i = 0; i < n; i += 1) {\n (o = h[i].ks.k).__converted || (r(h[i].ks.k), o.__converted = !0);\n }\n }\n }\n }),\n h = function () {\n var t = [4, 1, 9];\n\n function e(t) {\n var i,\n r,\n s,\n a = t.length;\n\n for (i = 0; i < a; i += 1) {\n if (\"gr\" === t[i].ty) e(t[i].it);else if (\"fl\" === t[i].ty || \"st\" === t[i].ty) if (t[i].c.k && t[i].c.k[0].i) for (s = t[i].c.k.length, r = 0; r < s; r += 1) {\n t[i].c.k[r].s && (t[i].c.k[r].s[0] /= 255, t[i].c.k[r].s[1] /= 255, t[i].c.k[r].s[2] /= 255, t[i].c.k[r].s[3] /= 255), t[i].c.k[r].e && (t[i].c.k[r].e[0] /= 255, t[i].c.k[r].e[1] /= 255, t[i].c.k[r].e[2] /= 255, t[i].c.k[r].e[3] /= 255);\n } else t[i].c.k[0] /= 255, t[i].c.k[1] /= 255, t[i].c.k[2] /= 255, t[i].c.k[3] /= 255;\n }\n }\n\n function i(t) {\n var i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n 4 === t[i].ty && e(t[i].shapes);\n }\n }\n\n return function (e) {\n if (s(t, e.v) && (i(e.layers), e.assets)) {\n var r,\n a = e.assets.length;\n\n for (r = 0; r < a; r += 1) {\n e.assets[r].layers && i(e.assets[r].layers);\n }\n }\n };\n }(),\n l = function () {\n var t = [4, 4, 18];\n\n function e(t) {\n var i, r, s;\n\n for (i = t.length - 1; i >= 0; i -= 1) {\n if (\"sh\" == t[i].ty) {\n if (t[i].ks.k.i) t[i].ks.k.c = t[i].closed;else for (s = t[i].ks.k.length, r = 0; r < s; r += 1) {\n t[i].ks.k[r].s && (t[i].ks.k[r].s[0].c = t[i].closed), t[i].ks.k[r].e && (t[i].ks.k[r].e[0].c = t[i].closed);\n }\n } else \"gr\" == t[i].ty && e(t[i].it);\n }\n }\n\n function i(t) {\n var i,\n r,\n s,\n a,\n n,\n o,\n h = t.length;\n\n for (r = 0; r < h; r += 1) {\n if ((i = t[r]).hasMask) {\n var l = i.masksProperties;\n\n for (a = l.length, s = 0; s < a; s += 1) {\n if (l[s].pt.k.i) l[s].pt.k.c = l[s].cl;else for (o = l[s].pt.k.length, n = 0; n < o; n += 1) {\n l[s].pt.k[n].s && (l[s].pt.k[n].s[0].c = l[s].cl), l[s].pt.k[n].e && (l[s].pt.k[n].e[0].c = l[s].cl);\n }\n }\n }\n\n 4 === i.ty && e(i.shapes);\n }\n }\n\n return function (e) {\n if (s(t, e.v) && (i(e.layers), e.assets)) {\n var r,\n a = e.assets.length;\n\n for (r = 0; r < a; r += 1) {\n e.assets[r].layers && i(e.assets[r].layers);\n }\n }\n };\n }();\n\n function p(t, e) {\n 0 !== t.t.a.length || \"m\" in t.t.p || (t.singleShape = !0);\n }\n\n var m = {\n completeData: function completeData(e, i) {\n e.__complete || (h(e), n(e), o(e), l(e), t(e.layers, e.assets), e.__complete = !0);\n }\n };\n return m.checkColors = h, m.checkChars = o, m.checkShapes = l, m.completeLayers = t, m;\n }\n\n var dataManager = dataFunctionManager(),\n FontManager = function () {\n var t = {\n w: 0,\n size: 0,\n shapes: []\n },\n e = [];\n\n function i(t, e) {\n var i = createTag(\"span\");\n i.style.fontFamily = e;\n var r = createTag(\"span\");\n r.innerHTML = \"giItT1WQy@!-/#\", i.style.position = \"absolute\", i.style.left = \"-10000px\", i.style.top = \"-10000px\", i.style.fontSize = \"300px\", i.style.fontVariant = \"normal\", i.style.fontStyle = \"normal\", i.style.fontWeight = \"normal\", i.style.letterSpacing = \"0\", i.appendChild(r), document.body.appendChild(i);\n var s = r.offsetWidth;\n return r.style.fontFamily = function (t) {\n var e,\n i = t.split(\",\"),\n r = i.length,\n s = [];\n\n for (e = 0; e < r; e += 1) {\n \"sans-serif\" !== i[e] && \"monospace\" !== i[e] && s.push(i[e]);\n }\n\n return s.join(\",\");\n }(t) + \", \" + e, {\n node: r,\n w: s,\n parent: i\n };\n }\n\n function r(t, e) {\n var i = createNS(\"text\");\n return i.style.fontSize = \"100px\", i.setAttribute(\"font-family\", e.fFamily), i.setAttribute(\"font-style\", e.fStyle), i.setAttribute(\"font-weight\", e.fWeight), i.textContent = \"1\", e.fClass ? (i.style.fontFamily = \"inherit\", i.setAttribute(\"class\", e.fClass)) : i.style.fontFamily = e.fFamily, t.appendChild(i), createTag(\"canvas\").getContext(\"2d\").font = e.fWeight + \" \" + e.fStyle + \" 100px \" + e.fFamily, i;\n }\n\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\n var s = function s() {\n this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n return s.getCombinedCharacterCodes = function () {\n return e;\n }, s.prototype = {\n addChars: function addChars(t) {\n if (t) {\n this.chars || (this.chars = []);\n var e,\n i,\n r,\n s = t.length,\n a = this.chars.length;\n\n for (e = 0; e < s; e += 1) {\n for (i = 0, r = !1; i < a;) {\n this.chars[i].style === t[e].style && this.chars[i].fFamily === t[e].fFamily && this.chars[i].ch === t[e].ch && (r = !0), i += 1;\n }\n\n r || (this.chars.push(t[e]), a += 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 s,\n a = t.list,\n n = a.length,\n o = n;\n\n for (s = 0; s < n; s += 1) {\n var h,\n l,\n p = !0;\n\n if (a[s].loaded = !1, a[s].monoCase = i(a[s].fFamily, \"monospace\"), a[s].sansCase = i(a[s].fFamily, \"sans-serif\"), a[s].fPath) {\n if (\"p\" === a[s].fOrigin || 3 === a[s].origin) {\n if ((h = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + a[s].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + a[s].fFamily + '\"]')).length > 0 && (p = !1), p) {\n var m = createTag(\"style\");\n m.setAttribute(\"f-forigin\", a[s].fOrigin), m.setAttribute(\"f-origin\", a[s].origin), m.setAttribute(\"f-family\", a[s].fFamily), m.type = \"text/css\", m.innerHTML = \"@font-face {font-family: \" + a[s].fFamily + \"; font-style: normal; src: url('\" + a[s].fPath + \"');}\", e.appendChild(m);\n }\n } else if (\"g\" === a[s].fOrigin || 1 === a[s].origin) {\n for (h = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'), l = 0; l < h.length; l++) {\n -1 !== h[l].href.indexOf(a[s].fPath) && (p = !1);\n }\n\n if (p) {\n var f = createTag(\"link\");\n f.setAttribute(\"f-forigin\", a[s].fOrigin), f.setAttribute(\"f-origin\", a[s].origin), f.type = \"text/css\", f.rel = \"stylesheet\", f.href = a[s].fPath, document.body.appendChild(f);\n }\n } else if (\"t\" === a[s].fOrigin || 2 === a[s].origin) {\n for (h = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'), l = 0; l < h.length; l++) {\n a[s].fPath === h[l].src && (p = !1);\n }\n\n if (p) {\n var c = createTag(\"link\");\n c.setAttribute(\"f-forigin\", a[s].fOrigin), c.setAttribute(\"f-origin\", a[s].origin), c.setAttribute(\"rel\", \"stylesheet\"), c.setAttribute(\"href\", a[s].fPath), e.appendChild(c);\n }\n }\n } else a[s].loaded = !0, o -= 1;\n\n a[s].helper = r(e, a[s]), a[s].cache = {}, this.fonts.push(a[s]);\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, i, r) {\n for (var s = 0, a = this.chars.length; s < a;) {\n if (this.chars[s].ch === e && this.chars[s].style === i && this.chars[s].fFamily === r) return this.chars[s];\n s += 1;\n }\n\n return (\"string\" == typeof e && 13 !== e.charCodeAt(0) || !e) && console && console.warn, t;\n },\n getFontByName: function getFontByName(t) {\n for (var e = 0, i = this.fonts.length; e < i;) {\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, i) {\n var r = this.getFontByName(e),\n s = t.charCodeAt(0);\n\n if (!r.cache[s + 1]) {\n var a = r.helper;\n\n if (\" \" === t) {\n a.textContent = \"|\" + t + \"|\";\n var n = a.getComputedTextLength();\n a.textContent = \"||\";\n var o = a.getComputedTextLength();\n r.cache[s + 1] = (n - o) / 100;\n } else a.textContent = t, r.cache[s + 1] = a.getComputedTextLength() / 100;\n }\n\n return r.cache[s + 1] * i;\n },\n checkLoadedFonts: function checkLoadedFonts() {\n var t,\n e,\n i,\n r = this.fonts.length,\n s = r;\n\n for (t = 0; t < r; t += 1) {\n this.fonts[t].loaded ? s -= 1 : \"n\" === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? this.fonts[t].loaded = !0 : (e = this.fonts[t].monoCase.node, i = this.fonts[t].monoCase.w, e.offsetWidth !== i ? (s -= 1, this.fonts[t].loaded = !0) : (e = this.fonts[t].sansCase.node, i = this.fonts[t].sansCase.w, e.offsetWidth !== i && (s -= 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 !== s && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10);\n },\n setIsLoaded: function setIsLoaded() {\n this.isLoaded = !0;\n }\n }, s;\n }(),\n PropertyFactory = function () {\n var t = initialDefaultFrame,\n e = Math.abs;\n\n function i(t, e) {\n var i,\n s = this.offsetTime;\n \"multidimensional\" === this.propType && (i = createTypedArray(\"float32\", this.pv.length));\n\n for (var a, n, o, h, l, p, m, f, c = e.lastIndex, d = c, u = this.keyframes.length - 1, y = !0; y;) {\n if (a = this.keyframes[d], n = this.keyframes[d + 1], d === u - 1 && t >= n.t - s) {\n a.h && (a = n), c = 0;\n break;\n }\n\n if (n.t - s > t) {\n c = d;\n break;\n }\n\n d < u - 1 ? d += 1 : (c = 0, y = !1);\n }\n\n var g,\n v = n.t - s,\n b = a.t - s;\n\n if (a.to) {\n a.bezierData || (a.bezierData = bez.buildBezierData(a.s, n.s || a.e, a.to, a.ti));\n var x = a.bezierData;\n\n if (t >= v || t < b) {\n var E = t >= v ? x.points.length - 1 : 0;\n\n for (h = x.points[E].point.length, o = 0; o < h; o += 1) {\n i[o] = x.points[E].point[o];\n }\n } else {\n a.__fnct ? f = a.__fnct : (f = BezierFactory.getBezierEasing(a.o.x, a.o.y, a.i.x, a.i.y, a.n).get, a.__fnct = f), l = f((t - b) / (v - b));\n var S,\n P = x.segmentLength * l,\n C = e.lastFrame < t && e._lastKeyframeIndex === d ? e._lastAddedLength : 0;\n\n for (m = e.lastFrame < t && e._lastKeyframeIndex === d ? e._lastPoint : 0, y = !0, p = x.points.length; y;) {\n if (C += x.points[m].partialLength, 0 === P || 0 === l || m === x.points.length - 1) {\n for (h = x.points[m].point.length, o = 0; o < h; o += 1) {\n i[o] = x.points[m].point[o];\n }\n\n break;\n }\n\n if (P >= C && P < C + x.points[m + 1].partialLength) {\n for (S = (P - C) / x.points[m + 1].partialLength, h = x.points[m].point.length, o = 0; o < h; o += 1) {\n i[o] = x.points[m].point[o] + (x.points[m + 1].point[o] - x.points[m].point[o]) * S;\n }\n\n break;\n }\n\n m < p - 1 ? m += 1 : y = !1;\n }\n\n e._lastPoint = m, e._lastAddedLength = C - x.points[m].partialLength, e._lastKeyframeIndex = d;\n }\n } else {\n var _, A, k, T, D;\n\n if (u = a.s.length, g = n.s || a.e, this.sh && 1 !== a.h) {\n if (t >= v) i[0] = g[0], i[1] = g[1], i[2] = g[2];else if (t <= b) i[0] = a.s[0], i[1] = a.s[1], i[2] = a.s[2];else {\n !function (t, e) {\n var i = e[0],\n r = e[1],\n s = e[2],\n a = e[3],\n n = Math.atan2(2 * r * a - 2 * i * s, 1 - 2 * r * r - 2 * s * s),\n o = Math.asin(2 * i * r + 2 * s * a),\n h = Math.atan2(2 * i * a - 2 * r * s, 1 - 2 * i * i - 2 * s * s);\n t[0] = n / degToRads, t[1] = o / degToRads, t[2] = h / degToRads;\n }(i, function (t, e, i) {\n var r,\n s,\n a,\n n,\n o,\n h = [],\n l = t[0],\n p = t[1],\n m = t[2],\n f = t[3],\n c = e[0],\n d = e[1],\n u = e[2],\n y = e[3];\n (s = l * c + p * d + m * u + f * y) < 0 && (s = -s, c = -c, d = -d, u = -u, y = -y);\n 1 - s > 1e-6 ? (r = Math.acos(s), a = Math.sin(r), n = Math.sin((1 - i) * r) / a, o = Math.sin(i * r) / a) : (n = 1 - i, o = i);\n return h[0] = n * l + o * c, h[1] = n * p + o * d, h[2] = n * m + o * u, h[3] = n * f + o * y, h;\n }(r(a.s), r(g), (t - b) / (v - b)));\n }\n } else for (d = 0; d < u; d += 1) {\n 1 !== a.h && (t >= v ? l = 1 : t < b ? l = 0 : (a.o.x.constructor === Array ? (a.__fnct || (a.__fnct = []), a.__fnct[d] ? f = a.__fnct[d] : (_ = void 0 === a.o.x[d] ? a.o.x[0] : a.o.x[d], A = void 0 === a.o.y[d] ? a.o.y[0] : a.o.y[d], k = void 0 === a.i.x[d] ? a.i.x[0] : a.i.x[d], T = void 0 === a.i.y[d] ? a.i.y[0] : a.i.y[d], f = BezierFactory.getBezierEasing(_, A, k, T).get, a.__fnct[d] = f)) : a.__fnct ? f = a.__fnct : (_ = a.o.x, A = a.o.y, k = a.i.x, T = a.i.y, f = BezierFactory.getBezierEasing(_, A, k, T).get, a.__fnct = f), l = f((t - b) / (v - b)))), g = n.s || a.e, D = 1 === a.h ? a.s[d] : a.s[d] + (g[d] - a.s[d]) * l, \"multidimensional\" === this.propType ? i[d] = D : i = D;\n }\n }\n\n return e.lastIndex = c, i;\n }\n\n function r(t) {\n var e = t[0] * degToRads,\n i = t[1] * degToRads,\n r = t[2] * degToRads,\n s = Math.cos(e / 2),\n a = Math.cos(i / 2),\n n = Math.cos(r / 2),\n o = Math.sin(e / 2),\n h = Math.sin(i / 2),\n l = Math.sin(r / 2);\n return [o * h * n + s * a * l, o * a * n + s * h * l, s * h * n - o * a * l, s * a * n - o * h * l];\n }\n\n function s() {\n var e = this.comp.renderedFrame - this.offsetTime,\n i = this.keyframes[0].t - this.offsetTime,\n r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(e === this._caching.lastFrame || this._caching.lastFrame !== t && (this._caching.lastFrame >= r && e >= r || this._caching.lastFrame < i && e < i))) {\n this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);\n var s = this.interpolateValue(e, this._caching);\n this.pv = s;\n }\n\n return this._caching.lastFrame = e, this.pv;\n }\n\n function a(t) {\n var i;\n if (\"unidimensional\" === this.propType) i = t * this.mult, e(this.v - i) > 1e-5 && (this.v = i, this._mdf = !0);else for (var r = 0, s = this.v.length; r < s;) {\n i = t[r] * this.mult, e(this.v[r] - i) > 1e-5 && (this.v[r] = i, this._mdf = !0), r += 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 this.lock = !0, this._mdf = this._isFirstFrame;\n var t,\n e = this.effectsSequence.length,\n i = this.kf ? this.pv : this.data.k;\n\n for (t = 0; t < e; t += 1) {\n i = this.effectsSequence[t](i);\n }\n\n this.setVValue(i), 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, i, r) {\n this.propType = \"unidimensional\", this.mult = i || 1, this.data = e, this.v = i ? e.k * i : e.k, this.pv = e.k, this._mdf = !1, this.elem = t, this.container = r, this.comp = t.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = n, this.setVValue = a, this.addEffect = o;\n }\n\n function l(t, e, i, r) {\n this.propType = \"multidimensional\", this.mult = i || 1, this.data = e, this._mdf = !1, this.elem = t, this.container = r, this.comp = t.comp, this.k = !1, this.kf = !1, this.frameId = -1;\n var s,\n h = e.k.length;\n this.v = createTypedArray(\"float32\", h), this.pv = createTypedArray(\"float32\", h);\n createTypedArray(\"float32\", h);\n\n for (this.vel = createTypedArray(\"float32\", h), s = 0; s < h; s += 1) {\n this.v[s] = e.k[s] * this.mult, this.pv[s] = e.k[s];\n }\n\n this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = n, this.setVValue = a, this.addEffect = o;\n }\n\n function p(e, r, h, l) {\n this.propType = \"unidimensional\", this.keyframes = r.k, 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 = r, 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 = a, this.interpolateValue = i, this.effectsSequence = [s.bind(this)], this.addEffect = o;\n }\n\n function m(e, r, h, l) {\n this.propType = \"multidimensional\";\n var p,\n m,\n f,\n c,\n d,\n u = r.k.length;\n\n for (p = 0; p < u - 1; p += 1) {\n r.k[p].to && r.k[p].s && r.k[p + 1] && r.k[p + 1].s && (m = r.k[p].s, f = r.k[p + 1].s, c = r.k[p].to, d = r.k[p].ti, (2 === m.length && (m[0] !== f[0] || m[1] !== f[1]) && bez.pointOnLine2D(m[0], m[1], f[0], f[1], m[0] + c[0], m[1] + c[1]) && bez.pointOnLine2D(m[0], m[1], f[0], f[1], f[0] + d[0], f[1] + d[1]) || 3 === m.length && (m[0] !== f[0] || m[1] !== f[1] || m[2] !== f[2]) && bez.pointOnLine3D(m[0], m[1], m[2], f[0], f[1], f[2], m[0] + c[0], m[1] + c[1], m[2] + c[2]) && bez.pointOnLine3D(m[0], m[1], m[2], f[0], f[1], f[2], f[0] + d[0], f[1] + d[1], f[2] + d[2])) && (r.k[p].to = null, r.k[p].ti = null), m[0] === f[0] && m[1] === f[1] && 0 === c[0] && 0 === c[1] && 0 === d[0] && 0 === d[1] && (2 === m.length || m[2] === f[2] && 0 === c[2] && 0 === d[2]) && (r.k[p].to = null, r.k[p].ti = null));\n }\n\n this.effectsSequence = [s.bind(this)], this.keyframes = r.k, 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 = a, this.interpolateValue = i, this.frameId = -1;\n var y = r.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 return {\n getProp: function getProp(t, e, i, r, s) {\n var a;\n if (e.k.length) {\n if (\"number\" == typeof e.k[0]) a = new l(t, e, r, s);else switch (i) {\n case 0:\n a = new p(t, e, r, s);\n break;\n\n case 1:\n a = new m(t, e, r, s);\n }\n } else a = new h(t, e, r, s);\n return a.effectsSequence.length && s.addDynamicProperty(a), a;\n }\n };\n }(),\n TransformPropertyFactory = function () {\n var t = [0, 0];\n\n function e(t, e, i) {\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(i || 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 r,\n s = e.or.k.length;\n\n for (r = 0; r < s; r += 1) {\n e.or.k[r].to = e.or.k[r].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 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,\n r,\n s = this.elem.globalData.frameRate;\n if (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) / s, 0), r = this.p.getValueAtTime(this.p.keyframes[0].t / s, 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 / s, 0), r = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / s, 0)) : (i = this.p.pv, r = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / s, this.p.offsetTime));else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n i = [], r = [];\n var a = this.px,\n n = this.py;\n a._caching.lastFrame + a.offsetTime <= a.keyframes[0].t ? (i[0] = a.getValueAtTime((a.keyframes[0].t + .01) / s, 0), i[1] = n.getValueAtTime((n.keyframes[0].t + .01) / s, 0), r[0] = a.getValueAtTime(a.keyframes[0].t / s, 0), r[1] = n.getValueAtTime(n.keyframes[0].t / s, 0)) : a._caching.lastFrame + a.offsetTime >= a.keyframes[a.keyframes.length - 1].t ? (i[0] = a.getValueAtTime(a.keyframes[a.keyframes.length - 1].t / s, 0), i[1] = n.getValueAtTime(n.keyframes[n.keyframes.length - 1].t / s, 0), r[0] = a.getValueAtTime((a.keyframes[a.keyframes.length - 1].t - .01) / s, 0), r[1] = n.getValueAtTime((n.keyframes[n.keyframes.length - 1].t - .01) / s, 0)) : (i = [a.pv, n.pv], r[0] = a.getValueAtTime((a._caching.lastFrame + a.offsetTime - .01) / s, a.offsetTime), r[1] = n.getValueAtTime((n._caching.lastFrame + n.offsetTime - .01) / s, n.offsetTime));\n } else i = r = t;\n this.v.rotate(-Math.atan2(i[1] - r[1], i[0] - r[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 if (this.r) {\n if (this.r.effectsSequence.length) return;\n this.pre.rotate(-this.r.v), this.appliedTransformations = 4;\n } else 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, i, r) {\n return new e(t, i, r);\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 i = 0; i < e;) {\n this.v[i] = point_pool.newElement(), this.o[i] = point_pool.newElement(), this.i[i] = point_pool.newElement(), i += 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, i, r, s) {\n var a;\n\n switch (this._length = Math.max(this._length, r + 1), this._length >= this._maxLength && this.doubleArrayLength(), i) {\n case \"v\":\n a = this.v;\n break;\n\n case \"i\":\n a = this.i;\n break;\n\n case \"o\":\n a = this.o;\n }\n\n (!a[r] || a[r] && !s) && (a[r] = point_pool.newElement()), a[r][0] = t, a[r][1] = e;\n }, ShapePath.prototype.setTripleAt = function (t, e, i, r, s, a, n, o) {\n this.setXYAt(t, e, \"v\", n, o), this.setXYAt(i, r, \"o\", n, o), this.setXYAt(s, a, \"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 i = this.o,\n r = this.i,\n s = 0;\n this.c && (t.setTripleAt(e[0][0], e[0][1], r[0][0], r[0][1], i[0][0], i[0][1], 0, !1), s = 1);\n var a,\n n = this._length - 1,\n o = this._length;\n\n for (a = s; a < o; a += 1) {\n t.setTripleAt(e[n][0], e[n][1], r[n][0], r[n][1], i[n][0], i[n][1], a, !1), n -= 1;\n }\n\n return t;\n };\n\n var ShapePropertyFactory = function () {\n function t(t, e, i) {\n var r,\n s,\n a,\n n,\n o,\n h,\n l,\n p,\n m,\n f = i.lastIndex,\n c = this.keyframes;\n if (t < c[0].t - this.offsetTime) r = c[0].s[0], a = !0, f = 0;else if (t >= c[c.length - 1].t - this.offsetTime) r = c[c.length - 1].s ? c[c.length - 1].s[0] : c[c.length - 2].e[0], a = !0;else {\n for (var d, u, y = f, g = c.length - 1, v = !0; v && (d = c[y], !((u = c[y + 1]).t - this.offsetTime > t));) {\n y < g - 1 ? y += 1 : v = !1;\n }\n\n if (f = y, !(a = 1 === d.h)) {\n if (t >= u.t - this.offsetTime) p = 1;else if (t < d.t - this.offsetTime) p = 0;else {\n var b;\n d.__fnct ? b = d.__fnct : (b = BezierFactory.getBezierEasing(d.o.x, d.o.y, d.i.x, d.i.y).get, d.__fnct = b), p = b((t - (d.t - this.offsetTime)) / (u.t - this.offsetTime - (d.t - this.offsetTime)));\n }\n s = u.s ? u.s[0] : d.e[0];\n }\n\n r = d.s[0];\n }\n\n for (h = e._length, l = r.i[0].length, i.lastIndex = f, n = 0; n < h; n += 1) {\n for (o = 0; o < l; o += 1) {\n m = a ? r.i[n][o] : r.i[n][o] + (s.i[n][o] - r.i[n][o]) * p, e.i[n][o] = m, m = a ? r.o[n][o] : r.o[n][o] + (s.o[n][o] - r.o[n][o]) * p, e.o[n][o] = m, m = a ? r.v[n][o] : r.v[n][o] + (s.v[n][o] - r.v[n][o]) * p, e.v[n][o] = m;\n }\n }\n }\n\n function e() {\n var t = this.comp.renderedFrame - this.offsetTime,\n e = this.keyframes[0].t - this.offsetTime,\n i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime,\n r = this._caching.lastFrame;\n return -999999 !== r && (r < e && t < e || r > i && t > i) || (this._caching.lastIndex = r < t ? this._caching.lastIndex : 0, this.interpolateShape(t, this.pv, this._caching)), this._caching.lastFrame = t, this.pv;\n }\n\n function i() {\n this.paths = this.localShapeCollection;\n }\n\n function r(t) {\n (function (t, e) {\n if (t._length !== e._length || t.c !== e.c) return !1;\n var i,\n r = t._length;\n\n for (i = 0; i < r; i += 1) {\n if (t.v[i][0] !== e.v[i][0] || t.v[i][1] !== e.v[i][1] || t.o[i][0] !== e.o[i][0] || t.o[i][1] !== e.o[i][1] || t.i[i][0] !== e.i[i][0] || t.i[i][1] !== e.i[i][1]) return !1;\n }\n\n return !0;\n })(this.v, t) || (this.v = shape_pool.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 this.lock = !0, this._mdf = !1;\n var t,\n e = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k,\n i = this.effectsSequence.length;\n\n for (t = 0; t < i; t += 1) {\n e = this.effectsSequence[t](e);\n }\n\n this.setVValue(e), this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n } else this._mdf = !1;\n }\n\n function a(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 s = 3 === r ? e.pt.k : e.ks.k;\n this.v = shape_pool.clone(s), this.pv = shape_pool.clone(this.v), this.localShapeCollection = shapeCollection_pool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = i, this.effectsSequence = [];\n }\n\n function n(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function o(t, r, s) {\n this.propType = \"shape\", this.comp = t.comp, this.elem = t, this.container = t, this.offsetTime = t.data.st, this.keyframes = 3 === s ? r.pt.k : r.ks.k, this.k = !0, this.kf = !0;\n var a = this.keyframes[0].s[0].i.length;\n this.keyframes[0].s[0].i[0].length;\n this.v = shape_pool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, a), this.pv = shape_pool.clone(this.v), this.localShapeCollection = shapeCollection_pool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = -999999, this.reset = i, this._caching = {\n lastFrame: -999999,\n lastIndex: 0\n }, this.effectsSequence = [e.bind(this)];\n }\n\n a.prototype.interpolateShape = t, a.prototype.getValue = s, a.prototype.setVValue = r, a.prototype.addEffect = n, o.prototype.getValue = s, o.prototype.interpolateShape = t, o.prototype.setVValue = r, o.prototype.addEffect = n;\n\n var h = function () {\n var t = roundCorner;\n\n function e(t, e) {\n this.v = shape_pool.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = shapeCollection_pool.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 i = this.p.v[1],\n r = this.s.v[0] / 2,\n s = this.s.v[1] / 2,\n a = 3 !== this.d,\n n = this.v;\n n.v[0][0] = e, n.v[0][1] = i - s, n.v[1][0] = a ? e + r : e - r, n.v[1][1] = i, n.v[2][0] = e, n.v[2][1] = i + s, n.v[3][0] = a ? e - r : e + r, n.v[3][1] = i, n.i[0][0] = a ? e - r * t : e + r * t, n.i[0][1] = i - s, n.i[1][0] = a ? e + r : e - r, n.i[1][1] = i - s * t, n.i[2][0] = a ? e + r * t : e - r * t, n.i[2][1] = i + s, n.i[3][0] = a ? e - r : e + r, n.i[3][1] = i + s * t, n.o[0][0] = a ? e + r * t : e - r * t, n.o[0][1] = i - s, n.o[1][0] = a ? e + r : e - r, n.o[1][1] = i + s * t, n.o[2][0] = a ? e - r * t : e + r * t, n.o[2][1] = i + s, n.o[3][0] = a ? e - r : e + r, n.o[3][1] = i - s * t;\n }\n }, extendPrototype([DynamicPropertyContainer], e), e;\n }(),\n l = function () {\n function t(t, e) {\n this.v = shape_pool.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 = shapeCollection_pool.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 i,\n r,\n s = 2 * Math.floor(this.pt.v),\n a = 2 * Math.PI / s,\n n = !0,\n o = this.or.v,\n h = this.ir.v,\n l = this.os.v,\n p = this.is.v,\n m = 2 * Math.PI * o / (2 * s),\n f = 2 * Math.PI * h / (2 * s),\n c = -Math.PI / 2;\n c += this.r.v;\n var d = 3 === this.data.d ? -1 : 1;\n\n for (this.v._length = 0, t = 0; t < s; t += 1) {\n i = n ? l : p, r = n ? m : f;\n var u = (e = n ? o : h) * Math.cos(c),\n y = e * Math.sin(c),\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 * r * i * d, y - v * r * i * d, u + g * r * i * d, y + v * r * i * d, t, !0), n = !n, c += a * d;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var t,\n e = Math.floor(this.pt.v),\n i = 2 * Math.PI / e,\n r = this.or.v,\n s = this.os.v,\n a = 2 * Math.PI * r / (4 * e),\n n = -Math.PI / 2,\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 = r * Math.cos(n),\n l = r * Math.sin(n),\n p = 0 === h && 0 === l ? 0 : l / Math.sqrt(h * h + l * l),\n m = 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 * a * s * o, l - m * a * s * o, h + p * a * s * o, l + m * a * s * o, t, !0), n += i * o;\n }\n\n this.paths.length = 0, this.paths[0] = this.v;\n }\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }(),\n p = function () {\n function t(t, e) {\n this.v = shape_pool.newElement(), this.v.c = !0, this.localShapeCollection = shapeCollection_pool.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 i = this.s.v[0] / 2,\n r = this.s.v[1] / 2,\n s = bm_min(i, r, this.r.v),\n a = s * (1 - roundCorner);\n this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t + i, e - r + s, t + i, e - r + s, t + i, e - r + a, 0, !0), this.v.setTripleAt(t + i, e + r - s, t + i, e + r - a, t + i, e + r - s, 1, !0), 0 !== s ? (this.v.setTripleAt(t + i - s, e + r, t + i - s, e + r, t + i - a, e + r, 2, !0), this.v.setTripleAt(t - i + s, e + r, t - i + a, e + r, t - i + s, e + r, 3, !0), this.v.setTripleAt(t - i, e + r - s, t - i, e + r - s, t - i, e + r - a, 4, !0), this.v.setTripleAt(t - i, e - r + s, t - i, e - r + a, t - i, e - r + s, 5, !0), this.v.setTripleAt(t - i + s, e - r, t - i + s, e - r, t - i + a, e - r, 6, !0), this.v.setTripleAt(t + i - s, e - r, t + i - a, e - r, t + i - s, e - r, 7, !0)) : (this.v.setTripleAt(t - i, e + r, t - i + a, e + r, t - i, e + r, 2), this.v.setTripleAt(t - i, e - r, t - i, e - r + a, t - i, e - r, 3))) : (this.v.setTripleAt(t + i, e - r + s, t + i, e - r + a, t + i, e - r + s, 0, !0), 0 !== s ? (this.v.setTripleAt(t + i - s, e - r, t + i - s, e - r, t + i - a, e - r, 1, !0), this.v.setTripleAt(t - i + s, e - r, t - i + a, e - r, t - i + s, e - r, 2, !0), this.v.setTripleAt(t - i, e - r + s, t - i, e - r + s, t - i, e - r + a, 3, !0), this.v.setTripleAt(t - i, e + r - s, t - i, e + r - a, t - i, e + r - s, 4, !0), this.v.setTripleAt(t - i + s, e + r, t - i + s, e + r, t - i + a, e + r, 5, !0), this.v.setTripleAt(t + i - s, e + r, t + i - a, e + r, t + i - s, e + r, 6, !0), this.v.setTripleAt(t + i, e + r - s, t + i, e + r - s, t + i, e + r - a, 7, !0)) : (this.v.setTripleAt(t - i, e - r, t - i + a, e - r, t - i, e - r, 1, !0), this.v.setTripleAt(t - i, e + r, t - i, e + r - a, t - i, e + r, 2, !0), this.v.setTripleAt(t + i, e + r, t + i - a, e + r, t + i, e + r, 3, !0)));\n },\n getValue: function getValue(t) {\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\n var m = {\n getShapeProp: function getShapeProp(t, e, i) {\n var r;\n return 3 === i || 4 === i ? r = (3 === i ? e.pt : e.ks).k.length ? new o(t, e, i) : new a(t, e, i) : 5 === i ? r = new p(t, e) : 6 === i ? r = new h(t, e) : 7 === i && (r = new l(t, e)), r.k && t.addDynamicProperty(r), r;\n },\n getConstructorFunction: function getConstructorFunction() {\n return a;\n },\n getKeyframedConstructorFunction: function getKeyframedConstructorFunction() {\n return o;\n }\n };\n return m;\n }(),\n ShapeModifiers = function () {\n var t = {},\n e = {};\n return t.registerModifier = function (t, i) {\n e[t] || (e[t] = i);\n }, t.getModifier = function (t, i, r) {\n return new e[t](i, r);\n }, t;\n }();\n\n function ShapeModifier() {}\n\n function TrimModifier() {}\n\n function RoundCornersModifier() {}\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, i, r) {\n this.elem = t, this.frameId = -1, this.dataProps = createSizedArray(e.length), this.renderer = i, this.k = !1, this.dashStr = \"\", this.dashArray = createTypedArray(\"float32\", e.length ? e.length - 1 : 0), this.dashoffset = createTypedArray(\"float32\", 1), this.initDynamicPropertyContainer(r);\n var s,\n a,\n n = e.length || 0;\n\n for (s = 0; s < n; s += 1) {\n a = PropertyFactory.getProp(t, e[s].v, 0, 0, this), this.k = a.k || this.k, this.dataProps[s] = {\n n: e[s].n,\n p: a\n };\n }\n\n this.k || this.getValue(!0), this._isAnimated = this.k;\n }\n\n function GradientProperty(t, e, i) {\n this.data = e, this.c = createTypedArray(\"uint8c\", 4 * e.p);\n var r = 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\", r), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = r, this.initDynamicPropertyContainer(i), 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: shapeCollection_pool.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, i, r, s) {\n var a = [];\n e <= 1 ? a.push({\n s: t,\n e: e\n }) : t >= 1 ? a.push({\n s: t - 1,\n e: e - 1\n }) : (a.push({\n s: t,\n e: 1\n }), a.push({\n s: 0,\n e: e - 1\n }));\n var n,\n o,\n h = [],\n l = a.length;\n\n for (n = 0; n < l; n += 1) {\n var p, m;\n if ((o = a[n]).e * s < r || o.s * s > r + i) ;else p = o.s * s <= r ? 0 : (o.s * s - r) / i, m = o.e * s >= r + i ? 1 : (o.e * s - r) / i, h.push([p, m]);\n }\n\n return h.length || h.push([0, 0]), h;\n }, TrimModifier.prototype.releasePathsData = function (t) {\n var e,\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n segments_length_pool.release(t[e]);\n }\n\n return t.length = 0, t;\n }, TrimModifier.prototype.processShapes = function (t) {\n var e, i, r;\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 : this.s.v < 0 ? 0 : this.s.v) + s) > (i = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + s)) {\n var a = e;\n e = i, i = a;\n }\n\n e = 1e-4 * Math.round(1e4 * e), i = 1e-4 * Math.round(1e4 * i), this.sValue = e, this.eValue = i;\n } else e = this.sValue, i = this.eValue;\n\n var n,\n o,\n h,\n l,\n p,\n m,\n f = this.shapes.length,\n c = 0;\n if (i === e) for (n = 0; n < f; n += 1) {\n this.shapes[n].localShapeCollection.releaseShapes(), this.shapes[n].shape._mdf = !0, this.shapes[n].shape.paths = this.shapes[n].localShapeCollection;\n } else if (1 === i && 0 === e || 0 === i && 1 === e) {\n if (this._mdf) for (n = 0; n < f; n += 1) {\n this.shapes[n].pathsData.length = 0, this.shapes[n].shape._mdf = !0;\n }\n } else {\n var d,\n u,\n y = [];\n\n for (n = 0; n < f; n += 1) {\n if ((d = this.shapes[n]).shape._mdf || this._mdf || t || 2 === this.m) {\n if (h = (r = d.shape.paths)._length, m = 0, !d.shape._mdf && d.pathsData.length) m = d.totalShapeLength;else {\n for (l = this.releasePathsData(d.pathsData), o = 0; o < h; o += 1) {\n p = bez.getSegmentsLength(r.shapes[o]), l.push(p), m += p.totalLength;\n }\n\n d.totalShapeLength = m, d.pathsData = l;\n }\n c += m, d.shape._mdf = !0;\n } else d.shape.paths = d.localShapeCollection;\n }\n\n var g,\n v = e,\n b = i,\n x = 0;\n\n for (n = f - 1; n >= 0; n -= 1) {\n if ((d = this.shapes[n]).shape._mdf) {\n for ((u = d.localShapeCollection).releaseShapes(), 2 === this.m && f > 1 ? (g = this.calculateShapeEdges(e, i, d.totalShapeLength, x, c), x += d.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: d.totalShapeLength * v,\n e: d.totalShapeLength * b\n }) : v >= 1 ? y.push({\n s: d.totalShapeLength * (v - 1),\n e: d.totalShapeLength * (b - 1)\n }) : (y.push({\n s: d.totalShapeLength * v,\n e: d.totalShapeLength\n }), y.push({\n s: 0,\n e: d.totalShapeLength * (b - 1)\n }));\n var E = this.addShapes(d, y[0]);\n\n if (y[0].s !== y[0].e) {\n if (y.length > 1) if (d.shape.paths.shapes[d.shape.paths._length - 1].c) {\n var S = E.pop();\n this.addPaths(E, u), E = this.addShapes(d, y[1], S);\n } else this.addPaths(E, u), E = this.addShapes(d, y[1]);\n this.addPaths(E, u);\n }\n }\n\n d.shape.paths = u;\n }\n }\n }\n }, TrimModifier.prototype.addPaths = function (t, e) {\n var i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n e.addShape(t[i]);\n }\n }, TrimModifier.prototype.addSegment = function (t, e, i, r, s, a, n) {\n s.setXYAt(e[0], e[1], \"o\", a), s.setXYAt(i[0], i[1], \"i\", a + 1), n && s.setXYAt(t[0], t[1], \"v\", a), s.setXYAt(r[0], r[1], \"v\", a + 1);\n }, TrimModifier.prototype.addSegmentFromArray = function (t, e, i, r) {\n e.setXYAt(t[1], t[5], \"o\", i), e.setXYAt(t[2], t[6], \"i\", i + 1), r && e.setXYAt(t[0], t[4], \"v\", i), e.setXYAt(t[3], t[7], \"v\", i + 1);\n }, TrimModifier.prototype.addShapes = function (t, e, i) {\n var r,\n s,\n a,\n n,\n o,\n h,\n l,\n p,\n m = t.pathsData,\n f = t.shape.paths.shapes,\n c = t.shape.paths._length,\n d = 0,\n u = [],\n y = !0;\n\n for (i ? (o = i._length, p = i._length) : (i = shape_pool.newElement(), o = 0, p = 0), u.push(i), r = 0; r < c; r += 1) {\n for (h = m[r].lengths, i.c = f[r].c, a = f[r].c ? h.length : h.length + 1, s = 1; s < a; s += 1) {\n if (d + (n = h[s - 1]).addedLength < e.s) d += n.addedLength, i.c = !1;else {\n if (d > e.e) {\n i.c = !1;\n break;\n }\n\n e.s <= d && e.e >= d + n.addedLength ? (this.addSegment(f[r].v[s - 1], f[r].o[s - 1], f[r].i[s], f[r].v[s], i, o, y), y = !1) : (l = bez.getNewSegment(f[r].v[s - 1], f[r].v[s], f[r].o[s - 1], f[r].i[s], (e.s - d) / n.addedLength, (e.e - d) / n.addedLength, h[s - 1]), this.addSegmentFromArray(l, i, o, y), y = !1, i.c = !1), d += n.addedLength, o += 1;\n }\n }\n\n if (f[r].c && h.length) {\n if (n = h[s - 1], d <= e.e) {\n var g = h[s - 1].addedLength;\n e.s <= d && e.e >= d + g ? (this.addSegment(f[r].v[s - 1], f[r].o[s - 1], f[r].i[0], f[r].v[0], i, o, y), y = !1) : (l = bez.getNewSegment(f[r].v[s - 1], f[r].v[0], f[r].o[s - 1], f[r].i[0], (e.s - d) / g, (e.e - d) / g, h[s - 1]), this.addSegmentFromArray(l, i, o, y), y = !1, i.c = !1);\n } else i.c = !1;\n\n d += n.addedLength, o += 1;\n }\n\n if (i._length && (i.setXYAt(i.v[p][0], i.v[p][1], \"i\", p), i.setXYAt(i.v[i._length - 1][0], i.v[i._length - 1][1], \"o\", i._length - 1)), d > e.e) break;\n r < c - 1 && (i = shape_pool.newElement(), y = !0, u.push(i), 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 i = shape_pool.newElement();\n i.c = t.c;\n var r,\n s,\n a,\n n,\n o,\n h,\n l,\n p,\n m,\n f,\n c,\n d,\n u,\n y = t._length,\n g = 0;\n\n for (r = 0; r < y; r += 1) {\n s = t.v[r], n = t.o[r], a = t.i[r], s[0] === n[0] && s[1] === n[1] && s[0] === a[0] && s[1] === a[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(s[0] - o[0], 2) + Math.pow(s[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = d = s[0] + (o[0] - s[0]) * l, m = u = s[1] - (s[1] - o[1]) * l, f = p - (p - s[0]) * roundCorner, c = m - (m - s[1]) * roundCorner, i.setTripleAt(p, m, f, c, d, u, g), g += 1, o = r === y - 1 ? t.v[0] : t.v[r + 1], l = (h = Math.sqrt(Math.pow(s[0] - o[0], 2) + Math.pow(s[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = f = s[0] + (o[0] - s[0]) * l, m = c = s[1] + (o[1] - s[1]) * l, d = p - (p - s[0]) * roundCorner, u = m - (m - s[1]) * roundCorner, i.setTripleAt(p, m, f, c, d, u, g), g += 1) : (i.setTripleAt(s[0], s[1], n[0], n[1], a[0], a[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 i,\n r,\n s,\n a,\n n,\n o = this.shapes.length,\n h = this.rd.v;\n if (0 !== h) for (i = 0; i < o; i += 1) {\n if ((a = this.shapes[i]).shape.paths, n = a.localShapeCollection, a.shape._mdf || this._mdf || t) for (n.releaseShapes(), a.shape._mdf = !0, e = a.shape.paths.shapes, s = a.shape.paths._length, r = 0; r < s; r += 1) {\n n.addShape(this.processPath(e[r], h));\n }\n a.shape.paths = a.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }, ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier), 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, i, r, s, a) {\n var n = a ? -1 : 1,\n o = r.s.v[0] + (1 - r.s.v[0]) * (1 - s),\n h = r.s.v[1] + (1 - r.s.v[1]) * (1 - s);\n t.translate(r.p.v[0] * n * s, r.p.v[1] * n * s, r.p.v[2]), e.translate(-r.a.v[0], -r.a.v[1], r.a.v[2]), e.rotate(-r.r.v * n * s), e.translate(r.a.v[0], r.a.v[1], r.a.v[2]), i.translate(-r.a.v[0], -r.a.v[1], r.a.v[2]), i.scale(a ? 1 / o : o, a ? 1 / h : h), i.translate(r.a.v[0], r.a.v[1], r.a.v[2]);\n }, RepeaterModifier.prototype.init = function (t, e, i, r) {\n for (this.elem = t, this.arr = e, this.pos = i, this.elemsData = r, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[i]); i > 0;) {\n i -= 1, this._elements.unshift(e[i]);\n }\n\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, RepeaterModifier.prototype.resetElements = function (t) {\n var e,\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n t[e]._processed = !1, \"gr\" === t[e].ty && this.resetElements(t[e].it);\n }\n }, RepeaterModifier.prototype.cloneElements = function (t) {\n t.length;\n var e = JSON.parse(JSON.stringify(t));\n return this.resetElements(e), e;\n }, RepeaterModifier.prototype.changeGroupRender = function (t, e) {\n var i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n t[i]._render = e, \"gr\" === t[i].ty && this.changeGroupRender(t[i].it, e);\n }\n }, RepeaterModifier.prototype.processShapes = function (t) {\n var e, i, r, s, a;\n\n if (this._mdf || t) {\n var n,\n o = Math.ceil(this.c.v);\n\n if (this._groups.length < o) {\n for (; this._groups.length < o;) {\n var h = {\n it: this.cloneElements(this._elements),\n ty: \"gr\"\n };\n h.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, h), this._groups.splice(0, 0, h), this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n }\n\n for (a = 0, r = 0; r <= this._groups.length - 1; r += 1) {\n n = a < o, this._groups[r]._render = n, this.changeGroupRender(this._groups[r].it, n), a += 1;\n }\n\n this._currentCopies = o;\n var l = this.o.v,\n p = l % 1,\n m = l > 0 ? Math.floor(l) : Math.ceil(l),\n f = (this.tr.v.props, this.pMatrix.props),\n c = this.rMatrix.props,\n d = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n var u,\n y,\n g = 0;\n\n if (l > 0) {\n for (; g < m;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), g += 1;\n }\n\n p && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, p, !1), g += p);\n } else if (l < 0) {\n for (; g > m;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), g -= 1;\n }\n\n p && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -p, !0), g -= p);\n }\n\n for (r = 1 === this.data.m ? 0 : this._currentCopies - 1, s = 1 === this.data.m ? 1 : -1, a = this._currentCopies; a;) {\n if (y = (i = (e = this.elemsData[r].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 = this.so.v + (this.eo.v - this.so.v) * (r / (this._currentCopies - 1)), 0 !== g) {\n for ((0 !== r && 1 === s || r !== this._currentCopies - 1 && -1 === s) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], c[8], c[9], c[10], c[11], c[12], c[13], c[14], c[15]), this.matrix.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]), this.matrix.transform(f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7], f[8], f[9], f[10], f[11], f[12], f[13], f[14], f[15]), u = 0; u < y; u += 1) {\n i[u] = this.matrix.props[u];\n }\n\n this.matrix.reset();\n } else for (this.matrix.reset(), u = 0; u < y; u += 1) {\n i[u] = this.matrix.props[u];\n }\n\n g += 1, a -= 1, r += s;\n }\n } else for (a = this._currentCopies, r = 0, s = 1; a;) {\n i = (e = this.elemsData[r].it)[e.length - 1].transform.mProps.v.props, e[e.length - 1].transform.mProps._mdf = !1, e[e.length - 1].transform.op._mdf = !1, a -= 1, r += s;\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 shape_pool.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 i = this.dataProps.length;\n\n for (\"svg\" === this.renderer && (this.dashStr = \"\"), e = 0; e < i; 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 i = 0, r = this.o.length / 2; i < r;) {\n if (Math.abs(t[4 * i] - t[4 * e + 2 * i]) > .01) return !1;\n i += 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 i,\n r,\n s = 4 * this.data.p;\n\n for (e = 0; e < s; e += 1) {\n i = e % 4 == 0 ? 100 : 255, r = Math.round(this.prop.v[e] * i), this.c[e] !== r && (this.c[e] = r, this._cmdf = !t);\n }\n\n if (this.o.length) for (s = this.prop.v.length, e = 4 * this.data.p; e < s; e += 1) {\n i = e % 2 == 0 ? 100 : 1, r = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e], this.o[e - 4 * this.data.p] !== r && (this.o[e - 4 * this.data.p] = r, this._omdf = !t);\n }\n this._mdf = !t;\n }\n }, extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n var buildShapeString = function buildShapeString(t, e, i, r) {\n if (0 === e) return \"\";\n var s,\n a = t.o,\n n = t.i,\n o = t.v,\n h = \" M\" + r.applyToPointStringified(o[0][0], o[0][1]);\n\n for (s = 1; s < e; s += 1) {\n h += \" C\" + r.applyToPointStringified(a[s - 1][0], a[s - 1][1]) + \" \" + r.applyToPointStringified(n[s][0], n[s][1]) + \" \" + r.applyToPointStringified(o[s][0], o[s][1]);\n }\n\n return i && e && (h += \" C\" + r.applyToPointStringified(a[s - 1][0], a[s - 1][1]) + \" \" + r.applyToPointStringified(n[0][0], n[0][1]) + \" \" + r.applyToPointStringified(o[0][0], o[0][1]), h += \"z\"), h;\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.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function i(t, e, i) {\n var r = \"\";\n if (t.e) r = t.p;else if (e) {\n var s = t.p;\n -1 !== s.indexOf(\"images/\") && (s = s.split(\"/\")[1]), r = e + s;\n } else r = i, r += t.u ? t.u : \"\", r += t.p;\n return r;\n }\n\n function r(t) {\n this._imageLoaded = e.bind(this), this.assetsPath = \"\", this.path = \"\", this.totalImages = 0, this.loadedAssets = 0, this.imagesLoadedCb = null, this.images = [];\n }\n\n return r.prototype = {\n loadAssets: function loadAssets(t, e) {\n this.imagesLoadedCb = e;\n var i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n t[i].layers || (this.totalImages += 1, this.images.push(this._createImageData(t[i])));\n }\n },\n setAssetsPath: function setAssetsPath(t) {\n this.assetsPath = t || \"\";\n },\n setPath: function setPath(t) {\n this.path = t || \"\";\n },\n loaded: function loaded() {\n return this.totalImages === this.loadedAssets;\n },\n destroy: function destroy() {\n this.imagesLoadedCb = null, this.images.length = 0;\n },\n getImage: function getImage(t) {\n for (var e = 0, i = this.images.length; e < i;) {\n if (this.images[e].assetData === t) return this.images[e].img;\n e += 1;\n }\n },\n createImgData: function createImgData(e) {\n var r = i(e, this.assetsPath, this.path),\n s = createTag(\"img\");\n s.crossOrigin = \"anonymous\", s.addEventListener(\"load\", this._imageLoaded, !1), s.addEventListener(\"error\", function () {\n a.img = t, this._imageLoaded();\n }.bind(this), !1), s.src = r;\n var a = {\n img: s,\n assetData: e\n };\n return a;\n },\n createImageData: function createImageData(e) {\n var r = i(e, this.assetsPath, this.path),\n s = createNS(\"image\");\n s.addEventListener(\"load\", this._imageLoaded, !1), s.addEventListener(\"error\", function () {\n a.img = t, this._imageLoaded();\n }.bind(this), !1), s.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r);\n var a = {\n img: s,\n assetData: e\n };\n return a;\n },\n imageLoaded: e,\n setCacheType: function setCacheType(t) {\n this._createImageData = \"svg\" === t ? this.createImageData.bind(this) : this.createImgData.bind(this);\n }\n }, r;\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 return t.createFilter = function (t) {\n var e = createNS(\"filter\");\n return e.setAttribute(\"id\", t), e.setAttribute(\"filterUnits\", \"objectBoundingBox\"), e.setAttribute(\"x\", \"0%\"), e.setAttribute(\"y\", \"0%\"), e.setAttribute(\"width\", \"100%\"), e.setAttribute(\"height\", \"100%\"), e;\n }, t.createAlphaToLuminanceFilter = function () {\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 }, t;\n }(),\n assetLoader = function () {\n function t(t) {\n return t.response && \"object\" == typeof t.response ? t.response : t.response && \"string\" == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : void 0;\n }\n\n return {\n load: function load(e, i, r) {\n var s,\n a = new XMLHttpRequest();\n a.open(\"GET\", e, !0);\n\n try {\n a.responseType = \"json\";\n } catch (t) {}\n\n a.send(), a.onreadystatechange = function () {\n if (4 == a.readyState) if (200 == a.status) s = t(a), i(s);else try {\n s = t(a), i(s);\n } catch (t) {\n r && r(t);\n }\n };\n }\n };\n }();\n\n function TextAnimatorProperty(t, e, i) {\n this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = t, this._renderType = e, this._elem = i, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = {\n alignment: {}\n }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(i);\n }\n\n function TextAnimatorDataProperty(t, e, i) {\n var r = {\n propType: !1\n },\n s = PropertyFactory.getProp,\n a = e.a;\n this.a = {\n r: a.r ? s(t, a.r, 0, degToRads, i) : r,\n rx: a.rx ? s(t, a.rx, 0, degToRads, i) : r,\n ry: a.ry ? s(t, a.ry, 0, degToRads, i) : r,\n sk: a.sk ? s(t, a.sk, 0, degToRads, i) : r,\n sa: a.sa ? s(t, a.sa, 0, degToRads, i) : r,\n s: a.s ? s(t, a.s, 1, .01, i) : r,\n a: a.a ? s(t, a.a, 1, 0, i) : r,\n o: a.o ? s(t, a.o, 0, .01, i) : r,\n p: a.p ? s(t, a.p, 1, 0, i) : r,\n sw: a.sw ? s(t, a.sw, 0, 0, i) : r,\n sc: a.sc ? s(t, a.sc, 1, 0, i) : r,\n fc: a.fc ? s(t, a.fc, 1, 0, i) : r,\n fh: a.fh ? s(t, a.fh, 0, 0, i) : r,\n fs: a.fs ? s(t, a.fs, 0, .01, i) : r,\n fb: a.fb ? s(t, a.fb, 0, .01, i) : r,\n t: a.t ? s(t, a.t, 0, 0, i) : r\n }, this.s = TextSelectorProp.getTextSelectorProp(t, e.s, i), this.s.t = e.s.t;\n }\n\n function LetterProps(t, e, i, r, s, a) {\n this.o = t, this.sw = e, this.sc = i, this.fc = r, this.m = s, this.p = a, this._mdf = {\n o: !0,\n sw: !!e,\n sc: !!i,\n fc: !!r,\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 i = this._textData.a.length,\n r = PropertyFactory.getProp;\n\n for (t = 0; t < i; 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 f: r(this._elem, this._textData.p.f, 0, 0, this),\n l: r(this._elem, this._textData.p.l, 0, 0, this),\n r: this._textData.p.r,\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = r(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 var i,\n r,\n s,\n a,\n n,\n o,\n h,\n l,\n p,\n m,\n f,\n c,\n d,\n u,\n y,\n g,\n v,\n b,\n x,\n E = this._moreOptions.alignment.v,\n S = this._animatorsData,\n P = this._textData,\n C = this.mHelper,\n _ = this._renderType,\n A = this.renderedLetters.length,\n k = (this.data, t.l);\n\n if (this._hasMaskedPath) {\n if (x = this._pathData.m, !this._pathData.n || this._pathData._mdf) {\n var T,\n D = x.v;\n\n for (this._pathData.r && (D = D.reverse()), n = {\n tLength: 0,\n segments: []\n }, a = D._length - 1, g = 0, s = 0; s < a; s += 1) {\n T = bez.buildBezierData(D.v[s], D.v[s + 1], [D.o[s][0] - D.v[s][0], D.o[s][1] - D.v[s][1]], [D.i[s + 1][0] - D.v[s + 1][0], D.i[s + 1][1] - D.v[s + 1][1]]), n.tLength += T.segmentLength, n.segments.push(T), g += T.segmentLength;\n }\n\n s = a, x.v.c && (T = bez.buildBezierData(D.v[s], D.v[0], [D.o[s][0] - D.v[s][0], D.o[s][1] - D.v[s][1]], [D.i[0][0] - D.v[0][0], D.i[0][1] - D.v[0][1]]), n.tLength += T.segmentLength, n.segments.push(T), g += T.segmentLength), this._pathData.pi = n;\n }\n\n if (n = this._pathData.pi, o = this._pathData.f.v, f = 0, m = 1, l = 0, p = !0, u = n.segments, o < 0 && x.v.c) for (n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength), m = (d = u[f = u.length - 1].points).length - 1; o < 0;) {\n o += d[m].partialLength, (m -= 1) < 0 && (m = (d = u[f -= 1].points).length - 1);\n }\n c = (d = u[f].points)[m - 1], y = (h = d[m]).partialLength;\n }\n\n a = k.length, i = 0, r = 0;\n var M,\n w,\n F,\n I,\n V = 1.2 * t.finalSize * .714,\n B = !0;\n F = S.length;\n var R,\n L,\n G,\n z,\n N,\n O,\n H,\n j,\n q,\n W,\n Y,\n X,\n K,\n U = -1,\n J = o,\n Z = f,\n Q = m,\n $ = -1,\n tt = \"\",\n et = this.defaultPropsArray;\n\n if (2 === t.j || 1 === t.j) {\n var it = 0,\n rt = 0,\n st = 2 === t.j ? -.5 : -1,\n at = 0,\n nt = !0;\n\n for (s = 0; s < a; s += 1) {\n if (k[s].n) {\n for (it && (it += rt); at < s;) {\n k[at].animatorJustifyOffset = it, at += 1;\n }\n\n it = 0, nt = !0;\n } else {\n for (w = 0; w < F; w += 1) {\n (M = S[w].a).t.propType && (nt && 2 === t.j && (rt += M.t.v * st), (R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars)).length ? it += M.t.v * R[0] * st : it += M.t.v * R * st);\n }\n\n nt = !1;\n }\n }\n\n for (it && (it += rt); at < s;) {\n k[at].animatorJustifyOffset = it, at += 1;\n }\n }\n\n for (s = 0; s < a; s += 1) {\n if (C.reset(), N = 1, k[s].n) i = 0, r += t.yOffset, r += B ? 1 : 0, o = J, B = !1, 0, this._hasMaskedPath && (m = Q, c = (d = u[f = Z].points)[m - 1], y = (h = d[m]).partialLength, l = 0), K = W = X = tt = \"\", et = this.defaultPropsArray;else {\n if (this._hasMaskedPath) {\n if ($ !== k[s].line) {\n switch (t.j) {\n case 1:\n o += g - t.lineWidths[k[s].line];\n break;\n\n case 2:\n o += (g - t.lineWidths[k[s].line]) / 2;\n }\n\n $ = k[s].line;\n }\n\n U !== k[s].ind && (k[U] && (o += k[U].extra), o += k[s].an / 2, U = k[s].ind), o += E[0] * k[s].an / 200;\n var ot = 0;\n\n for (w = 0; w < F; w += 1) {\n (M = S[w].a).p.propType && ((R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars)).length ? ot += M.p.v[0] * R[0] : ot += M.p.v[0] * R), M.a.propType && ((R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars)).length ? ot += M.a.v[0] * R[0] : ot += M.a.v[0] * R);\n }\n\n for (p = !0; p;) {\n l + y >= o + ot || !d ? (v = (o + ot - l) / h.partialLength, G = c.point[0] + (h.point[0] - c.point[0]) * v, z = c.point[1] + (h.point[1] - c.point[1]) * v, C.translate(-E[0] * k[s].an / 200, -E[1] * V / 100), p = !1) : d && (l += h.partialLength, (m += 1) >= d.length && (m = 0, u[f += 1] ? d = u[f].points : x.v.c ? (m = 0, d = u[f = 0].points) : (l -= h.partialLength, d = null)), d && (c = h, y = (h = d[m]).partialLength));\n }\n\n L = k[s].an / 2 - k[s].add, C.translate(-L, 0, 0);\n } else L = k[s].an / 2 - k[s].add, C.translate(-L, 0, 0), C.translate(-E[0] * k[s].an / 200, -E[1] * V / 100, 0);\n\n for (k[s].l / 2, w = 0; w < F; w += 1) {\n (M = S[w].a).t.propType && (R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars), 0 === i && 0 === t.j || (this._hasMaskedPath ? R.length ? o += M.t.v * R[0] : o += M.t.v * R : R.length ? i += M.t.v * R[0] : i += M.t.v * R));\n }\n\n for (k[s].l / 2, t.strokeWidthAnim && (H = t.sw || 0), t.strokeColorAnim && (O = 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]]), w = 0; w < F; w += 1) {\n (M = S[w].a).a.propType && ((R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars)).length ? C.translate(-M.a.v[0] * R[0], -M.a.v[1] * R[1], M.a.v[2] * R[2]) : C.translate(-M.a.v[0] * R, -M.a.v[1] * R, M.a.v[2] * R));\n }\n\n for (w = 0; w < F; w += 1) {\n (M = S[w].a).s.propType && ((R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars)).length ? C.scale(1 + (M.s.v[0] - 1) * R[0], 1 + (M.s.v[1] - 1) * R[1], 1) : C.scale(1 + (M.s.v[0] - 1) * R, 1 + (M.s.v[1] - 1) * R, 1));\n }\n\n for (w = 0; w < F; w += 1) {\n if (M = S[w].a, R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars), M.sk.propType && (R.length ? C.skewFromAxis(-M.sk.v * R[0], M.sa.v * R[1]) : C.skewFromAxis(-M.sk.v * R, M.sa.v * R)), M.r.propType && (R.length ? C.rotateZ(-M.r.v * R[2]) : C.rotateZ(-M.r.v * R)), M.ry.propType && (R.length ? C.rotateY(M.ry.v * R[1]) : C.rotateY(M.ry.v * R)), M.rx.propType && (R.length ? C.rotateX(M.rx.v * R[0]) : C.rotateX(M.rx.v * R)), M.o.propType && (R.length ? N += (M.o.v * R[0] - N) * R[0] : N += (M.o.v * R - N) * R), t.strokeWidthAnim && M.sw.propType && (R.length ? H += M.sw.v * R[0] : H += M.sw.v * R), t.strokeColorAnim && M.sc.propType) for (q = 0; q < 3; q += 1) {\n R.length ? O[q] = O[q] + (M.sc.v[q] - O[q]) * R[0] : O[q] = O[q] + (M.sc.v[q] - O[q]) * R;\n }\n\n if (t.fillColorAnim && t.fc) {\n if (M.fc.propType) for (q = 0; q < 3; q += 1) {\n R.length ? j[q] = j[q] + (M.fc.v[q] - j[q]) * R[0] : j[q] = j[q] + (M.fc.v[q] - j[q]) * R;\n }\n M.fh.propType && (j = R.length ? addHueToRGB(j, M.fh.v * R[0]) : addHueToRGB(j, M.fh.v * R)), M.fs.propType && (j = R.length ? addSaturationToRGB(j, M.fs.v * R[0]) : addSaturationToRGB(j, M.fs.v * R)), M.fb.propType && (j = R.length ? addBrightnessToRGB(j, M.fb.v * R[0]) : addBrightnessToRGB(j, M.fb.v * R));\n }\n }\n\n for (w = 0; w < F; w += 1) {\n (M = S[w].a).p.propType && (R = S[w].s.getMult(k[s].anIndexes[w], P.a[w].s.totalChars), this._hasMaskedPath ? R.length ? C.translate(0, M.p.v[1] * R[0], -M.p.v[2] * R[1]) : C.translate(0, M.p.v[1] * R, -M.p.v[2] * R) : R.length ? C.translate(M.p.v[0] * R[0], M.p.v[1] * R[1], -M.p.v[2] * R[2]) : C.translate(M.p.v[0] * R, M.p.v[1] * R, -M.p.v[2] * R));\n }\n\n if (t.strokeWidthAnim && (W = H < 0 ? 0 : H), t.strokeColorAnim && (Y = \"rgb(\" + Math.round(255 * O[0]) + \",\" + Math.round(255 * O[1]) + \",\" + Math.round(255 * O[2]) + \")\"), t.fillColorAnim && t.fc && (X = \"rgb(\" + Math.round(255 * j[0]) + \",\" + Math.round(255 * j[1]) + \",\" + Math.round(255 * j[2]) + \")\"), this._hasMaskedPath) {\n if (C.translate(0, -t.ls), C.translate(0, E[1] * V / 100 + r, 0), P.p.p) {\n b = (h.point[1] - c.point[1]) / (h.point[0] - c.point[0]);\n var ht = 180 * Math.atan(b) / Math.PI;\n h.point[0] < c.point[0] && (ht += 180), C.rotate(-ht * Math.PI / 180);\n }\n\n C.translate(G, z, 0), o -= E[0] * k[s].an / 200, k[s + 1] && U !== k[s + 1].ind && (o += k[s].an / 2, o += t.tr / 1e3 * t.finalSize);\n } else {\n switch (C.translate(i, r, 0), t.ps && C.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) {\n case 1:\n C.translate(k[s].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[k[s].line]), 0, 0);\n break;\n\n case 2:\n C.translate(k[s].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[k[s].line]) / 2, 0, 0);\n }\n\n C.translate(0, -t.ls), C.translate(L, 0, 0), C.translate(E[0] * k[s].an / 200, E[1] * V / 100, 0), i += k[s].l + t.tr / 1e3 * t.finalSize;\n }\n\n \"html\" === _ ? tt = C.toCSS() : \"svg\" === _ ? tt = C.to2dCSS() : et = [C.props[0], C.props[1], C.props[2], C.props[3], C.props[4], C.props[5], C.props[6], C.props[7], C.props[8], C.props[9], C.props[10], C.props[11], C.props[12], C.props[13], C.props[14], C.props[15]], K = N;\n }\n A <= s ? (I = new LetterProps(K, W, Y, X, tt, et), this.renderedLetters.push(I), A += 1, this.lettersChangedFlag = !0) : (I = this.renderedLetters[s], this.lettersChangedFlag = I.update(K, W, Y, X, 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, i, r, s, a) {\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 !== i && (this.sc = i, this._mdf.sc = !0, n = !0), this.fc !== r && (this.fc = r, this._mdf.fc = !0, n = !0), this.m !== s && (this.m = s, this._mdf.m = !0, n = !0), !a.length || this.p[0] === a[0] && this.p[1] === a[1] && this.p[4] === a[4] && this.p[5] === a[5] && this.p[12] === a[12] && this.p[13] === a[13] || (this.p = a, this._mdf.p = !0, n = !0), n;\n }, TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function (t, e) {\n for (var i in e) {\n e.hasOwnProperty(i) && (t[i] = e[i]);\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 i = this.keysIndex;\n if (this.lock) this.setCurrentData(this.currentData);else {\n this.lock = !0, this._mdf = !1;\n var r,\n s = this.effectsSequence.length,\n a = t || this.data.d.k[this.keysIndex].s;\n\n for (r = 0; r < s; r += 1) {\n a = i !== this.keysIndex ? this.effectsSequence[r](a, a.t) : this.effectsSequence[r](this.currentData, a.t);\n }\n\n e !== a && this.setCurrentData(a), this.pv = this.v = this.currentData, 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, i = 0, r = t.length; i <= r - 1 && (t[i].s, !(i === r - 1 || t[i + 1].t > e));) {\n i += 1;\n }\n\n return this.keysIndex !== i && (this.keysIndex = i), this.data.d.k[this.keysIndex].s;\n }, TextProperty.prototype.buildFinalText = function (t) {\n for (var e, i = FontManager.getCombinedCharacterCodes(), r = [], s = 0, a = t.length; s < a;) {\n e = t.charCodeAt(s), -1 !== i.indexOf(e) ? r[r.length - 1] += t.charAt(s) : e >= 55296 && e <= 56319 && (e = t.charCodeAt(s + 1)) >= 56320 && e <= 57343 ? (r.push(t.substr(s, 2)), ++s) : r.push(t.charAt(s)), s += 1;\n }\n\n return r;\n }, TextProperty.prototype.completeTextData = function (t) {\n t.__complete = !0;\n var e,\n i,\n r,\n s,\n a,\n n,\n o,\n h = this.elem.globalData.fontManager,\n l = this.data,\n p = [],\n m = 0,\n f = l.m.g,\n c = 0,\n d = 0,\n u = 0,\n y = [],\n g = 0,\n v = 0,\n b = h.getFontByName(t.f),\n x = 0,\n E = b.fStyle ? b.fStyle.split(\" \") : [],\n S = \"normal\",\n P = \"normal\";\n\n for (i = E.length, e = 0; e < i; e += 1) {\n switch (E[e].toLowerCase()) {\n case \"italic\":\n P = \"italic\";\n break;\n\n case \"bold\":\n S = \"700\";\n break;\n\n case \"black\":\n S = \"900\";\n break;\n\n case \"medium\":\n S = \"500\";\n break;\n\n case \"regular\":\n case \"normal\":\n S = \"400\";\n break;\n\n case \"light\":\n case \"thin\":\n S = \"200\";\n }\n }\n\n t.fWeight = b.fWeight || S, t.fStyle = P, t.finalSize = t.s, t.finalText = this.buildFinalText(t.t), i = t.finalText.length, t.finalLineHeight = t.lh;\n\n var C,\n _ = t.tr / 1e3 * t.finalSize;\n\n if (t.sz) for (var A, k, T = !0, D = t.sz[0], M = t.sz[1]; T;) {\n A = 0, g = 0, i = (k = this.buildFinalText(t.t)).length, _ = t.tr / 1e3 * t.finalSize;\n var w = -1;\n\n for (e = 0; e < i; e += 1) {\n C = k[e].charCodeAt(0), r = !1, \" \" === k[e] ? w = e : 13 !== C && 3 !== C || (g = 0, r = !0, A += t.finalLineHeight || 1.2 * t.finalSize), h.chars ? (o = h.getCharData(k[e], b.fStyle, b.fFamily), x = r ? 0 : o.w * t.finalSize / 100) : x = h.measureText(k[e], t.f, t.finalSize), g + x > D && \" \" !== k[e] ? (-1 === w ? i += 1 : e = w, A += t.finalLineHeight || 1.2 * t.finalSize, k.splice(e, w === e ? 1 : 0, \"\\r\"), w = -1, g = 0) : (g += x, g += _);\n }\n\n A += b.ascent * t.finalSize / 100, this.canResize && t.finalSize > this.minimumFontSize && M < A ? (t.finalSize -= 1, t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = k, i = t.finalText.length, T = !1);\n }\n g = -_, x = 0;\n var F,\n I = 0;\n\n for (e = 0; e < i; e += 1) {\n if (r = !1, 13 === (C = (F = t.finalText[e]).charCodeAt(0)) || 3 === C ? (I = 0, y.push(g), v = g > v ? g : v, g = -2 * _, s = \"\", r = !0, u += 1) : s = F, h.chars ? (o = h.getCharData(F, b.fStyle, h.getFontByName(t.f).fFamily), x = r ? 0 : o.w * t.finalSize / 100) : x = h.measureText(s, t.f, t.finalSize), \" \" === F ? I += x + _ : (g += x + _ + I, I = 0), p.push({\n l: x,\n an: x,\n add: c,\n n: r,\n anIndexes: [],\n val: s,\n line: u,\n animatorJustifyOffset: 0\n }), 2 == f) {\n if (c += x, \"\" === s || \" \" === s || e === i - 1) {\n for (\"\" !== s && \" \" !== s || (c -= x); d <= e;) {\n p[d].an = c, p[d].ind = m, p[d].extra = x, d += 1;\n }\n\n m += 1, c = 0;\n }\n } else if (3 == f) {\n if (c += x, \"\" === s || e === i - 1) {\n for (\"\" === s && (c -= x); d <= e;) {\n p[d].an = c, p[d].ind = m, p[d].extra = x, d += 1;\n }\n\n c = 0, m += 1;\n }\n } else p[m].ind = m, p[m].extra = 0, m += 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 V,\n B,\n R = l.a;\n n = R.length;\n var L,\n G,\n z = [];\n\n for (a = 0; a < n; a += 1) {\n for ((V = R[a]).a.sc && (t.strokeColorAnim = !0), V.a.sw && (t.strokeWidthAnim = !0), (V.a.fc || V.a.fh || V.a.fs || V.a.fb) && (t.fillColorAnim = !0), G = 0, L = V.s.b, e = 0; e < i; e += 1) {\n (B = p[e]).anIndexes[a] = G, (1 == L && \"\" !== B.val || 2 == L && \"\" !== B.val && \" \" !== B.val || 3 == L && (B.n || \" \" == B.val || e == i - 1) || 4 == L && (B.n || e == i - 1)) && (1 === V.s.rn && z.push(G), G += 1);\n }\n\n l.a[a].s.totalChars = G;\n var N,\n O = -1;\n if (1 === V.s.rn) for (e = 0; e < i; e += 1) {\n O != (B = p[e]).anIndexes[a] && (O = B.anIndexes[a], N = z.splice(Math.floor(Math.random() * z.length), 1)[0]), B.anIndexes[a] = N;\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 i = this.copyData({}, this.data.d.k[e].s);\n i = this.copyData(i, t), this.data.d.k[e].s = i, 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 i = Math.floor;\n\n function r(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.a = PropertyFactory.getProp(t, e.a, 0, .01, this), this.dynamicProperties.length || this.getValue();\n }\n\n return r.prototype = {\n getMult: function getMult(r) {\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\n var s = 0,\n a = 0,\n n = 1,\n o = 1;\n this.ne.v > 0 ? s = this.ne.v / 100 : a = -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(s, a, n, o).get,\n l = 0,\n p = this.finalS,\n m = this.finalE,\n f = this.data.sh;\n if (2 === f) l = h(l = m === p ? r >= m ? 1 : 0 : t(0, e(.5 / (m - p) + (r - p) / (m - p), 1)));else if (3 === f) l = h(l = m === p ? r >= m ? 0 : 1 : 1 - t(0, e(.5 / (m - p) + (r - p) / (m - p), 1)));else if (4 === f) m === p ? l = 0 : (l = t(0, e(.5 / (m - p) + (r - p) / (m - p), 1))) < .5 ? l *= 2 : l = 1 - 2 * (l - .5), l = h(l);else if (5 === f) {\n if (m === p) l = 0;else {\n var c = m - p,\n d = -c / 2 + (r = e(t(0, r + .5 - p), m - p)),\n u = c / 2;\n l = Math.sqrt(1 - d * d / (u * u));\n }\n l = h(l);\n } else 6 === f ? (m === p ? l = 0 : (r = e(t(0, r + .5 - p), m - p), l = (1 + Math.cos(Math.PI + 2 * Math.PI * r / (m - p))) / 2), l = h(l)) : (r >= i(p) && (l = t(0, e(r - p < 0 ? e(m, 1) - (p - r) : m - r, 1))), l = h(l));\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 i = this.o.v / e,\n r = this.s.v / e + i,\n s = this.e.v / e + i;\n\n if (r > s) {\n var a = r;\n r = s, s = a;\n }\n\n this.finalS = r, this.finalE = s;\n }\n }, extendPrototype([DynamicPropertyContainer], r), {\n getTextSelectorProp: function getTextSelectorProp(t, e, i) {\n return new r(t, e, i);\n }\n };\n }(),\n pool_factory = function pool_factory(t, e, i, r) {\n var s = 0,\n a = t,\n n = createSizedArray(a);\n return {\n newElement: function newElement() {\n return s ? n[s -= 1] : e();\n },\n release: function release(t) {\n s === a && (n = pooling.double(n), a *= 2), i && i(t), n[s] = t, s += 1;\n }\n };\n },\n pooling = {\n double: function double(t) {\n return t.concat(createSizedArray(t.length));\n }\n },\n point_pool = pool_factory(8, function () {\n return createTypedArray(\"float32\", 2);\n }),\n shape_pool = (factory = pool_factory(4, function () {\n return new ShapePath();\n }, function (t) {\n var e,\n i = t._length;\n\n for (e = 0; e < i; e += 1) {\n point_pool.release(t.v[e]), point_pool.release(t.i[e]), point_pool.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 i = factory.newElement(),\n r = void 0 === t._length ? t.v.length : t._length;\n\n for (i.setLength(r), i.c = t.c, e = 0; e < r; e += 1) {\n i.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 i;\n }, factory),\n factory,\n shapeCollection_pool = function () {\n var t = {\n newShapeCollection: function newShapeCollection() {\n var t;\n t = e ? r[e -= 1] : new ShapeCollection();\n return t;\n },\n release: function release(t) {\n var s,\n a = t._length;\n\n for (s = 0; s < a; s += 1) {\n shape_pool.release(t.shapes[s]);\n }\n\n t._length = 0, e === i && (r = pooling.double(r), i *= 2);\n r[e] = t, e += 1;\n }\n },\n e = 0,\n i = 4,\n r = createSizedArray(i);\n return t;\n }(),\n segments_length_pool = pool_factory(8, function () {\n return {\n lengths: [],\n totalLength: 0\n };\n }, function (t) {\n var e,\n i = t.lengths.length;\n\n for (e = 0; e < i; e += 1) {\n bezier_length_pool.release(t.lengths[e]);\n }\n\n t.lengths.length = 0;\n }),\n bezier_length_pool = pool_factory(8, function () {\n return {\n addedLength: 0,\n percents: createTypedArray(\"float32\", defaultCurveSegments),\n lengths: createTypedArray(\"float32\", defaultCurveSegments)\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 i = \"\";\n\n if (e && e.title) {\n var r = createNS(\"title\"),\n s = createElementID();\n r.setAttribute(\"id\", s), r.textContent = e.title, this.svgElement.appendChild(r), i += s;\n }\n\n if (e && e.description) {\n var a = createNS(\"desc\"),\n n = createElementID();\n a.setAttribute(\"id\", n), a.textContent = e.description, this.svgElement.appendChild(a), i += \" \" + n;\n }\n\n i && this.svgElement.setAttribute(\"aria-labelledby\", i);\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 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 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, i) {\n this.data = t, this.element = e, this.globalData = i, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;\n var r,\n s = this.globalData.defs,\n a = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(a), this.solidPath = \"\";\n var n,\n o,\n h,\n l,\n p,\n m,\n f,\n c = this.masksProperties,\n d = 0,\n u = [],\n y = createElementID(),\n g = \"clipPath\",\n v = \"clip-path\";\n\n for (r = 0; r < a; r++) {\n if ((\"a\" !== c[r].mode && \"n\" !== c[r].mode || c[r].inv || 100 !== c[r].o.k || c[r].o.x) && (g = \"mask\", v = \"mask\"), \"s\" != c[r].mode && \"i\" != c[r].mode || 0 !== d ? 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)), n = createNS(\"path\"), \"n\" != c[r].mode) {\n var b;\n\n if (d += 1, n.setAttribute(\"fill\", \"s\" === c[r].mode ? \"#000000\" : \"#ffffff\"), n.setAttribute(\"clip-rule\", \"nonzero\"), 0 !== c[r].x.k ? (g = \"mask\", v = \"mask\", f = PropertyFactory.getProp(this.element, c[r].x, 0, null, this.element), b = createElementID(), (p = createNS(\"filter\")).setAttribute(\"id\", b), (m = createNS(\"feMorphology\")).setAttribute(\"operator\", \"erode\"), m.setAttribute(\"in\", \"SourceGraphic\"), m.setAttribute(\"radius\", \"0\"), p.appendChild(m), s.appendChild(p), n.setAttribute(\"stroke\", \"s\" === c[r].mode ? \"#000000\" : \"#ffffff\")) : (m = null, f = null), this.storedData[r] = {\n elem: n,\n x: f,\n expan: m,\n lastPath: \"\",\n lastOperator: \"\",\n filterId: b,\n lastRadius: 0\n }, \"i\" == c[r].mode) {\n h = u.length;\n var x = createNS(\"g\");\n\n for (o = 0; o < h; o += 1) {\n x.appendChild(u[o]);\n }\n\n var E = createNS(\"mask\");\n E.setAttribute(\"mask-type\", \"alpha\"), E.setAttribute(\"id\", y + \"_\" + d), E.appendChild(n), s.appendChild(E), x.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + y + \"_\" + d + \")\"), u.length = 0, u.push(x);\n } else u.push(n);\n\n c[r].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[r] = {\n elem: n,\n lastPath: \"\",\n op: PropertyFactory.getProp(this.element, c[r].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, c[r], 3),\n invRect: l\n }, this.viewData[r].prop.k || this.drawPath(c[r], this.viewData[r].prop.v, this.viewData[r]);\n } else this.viewData[r] = {\n op: PropertyFactory.getProp(this.element, c[r].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, c[r], 3),\n elem: n,\n lastPath: \"\"\n }, s.appendChild(n);\n }\n\n for (this.maskElement = createNS(g), a = u.length, r = 0; r < a; r += 1) {\n this.maskElement.appendChild(u[r]);\n }\n\n d > 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, i) {\n this.caches = [], this.styles = [], this.transformers = t, this.lStr = \"\", this.sh = i, this.lvl = e, this._isAnimated = !!i.k;\n\n for (var r = 0, s = t.length; r < s;) {\n if (t[r].mProps.dynamicProperties.length) {\n this._isAnimated = !0;\n break;\n }\n\n r += 1;\n }\n }\n\n function SVGTransformData(t, e, i) {\n this.transform = {\n mProps: t,\n op: e,\n container: i\n }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n function SVGStrokeStyleData(t, e, i) {\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 = i, this._isAnimated = !!this._isAnimated;\n }\n\n function SVGFillStyleData(t, e, i) {\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 = i;\n }\n\n function SVGGradientFillStyleData(t, e, i) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.initGradientData(t, e, i);\n }\n\n function SVGGradientStrokeStyleData(t, e, i) {\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, i), 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 i,\n r = this.layers.length;\n\n for (this.completeLayers = !0, e = r - 1; e >= 0; e--) {\n this.elements[e] || (i = this.layers[e]).ip - i.st <= t - this.layers[e].st && i.op - i.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 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 13:\n return this.createCamera(t);\n }\n\n return this.createNull(t);\n }, BaseRenderer.prototype.createCamera = function () {\n throw new Error(\"You're using a 3d camera. Try the html renderer.\");\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 this.completeLayers = !1;\n var e,\n i,\n r = t.length,\n s = this.layers.length;\n\n for (e = 0; e < r; e += 1) {\n for (i = 0; i < s;) {\n if (this.layers[i].id == t[e].id) {\n this.layers[i] = t[e];\n break;\n }\n\n i += 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, i) {\n for (var r = this.elements, s = this.layers, a = 0, n = s.length; a < n;) {\n s[a].ind == e && (r[a] && !0 !== r[a] ? (i.push(r[a]), r[a].setAsParent(), void 0 !== s[a].parent ? this.buildElementParenting(t, s[a].parent, i) : t.setHierarchy(i)) : (this.buildItem(a), this.addPendingElement(t))), a += 1;\n }\n }, BaseRenderer.prototype.addPendingElement = function (t) {\n this.pendingElements.push(t);\n }, BaseRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n if (t[e].xt) {\n var r = this.createComp(t[e]);\n r.initExpressions(), this.globalData.projectInterface.registerComposition(r);\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.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 SVGTextElement(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.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 i = createNS(\"clipPath\"),\n r = createNS(\"rect\");\n r.setAttribute(\"width\", t.w), r.setAttribute(\"height\", t.h), r.setAttribute(\"x\", 0), r.setAttribute(\"y\", 0);\n var s = createElementID();\n i.setAttribute(\"id\", s), i.appendChild(r), this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + s + \")\"), e.appendChild(i), this.layers = t.layers, this.elements = createSizedArray(t.layers.length);\n }, SVGRenderer.prototype.destroy = function () {\n this.animationItem.wrapper.innerHTML = \"\", this.layerElement = null, this.globalData.defs = null;\n var t,\n e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t++) {\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 i = this.createItem(this.layers[t]);\n e[t] = i, expressionsPlugin && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition(i), i.initExpressions()), this.appendElementInPos(i, t), this.layers[t].tt && (this.elements[t - 1] && !0 !== this.elements[t - 1] ? i.setMatte(e[t - 1].layerId) : (this.buildItem(t - 1), this.addPendingElement(i)));\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, i = this.elements.length; e < i;) {\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 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 e,\n i = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), e = i - 1; e >= 0; e--) {\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 < i; e += 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame();\n }\n }\n }, SVGRenderer.prototype.appendElementInPos = function (t, e) {\n var i = t.getBaseElement();\n\n if (i) {\n for (var r, s = 0; s < e;) {\n this.elements[s] && !0 !== this.elements[s] && this.elements[s].getBaseElement() && (r = this.elements[s].getBaseElement()), s += 1;\n }\n\n r ? this.layerElement.insertBefore(i, r) : this.layerElement.appendChild(i);\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 i = this.contextData.cTr.props;\n this.canvasContext.setTransform(i[0], i[1], i[4], i[5], i[12], i[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 = this.contextData.cTr.props;\n this.contextData._length <= this.contextData.cArrPos && this.contextData.duplicate();\n var i,\n r = this.contextData.saved[this.contextData.cArrPos];\n\n for (i = 0; i < 16; i += 1) {\n r[i] = e[i];\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 i = this.contextData.saved[this.contextData.cArrPos],\n r = this.contextData.cTr.props;\n\n for (e = 0; e < 16; e += 1) {\n r[e] = i[e];\n }\n\n this.canvasContext.setTransform(i[0], i[1], i[4], i[5], i[12], i[13]), i = this.contextData.savedOp[this.contextData.cArrPos], this.contextData.cO = i, this.globalData.currentGlobalAlpha !== i && (this.canvasContext.globalAlpha = i, this.globalData.currentGlobalAlpha = i);\n } else this.canvasContext.restore();\n }, CanvasRenderer.prototype.configAnimation = function (t) {\n this.animationItem.wrapper ? (this.animationItem.container = createTag(\"canvas\"), this.animationItem.container.style.width = \"100%\", this.animationItem.container.style.height = \"100%\", this.animationItem.container.style.transformOrigin = this.animationItem.container.style.mozTransformOrigin = this.animationItem.container.style.webkitTransformOrigin = this.animationItem.container.style[\"-webkit-transform\"] = \"0px 0px 0px\", 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)) : this.canvasContext = this.renderConfig.context, 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, i, r;\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 s = this.renderConfig.preserveAspectRatio.split(\" \"),\n a = s[1] || \"meet\",\n n = s[0] || \"xMidYMid\",\n o = n.substr(0, 4),\n h = n.substr(4);\n i = t / e, (r = this.transformCanvas.w / this.transformCanvas.h) > i && \"meet\" === a || r < i && \"slice\" === a ? (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 && (r < i && \"meet\" === a || r > i && \"slice\" === a) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : \"xMax\" === o && (r < i && \"meet\" === a || r > i && \"slice\" === a) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) * this.renderConfig.dpr : 0, this.transformCanvas.ty = \"YMid\" === h && (r > i && \"meet\" === a || r < i && \"slice\" === a) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : \"YMax\" === h && (r > i && \"meet\" === a || r < i && \"slice\" === a) ? (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.innerHTML = \"\"), 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 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,\n r = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), i = 0; i < r; i++) {\n (this.completeLayers || this.elements[i]) && this.elements[i].prepareFrame(t - this.layers[i].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(), i = r - 1; i >= 0; i -= 1) {\n (this.completeLayers || this.elements[i]) && this.elements[i].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 i = this.createItem(this.layers[t], this, this.globalData);\n e[t] = i, i.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 i = t.getBaseElement();\n\n if (i) {\n var r = this.layers[e];\n if (r.ddd && this.supports3d) this.addTo3dContainer(i, e);else if (this.threeDElements) this.addTo3dContainer(i, e);else {\n for (var s, a, n = 0; n < e;) {\n this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && (a = this.elements[n], s = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : a.getBaseElement()) || s), n += 1;\n }\n\n s ? r.ddd && this.supports3d || this.layerElement.insertBefore(i, s) : r.ddd && this.supports3d || this.layerElement.appendChild(i);\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 SVGTextElement(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, i = this.threeDElements.length; e < i;) {\n if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t) return this.threeDElements[e].perspectiveElem;\n e += 1;\n }\n }, HybridRenderer.prototype.createThreeDContainer = function (t, e) {\n var i = createTag(\"div\");\n styleDiv(i);\n var r = createTag(\"div\");\n styleDiv(r), \"3d\" === e && (i.style.width = this.globalData.compSize.w + \"px\", i.style.height = this.globalData.compSize.h + \"px\", i.style.transformOrigin = i.style.mozTransformOrigin = i.style.webkitTransformOrigin = \"50% 50%\", r.style.transform = r.style.webkitTransform = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\"), i.appendChild(r);\n var s = {\n container: r,\n perspectiveElem: i,\n startPos: t,\n endPos: t,\n type: e\n };\n return this.threeDElements.push(s), s;\n }, HybridRenderer.prototype.build3dContainers = function () {\n var t,\n e,\n i = this.layers.length,\n r = \"\";\n\n for (t = 0; t < i; t += 1) {\n this.layers[t].ddd && 3 !== this.layers[t].ty ? (\"3d\" !== r && (r = \"3d\", e = this.createThreeDContainer(t, \"3d\")), e.endPos = Math.max(e.endPos, t)) : (\"2d\" !== r && (r = \"2d\", e = this.createThreeDContainer(t, \"2d\")), e.endPos = Math.max(e.endPos, t));\n }\n\n for (t = (i = this.threeDElements.length) - 1; t >= 0; t--) {\n this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);\n }\n }, HybridRenderer.prototype.addTo3dContainer = function (t, e) {\n for (var i = 0, r = this.threeDElements.length; i < r;) {\n if (e <= this.threeDElements[i].endPos) {\n for (var s, a = this.threeDElements[i].startPos; a < e;) {\n this.elements[a] && this.elements[a].getBaseElement && (s = this.elements[a].getBaseElement()), a += 1;\n }\n\n s ? this.threeDElements[i].container.insertBefore(t, s) : this.threeDElements[i].container.appendChild(t);\n break;\n }\n\n i += 1;\n }\n }, HybridRenderer.prototype.configAnimation = function (t) {\n var e = createTag(\"div\"),\n i = this.animationItem.wrapper;\n e.style.width = t.w + \"px\", e.style.height = t.h + \"px\", this.resizerElem = e, styleDiv(e), e.style.transformStyle = e.style.webkitTransformStyle = e.style.mozTransformStyle = \"flat\", this.renderConfig.className && e.setAttribute(\"class\", this.renderConfig.className), i.appendChild(e), e.style.overflow = \"hidden\";\n var r = createNS(\"svg\");\n r.setAttribute(\"width\", \"1\"), r.setAttribute(\"height\", \"1\"), styleDiv(r), this.resizerElem.appendChild(r);\n var s = createNS(\"defs\");\n r.appendChild(s), this.data = t, this.setupGlobalData(t, r), this.globalData.defs = s, this.layers = t.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize();\n }, HybridRenderer.prototype.destroy = function () {\n this.animationItem.wrapper.innerHTML = \"\", this.animationItem.container = null, this.globalData.defs = null;\n var t,\n e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t++) {\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 i,\n r,\n s = this.animationItem.wrapper.offsetWidth,\n a = this.animationItem.wrapper.offsetHeight,\n n = s / a;\n this.globalData.compSize.w / this.globalData.compSize.h > n ? (t = s / this.globalData.compSize.w, e = s / this.globalData.compSize.w, i = 0, r = (a - this.globalData.compSize.h * (s / this.globalData.compSize.w)) / 2) : (t = a / this.globalData.compSize.h, e = a / this.globalData.compSize.h, i = (s - this.globalData.compSize.w * (a / this.globalData.compSize.h)) / 2, r = 0), this.resizerElem.style.transform = this.resizerElem.style.webkitTransform = \"matrix3d(\" + t + \",0,0,0,0,\" + e + \",0,0,0,0,1,0,\" + i + \",\" + r + \",0,1)\";\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 i = this.globalData.compSize.h,\n r = this.threeDElements.length;\n\n for (t = 0; t < r; t += 1) {\n this.threeDElements[t].perspectiveElem.style.perspective = this.threeDElements[t].perspectiveElem.style.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(i, 2)) + \"px\";\n }\n }\n }, HybridRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n i = t.length,\n r = createTag(\"div\");\n\n for (e = 0; e < i; e += 1) {\n if (t[e].xt) {\n var s = this.createComp(t[e], r, this.globalData.comp, null);\n s.initExpressions(), this.globalData.projectInterface.registerComposition(s);\n }\n }\n }, MaskElement.prototype.getMaskProperty = function (t) {\n return this.viewData[t].prop;\n }, MaskElement.prototype.renderFrame = function (t) {\n var e,\n i = this.element.finalTransform.mat,\n r = this.masksProperties.length;\n\n for (e = 0; e < r; e++) {\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\", i.getInverseMatrix().to2dCSS()), this.storedData[e].x && (this.storedData[e].x._mdf || t))) {\n var s = 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 + \")\")), s.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, i) {\n var r,\n s,\n a = \" M\" + e.v[0][0] + \",\" + e.v[0][1];\n\n for (s = e._length, r = 1; r < s; r += 1) {\n a += \" C\" + e.o[r - 1][0] + \",\" + e.o[r - 1][1] + \" \" + e.i[r][0] + \",\" + e.i[r][1] + \" \" + e.v[r][0] + \",\" + e.v[r][1];\n }\n\n if (e.c && s > 1 && (a += \" C\" + e.o[r - 1][0] + \",\" + e.o[r - 1][1] + \" \" + e.i[0][0] + \",\" + e.i[0][1] + \" \" + e.v[0][0] + \",\" + e.v[0][1]), i.lastPath !== a) {\n var n = \"\";\n i.elem && (e.c && (n = t.inv ? this.solidPath + a : a), i.elem.setAttribute(\"d\", n)), i.lastPath = a;\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 i,\n r = this.dynamicProperties.length;\n\n for (i = 0; i < r; i += 1) {\n (e || this._isParent && \"transform\" === this.dynamicProperties[i].propType) && (this.dynamicProperties[i].getValue(), this.dynamicProperties[i]._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 i = 0,\n r = this.hierarchy.length;\n if (!this.finalTransform._matMdf) for (; i < r;) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = !0;\n break;\n }\n\n i += 1;\n }\n if (this.finalTransform._matMdf) for (t = this.finalTransform.mProp.v.props, e.cloneFromProps(t), i = 0; i < r; i += 1) {\n t = this.hierarchy[i].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 i = !0, r = this.comp; i;) {\n r.finalTransform ? (r.data.hasMask && e.splice(0, 0, r.finalTransform), r = r.comp) : i = !1;\n }\n\n var s,\n a,\n n = e.length;\n\n for (s = 0; s < n; s += 1) {\n a = e[s].mat.applyToPointArray(0, 0, 0), t = [t[0] - a[0], t[1] - a[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, i) {\n this.initFrame(), this.initBaseData(t, e, i), this.initTransform(t, e, i), 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, i) {\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 = i, this.stops = [], this.setGradientData(i.pElem, e), this.setGradientOpacity(e, i), this._isAnimated = !!this._isAnimated;\n }, SVGGradientFillStyleData.prototype.setGradientData = function (t, e) {\n var i = createElementID(),\n r = createNS(1 === e.t ? \"linearGradient\" : \"radialGradient\");\n r.setAttribute(\"id\", i), r.setAttribute(\"spreadMethod\", \"pad\"), r.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n var s,\n a,\n n,\n o = [];\n\n for (n = 4 * e.g.p, a = 0; a < n; a += 4) {\n s = createNS(\"stop\"), r.appendChild(s), o.push(s);\n }\n\n t.setAttribute(\"gf\" === e.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + i + \")\"), this.gf = r, this.cst = o;\n }, SVGGradientFillStyleData.prototype.setGradientOpacity = function (t, e) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var i,\n r,\n s,\n a = createNS(\"mask\"),\n n = createNS(\"path\");\n a.appendChild(n);\n var o = createElementID(),\n h = createElementID();\n a.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\"), s = 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 (r = 4 * t.g.p; r < s; r += 2) {\n (i = createNS(\"stop\")).setAttribute(\"stop-color\", \"rgb(255,255,255)\"), l.appendChild(i), p.push(i);\n }\n\n n.setAttribute(\"gf\" === t.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + o + \")\"), this.of = l, this.ms = a, 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 i(t, e, i) {\n (i || e.transform.op._mdf) && e.transform.container.setAttribute(\"opacity\", e.transform.op.v), (i || e.transform.mProps._mdf) && e.transform.container.setAttribute(\"transform\", e.transform.mProps.v.to2dCSS());\n }\n\n function r(i, r, s) {\n var a,\n n,\n o,\n h,\n l,\n p,\n m,\n f,\n c,\n d,\n u,\n y = r.styles.length,\n g = r.lvl;\n\n for (p = 0; p < y; p += 1) {\n if (h = r.sh._mdf || s, r.styles[p].lvl < g) {\n for (f = e.reset(), d = g - r.styles[p].lvl, u = r.transformers.length - 1; !h && d > 0;) {\n h = r.transformers[u].mProps._mdf || h, d--, u--;\n }\n\n if (h) for (d = g - r.styles[p].lvl, u = r.transformers.length - 1; d > 0;) {\n c = r.transformers[u].mProps.v.props, f.transform(c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], c[8], c[9], c[10], c[11], c[12], c[13], c[14], c[15]), d--, u--;\n }\n } else f = t;\n\n if (n = (m = r.sh.paths)._length, h) {\n for (o = \"\", a = 0; a < n; a += 1) {\n (l = m.shapes[a]) && l._length && (o += buildShapeString(l, l._length, l.c, f));\n }\n\n r.caches[p] = o;\n } else o = r.caches[p];\n\n r.styles[p].d += !0 === i.hd ? \"\" : o, r.styles[p]._mdf = h || r.styles[p]._mdf;\n }\n }\n\n function s(t, e, i) {\n var r = e.style;\n (e.c._mdf || i) && r.pElem.setAttribute(\"fill\", \"rgb(\" + bm_floor(e.c.v[0]) + \",\" + bm_floor(e.c.v[1]) + \",\" + bm_floor(e.c.v[2]) + \")\"), (e.o._mdf || i) && r.pElem.setAttribute(\"fill-opacity\", e.o.v);\n }\n\n function a(t, e, i) {\n n(t, e, i), o(t, e, i);\n }\n\n function n(t, e, i) {\n var r,\n s,\n a,\n n,\n o,\n h = e.gf,\n l = e.g._hasOpacity,\n p = e.s.v,\n m = e.e.v;\n\n if (e.o._mdf || i) {\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 || i) {\n var c = 1 === t.t ? \"x1\" : \"cx\",\n d = \"x1\" === c ? \"y1\" : \"cy\";\n h.setAttribute(c, p[0]), h.setAttribute(d, p[1]), l && !e.g._collapsable && (e.of.setAttribute(c, p[0]), e.of.setAttribute(d, p[1]));\n }\n\n if (e.g._cmdf || i) {\n r = e.cst;\n var u = e.g.c;\n\n for (a = r.length, s = 0; s < a; s += 1) {\n (n = r[s]).setAttribute(\"offset\", u[4 * s] + \"%\"), n.setAttribute(\"stop-color\", \"rgb(\" + u[4 * s + 1] + \",\" + u[4 * s + 2] + \",\" + u[4 * s + 3] + \")\");\n }\n }\n\n if (l && (e.g._omdf || i)) {\n var y = e.g.o;\n\n for (a = (r = e.g._collapsable ? e.cst : e.ost).length, s = 0; s < a; s += 1) {\n n = r[s], e.g._collapsable || n.setAttribute(\"offset\", y[2 * s] + \"%\"), n.setAttribute(\"stop-opacity\", y[2 * s + 1]);\n }\n }\n\n if (1 === t.t) (e.e._mdf || i) && (h.setAttribute(\"x2\", m[0]), h.setAttribute(\"y2\", m[1]), l && !e.g._collapsable && (e.of.setAttribute(\"x2\", m[0]), e.of.setAttribute(\"y2\", m[1])));else if ((e.s._mdf || e.e._mdf || i) && (o = Math.sqrt(Math.pow(p[0] - m[0], 2) + Math.pow(p[1] - m[1], 2)), h.setAttribute(\"r\", o), l && !e.g._collapsable && e.of.setAttribute(\"r\", o)), e.e._mdf || e.h._mdf || e.a._mdf || i) {\n o || (o = Math.sqrt(Math.pow(p[0] - m[0], 2) + Math.pow(p[1] - m[1], 2)));\n var g = Math.atan2(m[1] - p[1], m[0] - p[0]),\n v = o * (e.h.v >= 1 ? .99 : e.h.v <= -1 ? -.99 : e.h.v),\n b = Math.cos(g + e.a.v) * v + p[0],\n x = Math.sin(g + e.a.v) * v + p[1];\n h.setAttribute(\"fx\", b), h.setAttribute(\"fy\", x), l && !e.g._collapsable && (e.of.setAttribute(\"fx\", b), e.of.setAttribute(\"fy\", x));\n }\n }\n\n function o(t, e, i) {\n var r = e.style,\n s = e.d;\n s && (s._mdf || i) && s.dashStr && (r.pElem.setAttribute(\"stroke-dasharray\", s.dashStr), r.pElem.setAttribute(\"stroke-dashoffset\", s.dashoffset[0])), e.c && (e.c._mdf || i) && r.pElem.setAttribute(\"stroke\", \"rgb(\" + bm_floor(e.c.v[0]) + \",\" + bm_floor(e.c.v[1]) + \",\" + bm_floor(e.c.v[2]) + \")\"), (e.o._mdf || i) && r.pElem.setAttribute(\"stroke-opacity\", e.o.v), (e.w._mdf || i) && (r.pElem.setAttribute(\"stroke-width\", e.w.v), r.msElem && r.msElem.setAttribute(\"stroke-width\", e.w.v));\n }\n\n return {\n createRenderFunction: function createRenderFunction(t) {\n t.ty;\n\n switch (t.ty) {\n case \"fl\":\n return s;\n\n case \"gf\":\n return n;\n\n case \"gs\":\n return a;\n\n case \"st\":\n return o;\n\n case \"sh\":\n case \"el\":\n case \"rc\":\n case \"sr\":\n return r;\n\n case \"tr\":\n return i;\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, i, r) {\n this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];\n var 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 a,\n n,\n o = i.length;\n\n for (a = 0; a < o; a += 1) {\n i[a].closed || (n = {\n transforms: r.addTransformSequence(i[a].transforms),\n trNodes: []\n }, this.styledShapes.push(n), i[a].elements.push(n));\n }\n }\n\n function BaseElement() {}\n\n function NullElement(t, e, i) {\n this.initFrame(), this.initBaseData(t, e, i), this.initFrame(), this.initTransform(t, e, i), 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, i) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, i), 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, i) {\n this.initElement(t, e, i);\n }\n\n function SVGCompElement(t, e, i) {\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, i), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function SVGTextElement(t, e, i) {\n this.textSpans = [], this.renderType = \"svg\", this.initElement(t, e, i);\n }\n\n function SVGShapeElement(t, e, i) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t, e, i), this.prevViewData = [];\n }\n\n function SVGTintFilter(t, e) {\n this.filterManager = e;\n var i = createNS(\"feColorMatrix\");\n\n if (i.setAttribute(\"type\", \"matrix\"), i.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), i.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\"), i.setAttribute(\"result\", \"f1\"), t.appendChild(i), (i = createNS(\"feColorMatrix\")).setAttribute(\"type\", \"matrix\"), i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), i.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), i.setAttribute(\"result\", \"f2\"), t.appendChild(i), this.matrixFilter = i, 100 !== e.effectElements[2].p.v || e.effectElements[2].p.k) {\n var r,\n s = createNS(\"feMerge\");\n t.appendChild(s), (r = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), s.appendChild(r), (r = createNS(\"feMergeNode\")).setAttribute(\"in\", \"f2\"), s.appendChild(r);\n }\n }\n\n function SVGFillFilter(t, e) {\n this.filterManager = e;\n var i = createNS(\"feColorMatrix\");\n i.setAttribute(\"type\", \"matrix\"), i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), i.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), t.appendChild(i), this.matrixFilter = i;\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 i = createNS(\"feGaussianBlur\");\n t.appendChild(i), this.feGaussianBlur = i;\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 i = createNS(\"feColorMatrix\");\n i.setAttribute(\"type\", \"matrix\"), i.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), i.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\"), i.setAttribute(\"result\", \"f1\"), t.appendChild(i);\n var r = createNS(\"feComponentTransfer\");\n r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(r), this.matrixFilter = r;\n var s = createNS(\"feFuncR\");\n s.setAttribute(\"type\", \"table\"), r.appendChild(s), this.feFuncR = s;\n var a = createNS(\"feFuncG\");\n a.setAttribute(\"type\", \"table\"), r.appendChild(a), this.feFuncG = a;\n var n = createNS(\"feFuncB\");\n n.setAttribute(\"type\", \"table\"), r.appendChild(n), this.feFuncB = n;\n }\n\n function SVGProLevelsFilter(t, e) {\n this.filterManager = e;\n var i = this.filterManager.effectElements,\n r = createNS(\"feComponentTransfer\");\n (i[10].p.k || 0 !== i[10].p.v || i[11].p.k || 1 !== i[11].p.v || i[12].p.k || 1 !== i[12].p.v || i[13].p.k || 0 !== i[13].p.v || i[14].p.k || 1 !== i[14].p.v) && (this.feFuncR = this.createFeFunc(\"feFuncR\", r)), (i[17].p.k || 0 !== i[17].p.v || i[18].p.k || 1 !== i[18].p.v || i[19].p.k || 1 !== i[19].p.v || i[20].p.k || 0 !== i[20].p.v || i[21].p.k || 1 !== i[21].p.v) && (this.feFuncG = this.createFeFunc(\"feFuncG\", r)), (i[24].p.k || 0 !== i[24].p.v || i[25].p.k || 1 !== i[25].p.v || i[26].p.k || 1 !== i[26].p.v || i[27].p.k || 0 !== i[27].p.v || i[28].p.k || 1 !== i[28].p.v) && (this.feFuncB = this.createFeFunc(\"feFuncB\", r)), (i[31].p.k || 0 !== i[31].p.v || i[32].p.k || 1 !== i[32].p.v || i[33].p.k || 1 !== i[33].p.v || i[34].p.k || 0 !== i[34].p.v || i[35].p.k || 1 !== i[35].p.v) && (this.feFuncA = this.createFeFunc(\"feFuncA\", r)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(r), r = createNS(\"feComponentTransfer\")), (i[3].p.k || 0 !== i[3].p.v || i[4].p.k || 1 !== i[4].p.v || i[5].p.k || 1 !== i[5].p.v || i[6].p.k || 0 !== i[6].p.v || i[7].p.k || 1 !== i[7].p.v) && (r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(r), this.feFuncRComposed = this.createFeFunc(\"feFuncR\", r), this.feFuncGComposed = this.createFeFunc(\"feFuncG\", r), this.feFuncBComposed = this.createFeFunc(\"feFuncB\", r));\n }\n\n function SVGDropShadowEffect(t, e) {\n var i = e.container.globalData.renderConfig.filterSize;\n t.setAttribute(\"x\", i.x), t.setAttribute(\"y\", i.y), t.setAttribute(\"width\", i.width), t.setAttribute(\"height\", i.height), this.filterManager = e;\n var r = createNS(\"feGaussianBlur\");\n r.setAttribute(\"in\", \"SourceAlpha\"), r.setAttribute(\"result\", \"drop_shadow_1\"), r.setAttribute(\"stdDeviation\", \"0\"), this.feGaussianBlur = r, t.appendChild(r);\n var s = createNS(\"feOffset\");\n s.setAttribute(\"dx\", \"25\"), s.setAttribute(\"dy\", \"0\"), s.setAttribute(\"in\", \"drop_shadow_1\"), s.setAttribute(\"result\", \"drop_shadow_2\"), this.feOffset = s, t.appendChild(s);\n var a = createNS(\"feFlood\");\n a.setAttribute(\"flood-color\", \"#00ff00\"), a.setAttribute(\"flood-opacity\", \"1\"), a.setAttribute(\"result\", \"drop_shadow_3\"), this.feFlood = a, t.appendChild(a);\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 i = t.length,\n r = \"_\";\n\n for (e = 0; e < i; e += 1) {\n r += t[e].transform.key + \"_\";\n }\n\n var s = this.sequences[r];\n return s || (s = {\n transforms: [].concat(t),\n finalTransform: new Matrix(),\n _mdf: !1\n }, this.sequences[r] = s, this.sequenceList.push(s)), s;\n },\n processSequence: function processSequence(t, e) {\n for (var i, r = 0, s = t.transforms.length, a = e; r < s && !e;) {\n if (t.transforms[r].transform.mProps._mdf) {\n a = !0;\n break;\n }\n\n r += 1;\n }\n\n if (a) for (t.finalTransform.reset(), r = s - 1; r >= 0; r -= 1) {\n i = t.transforms[r].transform.mProps.v.props, t.finalTransform.transform(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8], i[9], i[10], i[11], i[12], i[13], i[14], i[15]);\n }\n t._mdf = a;\n },\n processSequences: function processSequences(t) {\n var e,\n i = this.sequenceList.length;\n\n for (e = 0; e < i; e += 1) {\n this.processSequence(this.sequenceList[e], t);\n }\n },\n getNewKey: function getNewKey() {\n return \"_\" + 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, i) {\n this.globalData = e, this.comp = i, 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 i,\n r = null;\n\n if (this.data.td) {\n if (3 == this.data.td || 1 == this.data.td) {\n var s = createNS(\"mask\");\n s.setAttribute(\"id\", this.layerId), s.setAttribute(\"mask-type\", 3 == this.data.td ? \"luminance\" : \"alpha\"), s.appendChild(this.layerElement), r = s, this.globalData.defs.appendChild(s), featureSupport.maskType || 1 != this.data.td || (s.setAttribute(\"mask-type\", \"luminance\"), t = createElementID(), e = filtersFactory.createFilter(t), this.globalData.defs.appendChild(e), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (i = createNS(\"g\")).appendChild(this.layerElement), r = i, s.appendChild(i), i.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"));\n } else if (2 == this.data.td) {\n var a = createNS(\"mask\");\n a.setAttribute(\"id\", this.layerId), a.setAttribute(\"mask-type\", \"alpha\");\n var n = createNS(\"g\");\n a.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), r = n, featureSupport.maskType || (a.setAttribute(\"mask-type\", \"luminance\"), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), i = createNS(\"g\"), n.appendChild(l), i.appendChild(this.layerElement), r = i, n.appendChild(i)), this.globalData.defs.appendChild(a);\n }\n } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), r = 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 m = createNS(\"path\");\n m.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(m), this.globalData.defs.appendChild(p), this.checkMasks()) {\n var c = createNS(\"g\");\n c.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + f + \")\"), c.appendChild(this.layerElement), this.transformedElement = c, r ? r.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 i = this.shapeModifiers.length;\n\n for (e = 0; e < i; 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; t -= 1) {\n this.shapeModifiers[t].processShapes(this._isFirstFrame);\n }\n }\n },\n lcEnum: {\n 1: \"butt\",\n 2: \"round\",\n 3: \"square\"\n },\n ljEnum: {\n 1: \"miter\",\n 2: \"round\",\n 3: \"bevel\"\n },\n searchProcessedElement: function searchProcessedElement(t) {\n for (var e = this.processedElements, i = 0, r = e.length; i < r;) {\n if (e[i].elem === t) return e[i].pos;\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(t, e) {\n for (var i = this.processedElements, r = i.length; r;) {\n if (i[r -= 1].elem === t) return void (i[r].pos = e);\n }\n\n i.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, i) {\n this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(t, e, i), this.textProperty = new TextProperty(this, t.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t.t, this.renderType, this), this.initTransform(t, e, i), 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 i,\n r,\n s = e.length,\n a = \"\";\n\n for (i = 0; i < s; i += 1) {\n r = e[i].ks.k, a += buildShapeString(r, r.i.length, !0, t);\n }\n\n return a;\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, i, r, s) {\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[i]), 0, 0);\n break;\n\n case 2:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[i]) / 2, 0, 0);\n }\n\n e.translate(r, s, 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, i) {\n this.initFrame(), this.initBaseData(t, e, i), this.initTransform(t, e, i), 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 i,\n r = this.elements.length;\n\n for (this.completeLayers || this.checkLayers(this.renderedFrame), i = r - 1; i >= 0; i -= 1) {\n (this.completeLayers || this.elements[i]) && (this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st), this.elements[i]._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 }, extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextElement), SVGTextElement.prototype.createContent = function () {\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"));\n }, SVGTextElement.prototype.buildTextContents = function (t) {\n for (var e = 0, i = t.length, r = [], s = \"\"; e < i;) {\n t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (r.push(s), s = \"\") : s += t[e], e += 1;\n }\n\n return r.push(s), r;\n }, SVGTextElement.prototype.buildNewText = function () {\n var t,\n e,\n i = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(i ? i.l.length : 0), i.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(i.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"), i.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(i.sc)), this.layerElement.setAttribute(\"stroke-width\", i.sw)), this.layerElement.setAttribute(\"font-size\", i.finalSize);\n var r = this.globalData.fontManager.getFontByName(i.f);\n if (r.fClass) this.layerElement.setAttribute(\"class\", r.fClass);else {\n this.layerElement.setAttribute(\"font-family\", r.fFamily);\n var s = i.fWeight,\n a = i.fStyle;\n this.layerElement.setAttribute(\"font-style\", a), this.layerElement.setAttribute(\"font-weight\", s);\n }\n this.layerElement.setAttribute(\"aria-label\", i.t);\n var n,\n o = i.l || [],\n h = !!this.globalData.fontManager.chars;\n e = o.length;\n var l,\n p = this.mHelper,\n m = \"\",\n f = this.data.singleShape,\n c = 0,\n d = 0,\n u = !0,\n y = i.tr / 1e3 * i.finalSize;\n\n if (!f || h || i.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(i.finalSize / 100, i.finalSize / 100), f && (o[t].n && (c = -y, d += i.yOffset, d += u ? 1 : 0, u = !1), this.applyTextPropertiesToMatrix(i, p, o[t].line, c, d), c += o[t].l || 0, c += y), h ? (l = (g = (v = this.globalData.fontManager.getCharData(i.finalText[t], r.fStyle, this.globalData.fontManager.getFontByName(i.f).fFamily)) && v.data || {}).shapes ? g.shapes[0].it : [], f ? m += 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\", m);\n } else {\n var x = this.textContainer,\n E = \"start\";\n\n switch (i.j) {\n case 1:\n E = \"end\";\n break;\n\n case 2:\n E = \"middle\";\n }\n\n x.setAttribute(\"text-anchor\", E), x.setAttribute(\"letter-spacing\", y);\n var S = this.buildTextContents(i.finalText);\n\n for (e = S.length, d = i.ps ? i.ps[1] + i.ascent : 0, t = 0; t < e; t += 1) {\n (n = this.textSpans[t] || createNS(\"tspan\")).textContent = S[t], n.setAttribute(\"x\", 0), n.setAttribute(\"y\", d), n.style.display = \"inherit\", x.appendChild(n), this.textSpans[t] = n, d += i.finalLineHeight;\n }\n\n this.layerElement.appendChild(x);\n }\n\n for (; t < this.textSpans.length;) {\n this.textSpans[t].style.display = \"none\", t += 1;\n }\n\n this._sizeChanged = !0;\n }, SVGTextElement.prototype.sourceRectAtTime = function (t) {\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {\n this._sizeChanged = !1;\n var e = this.layerElement.getBBox();\n this.bbox = {\n top: e.y,\n left: e.x,\n width: e.width,\n height: e.height\n };\n }\n\n return this.bbox;\n }, SVGTextElement.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 i,\n r,\n s = this.textAnimator.renderedLetters,\n a = this.textProperty.currentData.l;\n\n for (e = a.length, t = 0; t < e; t += 1) {\n a[t].n || (i = s[t], r = this.textSpans[t], i._mdf.m && r.setAttribute(\"transform\", i.m), i._mdf.o && r.setAttribute(\"opacity\", i.o), i._mdf.sw && r.setAttribute(\"stroke-width\", i.sw), i._mdf.sc && r.setAttribute(\"stroke\", i.sc), i._mdf.fc && r.setAttribute(\"fill\", i.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 i,\n r,\n s = this.shapes.length,\n a = this.stylesList.length,\n n = [],\n o = !1;\n\n for (i = 0; i < a; i += 1) {\n for (r = this.stylesList[i], o = !1, n.length = 0, t = 0; t < s; t += 1) {\n -1 !== (e = this.shapes[t]).styles.indexOf(r) && (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 i = t.length;\n\n for (e = 0; e < i; e += 1) {\n t[e].setAsAnimated();\n }\n }, SVGShapeElement.prototype.createStyleElement = function (t, e) {\n var i,\n r = new SVGStyleData(t, e),\n s = r.pElem;\n if (\"st\" === t.ty) i = new SVGStrokeStyleData(this, t, r);else if (\"fl\" === t.ty) i = new SVGFillStyleData(this, t, r);else if (\"gf\" === t.ty || \"gs\" === t.ty) {\n i = new (\"gf\" === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, t, r), this.globalData.defs.appendChild(i.gf), i.maskId && (this.globalData.defs.appendChild(i.ms), this.globalData.defs.appendChild(i.of), s.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + i.maskId + \")\"));\n }\n return \"st\" !== t.ty && \"gs\" !== t.ty || (s.setAttribute(\"stroke-linecap\", this.lcEnum[t.lc] || \"round\"), s.setAttribute(\"stroke-linejoin\", this.ljEnum[t.lj] || \"round\"), s.setAttribute(\"fill-opacity\", \"0\"), 1 === t.lj && s.setAttribute(\"stroke-miterlimit\", t.ml)), 2 === t.r && s.setAttribute(\"fill-rule\", \"evenodd\"), t.ln && s.setAttribute(\"id\", t.ln), t.cl && s.setAttribute(\"class\", t.cl), t.bm && (s.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), this.stylesList.push(r), this.addToAnimatedContents(t, i), i;\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 i = TransformPropertyFactory.getTransformProperty(this, t, this),\n r = new SVGTransformData(i, i.o, e);\n return this.addToAnimatedContents(t, r), r;\n }, SVGShapeElement.prototype.createShapeElement = function (t, e, i) {\n var r = 4;\n \"rc\" === t.ty ? r = 5 : \"el\" === t.ty ? r = 6 : \"sr\" === t.ty && (r = 7);\n var s = new SVGShapeData(e, i, ShapePropertyFactory.getShapeProp(this, t, r, this));\n return this.shapes.push(s), this.addShapeToModifiers(s), this.addToAnimatedContents(t, s), s;\n }, SVGShapeElement.prototype.addToAnimatedContents = function (t, e) {\n for (var i = 0, r = this.animatedContents.length; i < r;) {\n if (this.animatedContents[i].element === e) return;\n i += 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 i = t.styles,\n r = this.stylesList.length;\n\n for (e = 0; e < r; e += 1) {\n this.stylesList[e].closed || i.push(this.stylesList[e]);\n }\n }, SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = !0;\n var t,\n 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, i, r, s, a, n) {\n var o,\n h,\n l,\n p,\n m,\n f,\n c = [].concat(a),\n d = t.length - 1,\n u = [],\n y = [];\n\n for (o = d; o >= 0; o -= 1) {\n if ((f = this.searchProcessedElement(t[o])) ? e[o] = i[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], s), t[o]._render && r.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, s + 1, c, n), t[o]._render && r.appendChild(e[o].gr);\n } else \"tr\" == t[o].ty ? (f || (e[o] = this.createTransformElement(t[o], r)), p = e[o].transform, c.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], c, s)), this.setElementStyles(e[o])) : \"tm\" == t[o].ty || \"rd\" == t[o].ty || \"ms\" == t[o].ty ? (f ? (m = e[o]).closed = !1 : ((m = ShapeModifiers.getModifier(t[o].ty)).init(this, t[o]), e[o] = m, this.shapeModifiers.push(m)), y.push(m)) : \"rp\" == t[o].ty && (f ? (m = e[o]).closed = !0 : (m = ShapeModifiers.getModifier(t[o].ty), e[o] = m, m.init(this, t, o, e), this.shapeModifiers.push(m), n = !1), y.push(m));\n this.addProcessedElement(t[o], o + 1);\n }\n\n for (d = u.length, o = 0; o < d; o += 1) {\n u[o].closed = !0;\n }\n\n for (d = y.length, o = 0; o < d; o += 1) {\n y[o].closed = !0;\n }\n }, SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var t,\n 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 i = this.animatedContents.length;\n\n for (t = 0; t < i; 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 i = this.filterManager.effectElements[1].p.v,\n r = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute(\"values\", i[0] - e[0] + \" 0 0 0 \" + e[0] + \" \" + (i[1] - e[1]) + \" 0 0 0 \" + e[1] + \" \" + (i[2] - e[2]) + \" 0 0 0 \" + e[2] + \" 0 0 0 \" + r + \" 0\");\n }\n }, SVGFillFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[2].p.v,\n i = 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 \" + i + \" 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 i = this.filterManager.effectElements[1].p.v,\n r = 3 == i ? 0 : e,\n s = 2 == i ? 0 : e;\n this.feGaussianBlur.setAttribute(\"stdDeviation\", r + \" \" + s);\n var a = 1 == this.filterManager.effectElements[2].p.v ? \"wrap\" : \"duplicate\";\n this.feGaussianBlur.setAttribute(\"edgeMode\", a);\n }\n }, SVGStrokeEffect.prototype.initialize = function () {\n var t,\n e,\n i,\n r,\n s = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n for (1 === this.filterManager.effectElements[1].p.v ? (r = this.elem.maskManager.masksProperties.length, i = 0) : r = (i = this.filterManager.effectElements[0].p.v - 1) + 1, (e = createNS(\"g\")).setAttribute(\"fill\", \"none\"), e.setAttribute(\"stroke-linecap\", \"round\"), e.setAttribute(\"stroke-dashoffset\", 1); i < r; i += 1) {\n t = createNS(\"path\"), e.appendChild(t), this.paths.push({\n p: t,\n m: i\n });\n }\n\n if (3 === this.filterManager.effectElements[10].p.v) {\n var a = createNS(\"mask\"),\n n = createElementID();\n a.setAttribute(\"id\", n), a.setAttribute(\"mask-type\", \"alpha\"), a.appendChild(e), this.elem.globalData.defs.appendChild(a);\n var o = createNS(\"g\");\n\n for (o.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + n + \")\"); s[0];) {\n o.appendChild(s[0]);\n }\n\n this.elem.layerElement.appendChild(o), this.masker = a, 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 (s = this.elem.layerElement.children || this.elem.layerElement.childNodes; s.length;) {\n this.elem.layerElement.removeChild(s[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 this.initialized || this.initialize();\n var e,\n i,\n r,\n s = this.paths.length;\n\n for (e = 0; e < s; e += 1) {\n if (-1 !== this.paths[e].m && (i = this.elem.maskManager.viewData[this.paths[e].m], r = this.paths[e].p, (t || this.filterManager._mdf || i.prop._mdf) && r.setAttribute(\"d\", i.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 || i.prop._mdf)) {\n var a;\n\n if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {\n var n = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) / 100,\n o = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) / 100,\n h = r.getTotalLength();\n a = \"0 0 0 \" + h * n + \" \";\n var l,\n p = h * (o - n),\n m = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v / 100,\n f = Math.floor(p / m);\n\n for (l = 0; l < f; l += 1) {\n a += \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v / 100 + \" \";\n }\n\n a += \"0 \" + 10 * h + \" 0 0\";\n } else a = \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v / 100;\n\n r.setAttribute(\"stroke-dasharray\", a);\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 c = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bm_floor(255 * c[0]) + \",\" + bm_floor(255 * c[1]) + \",\" + bm_floor(255 * c[2]) + \")\");\n }\n }, SVGTritoneFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n i = this.filterManager.effectElements[1].p.v,\n r = this.filterManager.effectElements[2].p.v,\n s = r[0] + \" \" + i[0] + \" \" + e[0],\n a = r[1] + \" \" + i[1] + \" \" + e[1],\n n = r[2] + \" \" + i[2] + \" \" + e[2];\n this.feFuncR.setAttribute(\"tableValues\", s), this.feFuncG.setAttribute(\"tableValues\", a), this.feFuncB.setAttribute(\"tableValues\", n);\n }\n }, SVGProLevelsFilter.prototype.createFeFunc = function (t, e) {\n var i = createNS(t);\n return i.setAttribute(\"type\", \"table\"), e.appendChild(i), i;\n }, SVGProLevelsFilter.prototype.getTableValue = function (t, e, i, r, s) {\n for (var a, n, o = 0, h = Math.min(t, e), l = Math.max(t, e), p = Array.call(null, {\n length: 256\n }), m = 0, f = s - r, c = e - t; o <= 256;) {\n n = (a = o / 256) <= h ? c < 0 ? s : r : a >= l ? c < 0 ? r : s : r + f * Math.pow((a - t) / c, 1 / i), p[m++] = n, 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 i = this.filterManager.effectElements;\n this.feFuncRComposed && (t || i[3].p._mdf || i[4].p._mdf || i[5].p._mdf || i[6].p._mdf || i[7].p._mdf) && (e = this.getTableValue(i[3].p.v, i[4].p.v, i[5].p.v, i[6].p.v, i[7].p.v), this.feFuncRComposed.setAttribute(\"tableValues\", e), this.feFuncGComposed.setAttribute(\"tableValues\", e), this.feFuncBComposed.setAttribute(\"tableValues\", e)), this.feFuncR && (t || i[10].p._mdf || i[11].p._mdf || i[12].p._mdf || i[13].p._mdf || i[14].p._mdf) && (e = this.getTableValue(i[10].p.v, i[11].p.v, i[12].p.v, i[13].p.v, i[14].p.v), this.feFuncR.setAttribute(\"tableValues\", e)), this.feFuncG && (t || i[17].p._mdf || i[18].p._mdf || i[19].p._mdf || i[20].p._mdf || i[21].p._mdf) && (e = this.getTableValue(i[17].p.v, i[18].p.v, i[19].p.v, i[20].p.v, i[21].p.v), this.feFuncG.setAttribute(\"tableValues\", e)), this.feFuncB && (t || i[24].p._mdf || i[25].p._mdf || i[26].p._mdf || i[27].p._mdf || i[28].p._mdf) && (e = this.getTableValue(i[24].p.v, i[25].p.v, i[26].p.v, i[27].p.v, i[28].p.v), this.feFuncB.setAttribute(\"tableValues\", e)), this.feFuncA && (t || i[31].p._mdf || i[32].p._mdf || i[33].p._mdf || i[34].p._mdf || i[35].p._mdf) && (e = this.getTableValue(i[31].p.v, i[32].p.v, i[33].p.v, i[34].p.v, i[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 i = this.filterManager.effectElements[3].p.v,\n r = (this.filterManager.effectElements[2].p.v - 90) * degToRads,\n s = i * Math.cos(r),\n a = i * Math.sin(r);\n this.feOffset.setAttribute(\"dx\", s), this.feOffset.setAttribute(\"dy\", a);\n }\n }\n };\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(t, e, i) {\n this.initialized = !1, this.filterManager = e, this.filterElem = t, this.elem = i, i.matteElement = createNS(\"g\"), i.matteElement.appendChild(i.layerElement), i.matteElement.appendChild(i.transformedElement), i.baseElement = i.matteElement;\n }\n\n function SVGEffects(t) {\n var e,\n i,\n r = t.data.ef ? t.data.ef.length : 0,\n s = createElementID(),\n a = filtersFactory.createFilter(s),\n n = 0;\n\n for (this.filters = [], e = 0; e < r; e += 1) {\n i = null, 20 === t.data.ef[e].ty ? (n += 1, i = new SVGTintFilter(a, t.effectsManager.effectElements[e])) : 21 === t.data.ef[e].ty ? (n += 1, i = new SVGFillFilter(a, t.effectsManager.effectElements[e])) : 22 === t.data.ef[e].ty ? i = new SVGStrokeEffect(t, t.effectsManager.effectElements[e]) : 23 === t.data.ef[e].ty ? (n += 1, i = new SVGTritoneFilter(a, t.effectsManager.effectElements[e])) : 24 === t.data.ef[e].ty ? (n += 1, i = new SVGProLevelsFilter(a, t.effectsManager.effectElements[e])) : 25 === t.data.ef[e].ty ? (n += 1, i = new SVGDropShadowEffect(a, t.effectsManager.effectElements[e])) : 28 === t.data.ef[e].ty ? i = new SVGMatte3Effect(a, t.effectsManager.effectElements[e], t) : 29 === t.data.ef[e].ty && (n += 1, i = new SVGGaussianBlurEffect(a, t.effectsManager.effectElements[e])), i && this.filters.push(i);\n }\n\n n && (t.globalData.defs.appendChild(a), t.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + s + \")\")), this.filters.length && t.addRenderableComponent(this);\n }\n\n function CVContextData() {\n this.saved = [], this.cArrPos = 0, this.cTr = new Matrix(), this.cO = 1;\n var t;\n\n for (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, i) {\n this.assetData = e.getAssetData(t.refId), this.img = e.imageLoader.getImage(this.assetData), this.initElement(t, e, i);\n }\n\n function CVCompElement(t, e, i) {\n this.completeLayers = !1, this.layers = t.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t, e, i), 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 this.data = t, this.element = e, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);\n var i,\n r = this.masksProperties.length,\n s = !1;\n\n for (i = 0; i < r; i++) {\n \"n\" !== this.masksProperties[i].mode && (s = !0), this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = s, s && this.element.addRenderableComponent(this);\n }\n\n function CVShapeElement(t, e, i) {\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, i);\n }\n\n function CVSolidElement(t, e, i) {\n this.initElement(t, e, i);\n }\n\n function CVTextElement(t, e, i) {\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, i);\n }\n\n function CVEffects() {}\n\n function HBaseElement(t, e, i) {}\n\n function HSolidElement(t, e, i) {\n this.initElement(t, e, i);\n }\n\n function HCompElement(t, e, i) {\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, i), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function HShapeElement(t, e, i) {\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, i), this.prevViewData = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n function HTextElement(t, e, i) {\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, i);\n }\n\n function HImageElement(t, e, i) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, i);\n }\n\n function HCameraElement(t, e, i) {\n this.initFrame(), this.initBaseData(t, e, i), this.initHierarchy();\n var r = PropertyFactory.getProp;\n\n if (this.pe = r(this, t.pe, 0, 0, this), t.ks.p.s ? (this.px = r(this, t.ks.p.x, 1, 0, this), this.py = r(this, t.ks.p.y, 1, 0, this), this.pz = r(this, t.ks.p.z, 1, 0, this)) : this.p = r(this, t.ks.p, 1, 0, this), t.ks.a && (this.a = r(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) {\n var s,\n a = t.ks.or.k.length;\n\n for (s = 0; s < a; s += 1) {\n t.ks.or.k[s].to = null, t.ks.or.k[s].ti = null;\n }\n }\n\n this.or = r(this, t.ks.or, 1, degToRads, this), this.or.sh = !0, this.rx = r(this, t.ks.rx, 0, degToRads, this), this.ry = r(this, t.ks.ry, 0, degToRads, this), this.rz = r(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 SVGMatte3Effect.prototype.findSymbol = function (t) {\n for (var e = 0, i = _svgMatteSymbols.length; e < i;) {\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 i = t.layerElement.parentNode;\n\n if (i) {\n for (var r, s = i.children, a = 0, n = s.length; a < n && s[a] !== t.layerElement;) {\n a += 1;\n }\n\n a <= n - 2 && (r = s[a + 1]);\n var o = createNS(\"use\");\n o.setAttribute(\"href\", \"#\" + e), r ? i.insertBefore(o, r) : i.appendChild(o);\n }\n }, SVGMatte3Effect.prototype.setElementAsMask = function (t, e) {\n if (!this.findSymbol(e)) {\n var i = createElementID(),\n r = createNS(\"mask\");\n r.setAttribute(\"id\", e.layerId), r.setAttribute(\"mask-type\", \"alpha\"), _svgMatteSymbols.push(e);\n var s = t.globalData.defs;\n s.appendChild(r);\n var a = createNS(\"symbol\");\n a.setAttribute(\"id\", i), this.replaceInParent(e, i), a.appendChild(e.layerElement), s.appendChild(a);\n var n = createNS(\"use\");\n n.setAttribute(\"href\", \"#\" + i), r.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, i = 0, r = e.length; i < r;) {\n e[i] && e[i].data.ind === t && this.setElementAsMask(this.elem, e[i]), i += 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 i = this.filters.length;\n\n for (e = 0; e < i; 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 i = 0;\n\n for (i = this._length; i < t; i += 1) {\n this.saved[i] = 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 i,\n r = t.getContext(\"2d\"),\n s = this.img.width,\n a = this.img.height,\n n = s / a,\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 = (i = a) * o : i = (e = s) / o, r.drawImage(this.img, (s - e) / 2, (a - i) / 2, e, i, 0, 0, this.assetData.w, this.assetData.h), this.img = t;\n }\n }, CVImageElement.prototype.renderInnerContent = function (t) {\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 i,\n r,\n s = this.element.finalTransform.mat,\n a = this.element.canvasContext,\n n = this.masksProperties.length;\n\n for (a.beginPath(), t = 0; t < n; t++) {\n if (\"n\" !== this.masksProperties[t].mode) {\n this.masksProperties[t].inv && (a.moveTo(0, 0), a.lineTo(this.element.globalData.compSize.w, 0), a.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), a.lineTo(0, this.element.globalData.compSize.h), a.lineTo(0, 0)), r = this.viewData[t].v, e = s.applyToPointArray(r.v[0][0], r.v[0][1], 0), a.moveTo(e[0], e[1]);\n var o,\n h = r._length;\n\n for (o = 1; o < h; o++) {\n i = s.applyToTriplePoints(r.o[o - 1], r.i[o], r.v[o]), a.bezierCurveTo(i[0], i[1], i[2], i[3], i[4], i[5]);\n }\n\n i = s.applyToTriplePoints(r.o[o - 1], r.i[0], r.v[0]), a.bezierCurveTo(i[0], i[1], i[2], i[3], i[4], i[5]);\n }\n }\n\n this.element.globalData.renderer.save(!0), a.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 i = {\n data: t,\n type: t.ty,\n preTransforms: this.transformsManager.addTransformSequence(e),\n transforms: [],\n elements: [],\n closed: !0 === t.hd\n },\n r = {};\n\n if (\"fl\" == t.ty || \"st\" == t.ty ? (r.c = PropertyFactory.getProp(this, t.c, 1, 255, this), r.c.k || (i.co = \"rgb(\" + bm_floor(r.c.v[0]) + \",\" + bm_floor(r.c.v[1]) + \",\" + bm_floor(r.c.v[2]) + \")\")) : \"gf\" !== t.ty && \"gs\" !== t.ty || (r.s = PropertyFactory.getProp(this, t.s, 1, null, this), r.e = PropertyFactory.getProp(this, t.e, 1, null, this), r.h = PropertyFactory.getProp(this, t.h || {\n k: 0\n }, 0, .01, this), r.a = PropertyFactory.getProp(this, t.a || {\n k: 0\n }, 0, degToRads, this), r.g = new GradientProperty(this, t.g, this)), r.o = PropertyFactory.getProp(this, t.o, 0, .01, this), \"st\" == t.ty || \"gs\" == t.ty) {\n if (i.lc = this.lcEnum[t.lc] || \"round\", i.lj = this.ljEnum[t.lj] || \"round\", 1 == t.lj && (i.ml = t.ml), r.w = PropertyFactory.getProp(this, t.w, 0, null, this), r.w.k || (i.wi = r.w.v), t.d) {\n var s = new DashProperty(this, t.d, \"canvas\", this);\n r.d = s, r.d.k || (i.da = r.d.dashArray, i.do = r.d.dashoffset[0]);\n }\n } else i.r = 2 === t.r ? \"evenodd\" : \"nonzero\";\n\n return this.stylesList.push(i), r.style = i, r;\n }, CVShapeElement.prototype.createGroupElement = function (t) {\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 this._isFirstFrame = !0;\n var t,\n 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 i = this.stylesList.length;\n\n for (e = 0; e < i; 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 i = t.length;\n\n for (e = 0; e < i; e += 1) {\n t[e].closed = !0;\n }\n }, CVShapeElement.prototype.searchShapes = function (t, e, i, r, s) {\n var a,\n n,\n o,\n h,\n l,\n p,\n m = t.length - 1,\n f = [],\n c = [],\n d = [].concat(s);\n\n for (a = m; a >= 0; a -= 1) {\n if ((h = this.searchProcessedElement(t[a])) ? e[a] = i[h - 1] : t[a]._shouldRender = r, \"fl\" == t[a].ty || \"st\" == t[a].ty || \"gf\" == t[a].ty || \"gs\" == t[a].ty) h ? e[a].style.closed = !1 : e[a] = this.createStyleElement(t[a], d), f.push(e[a].style);else if (\"gr\" == t[a].ty) {\n if (h) for (o = e[a].it.length, n = 0; n < o; n += 1) {\n e[a].prevViewData[n] = e[a].it[n];\n } else e[a] = this.createGroupElement(t[a]);\n this.searchShapes(t[a].it, e[a].it, e[a].prevViewData, r, d);\n } else \"tr\" == t[a].ty ? (h || (p = this.createTransformElement(t[a]), e[a] = p), d.push(e[a]), this.addTransformToStyleList(e[a])) : \"sh\" == t[a].ty || \"rc\" == t[a].ty || \"el\" == t[a].ty || \"sr\" == t[a].ty ? h || (e[a] = this.createShapeElement(t[a])) : \"tm\" == t[a].ty || \"rd\" == t[a].ty ? (h ? (l = e[a]).closed = !1 : ((l = ShapeModifiers.getModifier(t[a].ty)).init(this, t[a]), e[a] = l, this.shapeModifiers.push(l)), c.push(l)) : \"rp\" == t[a].ty && (h ? (l = e[a]).closed = !0 : (l = ShapeModifiers.getModifier(t[a].ty), e[a] = l, l.init(this, t, a, e), this.shapeModifiers.push(l), r = !1), c.push(l));\n this.addProcessedElement(t[a], a + 1);\n }\n\n for (this.removeTransformFromStyleList(), this.closeStyles(f), m = c.length, a = 0; a < m; a += 1) {\n c[a].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 i,\n r,\n s,\n a,\n n,\n o,\n h,\n l = this.stylesList.length,\n p = this.globalData.renderer,\n m = 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(), a = h.elements, \"st\" === o || \"gs\" === o ? (m.strokeStyle = \"st\" === o ? h.co : h.grd, m.lineWidth = h.wi, m.lineCap = h.lc, m.lineJoin = h.lj, m.miterLimit = h.ml || 0) : m.fillStyle = \"fl\" === o ? h.co : h.grd, p.ctxOpacity(h.coOp), \"st\" !== o && \"gs\" !== o && m.beginPath(), p.ctxTransform(h.preTransforms.finalTransform.props), i = a.length, e = 0; e < i; e += 1) {\n for (\"st\" !== o && \"gs\" !== o || (m.beginPath(), h.da && (m.setLineDash(h.da), m.lineDashOffset = h.do)), s = (n = a[e].trNodes).length, r = 0; r < s; r += 1) {\n \"m\" == n[r].t ? m.moveTo(n[r].p[0], n[r].p[1]) : \"c\" == n[r].t ? m.bezierCurveTo(n[r].pts[0], n[r].pts[1], n[r].pts[2], n[r].pts[3], n[r].pts[4], n[r].pts[5]) : m.closePath();\n }\n\n \"st\" !== o && \"gs\" !== o || (m.stroke(), h.da && m.setLineDash(this.dashResetter));\n }\n\n \"st\" !== o && \"gs\" !== o && m.fill(h.r), p.restore();\n }\n }\n }, CVShapeElement.prototype.renderShape = function (t, e, i, r) {\n var s, a;\n\n for (a = t, s = e.length - 1; s >= 0; s -= 1) {\n \"tr\" == e[s].ty ? (a = i[s].transform, this.renderShapeTransform(t, a)) : \"sh\" == e[s].ty || \"el\" == e[s].ty || \"rc\" == e[s].ty || \"sr\" == e[s].ty ? this.renderPath(e[s], i[s]) : \"fl\" == e[s].ty ? this.renderFill(e[s], i[s], a) : \"st\" == e[s].ty ? this.renderStroke(e[s], i[s], a) : \"gf\" == e[s].ty || \"gs\" == e[s].ty ? this.renderGradientFill(e[s], i[s], a) : \"gr\" == e[s].ty ? this.renderShape(a, e[s].it, i[s].it) : e[s].ty;\n }\n\n r && this.drawLayer();\n }, CVShapeElement.prototype.renderStyledShape = function (t, e) {\n if (this._isFirstFrame || e._mdf || t.transforms._mdf) {\n var i,\n r,\n s,\n a = t.trNodes,\n n = e.paths,\n o = n._length;\n a.length = 0;\n var h = t.transforms.finalTransform;\n\n for (s = 0; s < o; s += 1) {\n var l = n.shapes[s];\n\n if (l && l.v) {\n for (r = l._length, i = 1; i < r; i += 1) {\n 1 === i && a.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), a.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[i - 1], l.i[i], l.v[i])\n });\n }\n\n 1 === r && a.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), l.c && r && (a.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[i - 1], l.i[0], l.v[0])\n }), a.push({\n t: \"z\"\n }));\n }\n }\n\n t.trNodes = a;\n }\n }, CVShapeElement.prototype.renderPath = function (t, e) {\n if (!0 !== t.hd && t._shouldRender) {\n var i,\n r = e.styledShapes.length;\n\n for (i = 0; i < r; i += 1) {\n this.renderStyledShape(e.styledShapes[i], e.sh);\n }\n }\n }, CVShapeElement.prototype.renderFill = function (t, e, i) {\n var r = e.style;\n (e.c._mdf || this._isFirstFrame) && (r.co = \"rgb(\" + bm_floor(e.c.v[0]) + \",\" + bm_floor(e.c.v[1]) + \",\" + bm_floor(e.c.v[2]) + \")\"), (e.o._mdf || i._opMdf || this._isFirstFrame) && (r.coOp = e.o.v * i.opacity);\n }, CVShapeElement.prototype.renderGradientFill = function (t, e, i) {\n var r = e.style;\n\n if (!r.grd || e.g._mdf || e.s._mdf || e.e._mdf || 1 !== t.t && (e.h._mdf || e.a._mdf)) {\n var s = this.globalData.canvasContext,\n a = e.s.v,\n n = e.e.v;\n if (1 === t.t) f = s.createLinearGradient(a[0], a[1], n[0], n[1]);else var o = Math.sqrt(Math.pow(a[0] - n[0], 2) + Math.pow(a[1] - n[1], 2)),\n h = Math.atan2(n[1] - a[1], n[0] - a[0]),\n l = o * (e.h.v >= 1 ? .99 : e.h.v <= -1 ? -.99 : e.h.v),\n p = Math.cos(h + e.a.v) * l + a[0],\n m = Math.sin(h + e.a.v) * l + a[1],\n f = s.createRadialGradient(p, m, 0, a[0], a[1], o);\n var c,\n d = t.g.p,\n u = e.g.c,\n y = 1;\n\n for (c = 0; c < d; c += 1) {\n e.g._hasOpacity && e.g._collapsable && (y = e.g.o[2 * c + 1]), f.addColorStop(u[4 * c] / 100, \"rgba(\" + u[4 * c + 1] + \",\" + u[4 * c + 2] + \",\" + u[4 * c + 3] + \",\" + y + \")\");\n }\n\n r.grd = f;\n }\n\n r.coOp = e.o.v * i.opacity;\n }, CVShapeElement.prototype.renderStroke = function (t, e, i) {\n var r = e.style,\n s = e.d;\n s && (s._mdf || this._isFirstFrame) && (r.da = s.dashArray, r.do = s.dashoffset[0]), (e.c._mdf || this._isFirstFrame) && (r.co = \"rgb(\" + bm_floor(e.c.v[0]) + \",\" + bm_floor(e.c.v[1]) + \",\" + bm_floor(e.c.v[2]) + \")\"), (e.o._mdf || i._opMdf || this._isFirstFrame) && (r.coOp = e.o.v * i.opacity), (e.w._mdf || this._isFirstFrame) && (r.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 i = !1;\n t.sc && (i = !0, this.values.stroke = this.buildColor(t.sc), this.values.sWidth = t.sw);\n var r,\n s,\n a = this.globalData.fontManager.getFontByName(t.f),\n n = t.l,\n o = this.mHelper;\n this.stroke = i, this.values.fValue = t.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t.f).fFamily, s = t.finalText.length;\n var h,\n l,\n p,\n m,\n f,\n c,\n d,\n u,\n y,\n g,\n v = this.data.singleShape,\n b = t.tr / 1e3 * t.finalSize,\n x = 0,\n E = 0,\n S = !0,\n P = 0;\n\n for (r = 0; r < s; r += 1) {\n for (l = (h = this.globalData.fontManager.getCharData(t.finalText[r], a.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily)) && h.data || {}, o.reset(), v && n[r].n && (x = -b, E += t.yOffset, E += S ? 1 : 0, S = !1), d = (f = l.shapes ? l.shapes[0].it : []).length, o.scale(t.finalSize / 100, t.finalSize / 100), v && this.applyTextPropertiesToMatrix(t, o, n[r].line, x, E), y = createSizedArray(d), c = 0; c < d; c += 1) {\n for (m = f[c].ks.k.i.length, u = f[c].ks.k, g = [], p = 1; p < m; p += 1) {\n 1 == p && g.push(o.applyToX(u.v[0][0], u.v[0][1], 0), o.applyToY(u.v[0][0], u.v[0][1], 0)), g.push(o.applyToX(u.o[p - 1][0], u.o[p - 1][1], 0), o.applyToY(u.o[p - 1][0], u.o[p - 1][1], 0), o.applyToX(u.i[p][0], u.i[p][1], 0), o.applyToY(u.i[p][0], u.i[p][1], 0), o.applyToX(u.v[p][0], u.v[p][1], 0), o.applyToY(u.v[p][0], u.v[p][1], 0));\n }\n\n g.push(o.applyToX(u.o[p - 1][0], u.o[p - 1][1], 0), o.applyToY(u.o[p - 1][0], u.o[p - 1][1], 0), o.applyToX(u.i[0][0], u.i[0][1], 0), o.applyToY(u.i[0][0], u.i[0][1], 0), o.applyToX(u.v[0][0], u.v[0][1], 0), o.applyToY(u.v[0][0], u.v[0][1], 0)), y[c] = g;\n }\n\n v && (x += n[r].l, x += b), this.textSpans[P] ? this.textSpans[P].elem = y : this.textSpans[P] = {\n elem: y\n }, P += 1;\n }\n }, CVTextElement.prototype.renderInnerContent = function () {\n var t,\n e,\n i,\n r,\n s,\n a,\n n = this.canvasContext;\n this.finalTransform.mat.props;\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 m,\n f = null,\n c = null,\n d = 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), r = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), i = 0; i < r; i += 1) {\n for (a = (m = p[i]).length, this.globalData.canvasContext.moveTo(m[0], m[1]), s = 2; s < a; s += 6) {\n this.globalData.canvasContext.bezierCurveTo(m[s], m[s + 1], m[s + 2], m[s + 3], m[s + 4], m[s + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.fill();\n }\n\n if (this.stroke) {\n for (o && o.sw ? d !== o.sw && (d = o.sw, n.lineWidth = o.sw) : d !== this.values.sWidth && (d = this.values.sWidth, n.lineWidth = this.values.sWidth), o && o.sc ? c !== o.sc && (c = o.sc, n.strokeStyle = o.sc) : c !== this.values.stroke && (c = this.values.stroke, n.strokeStyle = this.values.stroke), r = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), i = 0; i < r; i += 1) {\n for (a = (m = p[i]).length, this.globalData.canvasContext.moveTo(m[0], m[1]), s = 2; s < a; s += 6) {\n this.globalData.canvasContext.bezierCurveTo(m[s], m[s + 1], m[s + 2], m[s + 3], m[s + 4], m[s + 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 this.finalTransform._matMdf && (this.transformedElement.style.transform = this.transformedElement.style.webkitTransform = this.finalTransform.mat.toCSS()), this.finalTransform._opMdf && (this.transformedElement.style.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 i, r = 0; r < e;) {\n this.elements[r] && this.elements[r].getBaseElement && (i = this.elements[r].getBaseElement()), r += 1;\n }\n\n i ? this.layerElement.insertBefore(t, i) : 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 i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n e = t[i].mProps.v.applyToPointArray(e[0], e[1], 0);\n }\n\n return e;\n }, HShapeElement.prototype.calculateShapeBoundingBox = function (t, e) {\n var i,\n r,\n s,\n a,\n n,\n o = t.sh.v,\n h = t.transformers,\n l = o._length;\n\n if (!(l <= 1)) {\n for (i = 0; i < l - 1; i += 1) {\n r = this.getTransformedPoint(h, o.v[i]), s = this.getTransformedPoint(h, o.o[i]), a = this.getTransformedPoint(h, o.i[i + 1]), n = this.getTransformedPoint(h, o.v[i + 1]), this.checkBounds(r, s, a, n, e);\n }\n\n o.c && (r = this.getTransformedPoint(h, o.v[i]), s = this.getTransformedPoint(h, o.o[i]), a = this.getTransformedPoint(h, o.i[0]), n = this.getTransformedPoint(h, o.v[0]), this.checkBounds(r, s, a, n, e));\n }\n }, HShapeElement.prototype.checkBounds = function (t, e, i, r, s) {\n this.getBoundsOfCurve(t, e, i, r);\n var a = this.shapeBoundingBox;\n s.x = bm_min(a.left, s.x), s.xMax = bm_max(a.right, s.xMax), s.y = bm_min(a.top, s.y), s.yMax = bm_max(a.bottom, s.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, i, r) {\n for (var s, a, n, o, h, l, p, m = [[t[0], r[0]], [t[1], r[1]]], f = 0; f < 2; ++f) {\n if (a = 6 * t[f] - 12 * e[f] + 6 * i[f], s = -3 * t[f] + 9 * e[f] - 9 * i[f] + 3 * r[f], n = 3 * e[f] - 3 * t[f], a |= 0, n |= 0, 0 !== (s |= 0)) (h = a * a - 4 * n * s) < 0 || (0 < (l = (-a + bm_sqrt(h)) / (2 * s)) && l < 1 && m[f].push(this.calculateF(l, t, e, i, r, f)), 0 < (p = (-a - bm_sqrt(h)) / (2 * s)) && p < 1 && m[f].push(this.calculateF(p, t, e, i, r, f)));else {\n if (0 === a) continue;\n 0 < (o = -n / a) && o < 1 && m[f].push(this.calculateF(o, t, e, i, r, f));\n }\n }\n\n this.shapeBoundingBox.left = bm_min.apply(null, m[0]), this.shapeBoundingBox.top = bm_min.apply(null, m[1]), this.shapeBoundingBox.right = bm_max.apply(null, m[0]), this.shapeBoundingBox.bottom = bm_max.apply(null, m[1]);\n }, HShapeElement.prototype.calculateF = function (t, e, i, r, s, a) {\n return bm_pow(1 - t, 3) * e[a] + 3 * bm_pow(1 - t, 2) * t * i[a] + 3 * (1 - t) * bm_pow(t, 2) * r[a] + bm_pow(t, 3) * s[a];\n }, HShapeElement.prototype.calculateBoundingBox = function (t, e) {\n var i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n t[i] && t[i].sh ? this.calculateShapeBoundingBox(t[i], e) : t[i] && t[i].it && this.calculateBoundingBox(t[i].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 i = !1;\n this.currentBBox.w !== t.width && (this.currentBBox.w = t.width, this.shapeCont.setAttribute(\"width\", t.width), i = !0), this.currentBBox.h !== t.height && (this.currentBBox.h = t.height, this.shapeCont.setAttribute(\"height\", t.height), i = !0), (i || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) && (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), this.shapeCont.style.transform = this.shapeCont.style.webkitTransform = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\");\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 e.color = e.fill = t.fc ? this.buildColor(t.fc) : \"rgba(0,0,0,0)\", t.sc && (e.stroke = this.buildColor(t.sc), e.strokeWidth = t.sw + \"px\");\n var i,\n r,\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 a = t.fWeight,\n n = t.fStyle;\n e.fontStyle = n, e.fontWeight = a;\n }\n var o,\n h,\n l,\n p = t.l;\n r = p.length;\n var m,\n f = this.mHelper,\n c = \"\",\n d = 0;\n\n for (i = 0; i < r; i += 1) {\n if (this.globalData.fontManager.chars ? (this.textPaths[d] ? o = this.textPaths[d] : ((o = createNS(\"path\")).setAttribute(\"stroke-linecap\", \"butt\"), o.setAttribute(\"stroke-linejoin\", \"round\"), o.setAttribute(\"stroke-miterlimit\", \"4\")), this.isMasked || (this.textSpans[d] ? l = (h = this.textSpans[d]).children[0] : ((h = createTag(\"div\")).style.lineHeight = 0, (l = createNS(\"svg\")).appendChild(o), styleDiv(h)))) : this.isMasked ? o = this.textPaths[d] ? this.textPaths[d] : createNS(\"text\") : this.textSpans[d] ? (h = this.textSpans[d], o = this.textPaths[d]) : (styleDiv(h = createTag(\"span\")), styleDiv(o = createTag(\"span\")), h.appendChild(o)), this.globalData.fontManager.chars) {\n var u,\n y = this.globalData.fontManager.getCharData(t.finalText[i], s.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily);\n if (u = y ? y.data : null, f.reset(), u && u.shapes && (m = u.shapes[0].it, f.scale(t.finalSize / 100, t.finalSize / 100), c = this.createPathShape(f, m), o.setAttribute(\"d\", c)), this.isMasked) this.innerElem.appendChild(o);else {\n if (this.innerElem.appendChild(h), u && u.shapes) {\n document.body.appendChild(l);\n var g = l.getBBox();\n l.setAttribute(\"width\", g.width + 2), l.setAttribute(\"height\", g.height + 2), l.setAttribute(\"viewBox\", g.x - 1 + \" \" + (g.y - 1) + \" \" + (g.width + 2) + \" \" + (g.height + 2)), l.style.transform = l.style.webkitTransform = \"translate(\" + (g.x - 1) + \"px,\" + (g.y - 1) + \"px)\", p[i].yOffset = g.y - 1;\n } else l.setAttribute(\"width\", 1), l.setAttribute(\"height\", 1);\n\n h.appendChild(l);\n }\n } else o.textContent = p[i].val, o.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"), this.isMasked ? this.innerElem.appendChild(o) : (this.innerElem.appendChild(h), o.style.transform = o.style.webkitTransform = \"translate3d(0,\" + -t.finalSize / 1.2 + \"px,0)\");\n\n this.isMasked ? this.textSpans[d] = o : this.textSpans[d] = h, this.textSpans[d].style.display = \"block\", this.textPaths[d] = o, d += 1;\n }\n\n for (; d < this.textSpans.length;) {\n this.textSpans[d].style.display = \"none\", d += 1;\n }\n }, HTextElement.prototype.renderInnerContent = function () {\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) return;\n this.isMasked && this.finalTransform._matMdf && (this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH), this.svgElement.style.transform = this.svgElement.style.webkitTransform = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\");\n }\n\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n var t,\n e,\n i,\n r,\n s,\n a = 0,\n n = this.textAnimator.renderedLetters,\n o = this.textProperty.currentData.l;\n\n for (e = o.length, t = 0; t < e; t += 1) {\n o[t].n ? a += 1 : (r = this.textSpans[t], s = this.textPaths[t], i = n[a], a += 1, i._mdf.m && (this.isMasked ? r.setAttribute(\"transform\", i.m) : r.style.transform = r.style.webkitTransform = i.m), r.style.opacity = i.o, i.sw && i._mdf.sw && s.setAttribute(\"stroke-width\", i.sw), i.sc && i._mdf.sc && s.setAttribute(\"stroke\", i.sc), i.fc && i._mdf.fc && (s.setAttribute(\"fill\", i.fc), s.style.color = i.fc));\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var h = this.innerElem.getBBox();\n this.currentBBox.w !== h.width && (this.currentBBox.w = h.width, this.svgElement.setAttribute(\"width\", h.width)), this.currentBBox.h !== h.height && (this.currentBBox.h = h.height, this.svgElement.setAttribute(\"height\", h.height));\n this.currentBBox.w === h.width + 2 && this.currentBBox.h === h.height + 2 && this.currentBBox.x === h.x - 1 && this.currentBBox.y === h.y - 1 || (this.currentBBox.w = h.width + 2, this.currentBBox.h = h.height + 2, this.currentBBox.x = h.x - 1, this.currentBBox.y = h.y - 1, this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h), this.svgElement.style.transform = this.svgElement.style.webkitTransform = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\");\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.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 i = this.comp.threeDElements.length;\n\n for (t = 0; t < i; t += 1) {\n \"3d\" === (e = this.comp.threeDElements[t]).type && (e.perspectiveElem.style.perspective = e.perspectiveElem.style.webkitPerspective = this.pe.v + \"px\", e.container.style.transformOrigin = e.container.style.mozTransformOrigin = e.container.style.webkitTransformOrigin = \"0px 0px 0px\", e.perspectiveElem.style.transform = e.perspectiveElem.style.webkitTransform = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\");\n }\n }, HCameraElement.prototype.createElements = function () {}, HCameraElement.prototype.hide = function () {}, HCameraElement.prototype.renderFrame = function () {\n var t,\n e,\n i = this._isFirstFrame;\n if (this.hierarchy) for (e = this.hierarchy.length, t = 0; t < e; t += 1) {\n i = this.hierarchy[t].finalTransform.mProp._mdf || i;\n }\n\n if (i || 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 r = this.hierarchy[t].finalTransform.mProp;\n this.mat.translate(-r.p.v[0], -r.p.v[1], r.p.v[2]), this.mat.rotateX(-r.or.v[0]).rotateY(-r.or.v[1]).rotateZ(r.or.v[2]), this.mat.rotateX(-r.rx.v).rotateY(-r.ry.v).rotateZ(r.rz.v), this.mat.scale(1 / r.s.v[0], 1 / r.s.v[1], 1 / r.s.v[2]), this.mat.translate(r.a.v[0], r.a.v[1], r.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 s;\n s = 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 a = Math.sqrt(Math.pow(s[0], 2) + Math.pow(s[1], 2) + Math.pow(s[2], 2)),\n n = [s[0] / a, s[1] / a, s[2] / a],\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 m;\n\n for (e = this.comp.threeDElements.length, t = 0; t < e; t += 1) {\n \"3d\" === (m = this.comp.threeDElements[t]).type && (p && (m.container.style.transform = m.container.style.webkitTransform = this.mat.toCSS()), this.pe._mdf && (m.perspectiveElem.style.perspective = m.perspectiveElem.style.webkitPerspective = this.pe.v + \"px\"));\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 };\n\n var animationManager = function () {\n var t = {},\n e = [],\n i = 0,\n r = 0,\n s = 0,\n a = !0,\n n = !1;\n\n function o(t) {\n for (var i = 0, s = t.target; i < r;) {\n e[i].animation === s && (e.splice(i, 1), i -= 1, r -= 1, s.isPaused || p()), i += 1;\n }\n }\n\n function h(t, i) {\n if (!t) return null;\n\n for (var s = 0; s < r;) {\n if (e[s].elem == t && null !== e[s].elem) return e[s].animation;\n s += 1;\n }\n\n var a = new AnimationItem();\n return m(a, t), a.setData(t, i), a;\n }\n\n function l() {\n s += 1, d();\n }\n\n function p() {\n s -= 1;\n }\n\n function m(t, i) {\n t.addEventListener(\"destroy\", o), t.addEventListener(\"_active\", l), t.addEventListener(\"_idle\", p), e.push({\n elem: i,\n animation: t\n }), r += 1;\n }\n\n function f(t) {\n var o,\n h = t - i;\n\n for (o = 0; o < r; o += 1) {\n e[o].animation.advanceTime(h);\n }\n\n i = t, s && !n ? window.requestAnimationFrame(f) : a = !0;\n }\n\n function c(t) {\n i = t, window.requestAnimationFrame(f);\n }\n\n function d() {\n !n && s && a && (window.requestAnimationFrame(c), a = !1);\n }\n\n return t.registerAnimation = h, t.loadAnimation = function (t) {\n var e = new AnimationItem();\n return m(e, null), e.setParams(t), e;\n }, t.setSpeed = function (t, i) {\n var s;\n\n for (s = 0; s < r; s += 1) {\n e[s].animation.setSpeed(t, i);\n }\n }, t.setDirection = function (t, i) {\n var s;\n\n for (s = 0; s < r; s += 1) {\n e[s].animation.setDirection(t, i);\n }\n }, t.play = function (t) {\n var i;\n\n for (i = 0; i < r; i += 1) {\n e[i].animation.play(t);\n }\n }, t.pause = function (t) {\n var i;\n\n for (i = 0; i < r; i += 1) {\n e[i].animation.pause(t);\n }\n }, t.stop = function (t) {\n var i;\n\n for (i = 0; i < r; i += 1) {\n e[i].animation.stop(t);\n }\n }, t.togglePause = function (t) {\n var i;\n\n for (i = 0; i < r; i += 1) {\n e[i].animation.togglePause(t);\n }\n }, t.searchAnimations = function (t, e, i) {\n var r,\n s = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))),\n a = s.length;\n\n for (r = 0; r < a; r += 1) {\n i && s[r].setAttribute(\"data-bm-type\", i), h(s[r], t);\n }\n\n if (e && 0 === a) {\n i || (i = \"svg\");\n var n = document.getElementsByTagName(\"body\")[0];\n n.innerHTML = \"\";\n var o = createTag(\"div\");\n o.style.width = \"100%\", o.style.height = \"100%\", o.setAttribute(\"data-bm-type\", i), n.appendChild(o), h(o, t);\n }\n }, t.resize = function () {\n var t;\n\n for (t = 0; t < r; t += 1) {\n e[t].animation.resize();\n }\n }, t.goToAndStop = function (t, i, s) {\n var a;\n\n for (a = 0; a < r; a += 1) {\n e[a].animation.goToAndStop(t, i, s);\n }\n }, t.destroy = function (t) {\n var i;\n\n for (i = r - 1; i >= 0; i -= 1) {\n e[i].animation.destroy(t);\n }\n }, t.freeze = function () {\n n = !0;\n }, t.unfreeze = function () {\n n = !1, d();\n }, t.getRegisteredAnimations = function () {\n var t,\n i = e.length,\n r = [];\n\n for (t = 0; t < i; t += 1) {\n r.push(e[t].animation);\n }\n\n return r;\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();\n };\n\n extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function (t) {\n t.context && (this.context = t.context), (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);\n var e = t.animType ? t.animType : t.renderer ? t.renderer : \"svg\";\n\n switch (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.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), this.autoplay = !(\"autoplay\" in t) || t.autoplay, this.name = t.name ? t.name : \"\", this.autoloadSegments = !t.hasOwnProperty(\"autoloadSegments\") || t.autoloadSegments, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.animationData ? this.configAnimation(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\")), assetLoader.load(t.path, this.configAnimation.bind(this), function () {\n this.trigger(\"data_failed\");\n }.bind(this)));\n }, AnimationItem.prototype.setData = function (t, e) {\n var i = {\n wrapper: t,\n animationData: e ? \"object\" == typeof e ? e : JSON.parse(e) : null\n },\n r = t.attributes;\n i.path = r.getNamedItem(\"data-animation-path\") ? r.getNamedItem(\"data-animation-path\").value : r.getNamedItem(\"data-bm-path\") ? r.getNamedItem(\"data-bm-path\").value : r.getNamedItem(\"bm-path\") ? r.getNamedItem(\"bm-path\").value : \"\", i.animType = r.getNamedItem(\"data-anim-type\") ? r.getNamedItem(\"data-anim-type\").value : r.getNamedItem(\"data-bm-type\") ? r.getNamedItem(\"data-bm-type\").value : r.getNamedItem(\"bm-type\") ? r.getNamedItem(\"bm-type\").value : r.getNamedItem(\"data-bm-renderer\") ? r.getNamedItem(\"data-bm-renderer\").value : r.getNamedItem(\"bm-renderer\") ? r.getNamedItem(\"bm-renderer\").value : \"canvas\";\n var s = r.getNamedItem(\"data-anim-loop\") ? r.getNamedItem(\"data-anim-loop\").value : r.getNamedItem(\"data-bm-loop\") ? r.getNamedItem(\"data-bm-loop\").value : r.getNamedItem(\"bm-loop\") ? r.getNamedItem(\"bm-loop\").value : \"\";\n \"\" === s || (i.loop = \"false\" !== s && (\"true\" === s || parseInt(s)));\n var a = r.getNamedItem(\"data-anim-autoplay\") ? r.getNamedItem(\"data-anim-autoplay\").value : r.getNamedItem(\"data-bm-autoplay\") ? r.getNamedItem(\"data-bm-autoplay\").value : !r.getNamedItem(\"bm-autoplay\") || r.getNamedItem(\"bm-autoplay\").value;\n i.autoplay = \"false\" !== a, i.name = r.getNamedItem(\"data-name\") ? r.getNamedItem(\"data-name\").value : r.getNamedItem(\"data-bm-name\") ? r.getNamedItem(\"data-bm-name\").value : r.getNamedItem(\"bm-name\") ? r.getNamedItem(\"bm-name\").value : \"\", \"false\" === (r.getNamedItem(\"data-anim-prerender\") ? r.getNamedItem(\"data-anim-prerender\").value : r.getNamedItem(\"data-bm-prerender\") ? r.getNamedItem(\"data-bm-prerender\").value : r.getNamedItem(\"bm-prerender\") ? r.getNamedItem(\"bm-prerender\").value : \"\") && (i.prerender = !1), this.setParams(i);\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 i,\n r = this.animationData.layers,\n s = r.length,\n a = t.layers,\n n = a.length;\n\n for (i = 0; i < n; i += 1) {\n for (e = 0; e < s;) {\n if (r[e].id == a[i].id) {\n r[e] = a[i];\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 (s = t.assets.length, e = 0; e < s; e += 1) {\n this.animationData.assets.push(t.assets[e]);\n }\n this.animationData.__complete = !1, dataManager.completeData(this.animationData, this.renderer.globalData.fontManager), this.renderer.includeLayers(t.layers), 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 i = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\n this.segmentPos += 1, assetLoader.load(i, 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.trigger(\"config_ready\"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded();\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.loaded() && \"canvas\" === this.renderer.rendererType || (this.isLoaded = !0, dataManager.completeData(this.animationData, this.renderer.globalData.fontManager), 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();\n }, AnimationItem.prototype.renderFrame = function () {\n if (!1 !== this.isLoaded) 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._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\"));\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.goToAndStop = function (t, e, i) {\n i && this.name != i || (e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier), this.pause());\n }, AnimationItem.prototype.goToAndPlay = function (t, e, i) {\n this.goToAndStop(t, e, i), this.play();\n }, AnimationItem.prototype.advanceTime = function (t) {\n if (!0 !== this.isPaused && !1 !== this.isLoaded) {\n var e = this.currentRawFrame + t * this.frameModifier,\n i = !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) || (i = !0, e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (i = !0, e = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e), i && (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.timeCompleted = this.totalFrames = t[0] - t[1], 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.timeCompleted = this.totalFrames = t[1] - t[0], this.firstFrame = t[0], this.setCurrentRawFrameValue(.001 + e)), this.trigger(\"segmentStart\");\n }, AnimationItem.prototype.setSegment = function (t, e) {\n var i = -1;\n this.isPaused && (this.currentRawFrame + this.firstFrame < t ? i = t : this.currentRawFrame + this.firstFrame > e && (i = e - t)), this.firstFrame = t, this.timeCompleted = this.totalFrames = e - t, -1 !== i && this.goToAndStop(i, !0);\n }, AnimationItem.prototype.playSegments = function (t, e) {\n if (e && (this.segments.length = 0), \"object\" == typeof t[0]) {\n var i,\n r = t.length;\n\n for (i = 0; i < r; i += 1) {\n this.segments.push(t[i]);\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 = this.onLoopComplete = this.onComplete = this.onSegmentStart = this.onDestroy = null, this.renderer = 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.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * 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 i = t.p;\n -1 !== i.indexOf(\"images/\") && (i = i.split(\"/\")[1]), e = this.assetsPath + i;\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, i = this.assets.length; e < i;) {\n if (t == this.assets[e].id) return this.assets[e];\n e += 1;\n }\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 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 return t.initExpressions = function (t) {\n var e = 0,\n i = [];\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 = i.length;\n\n for (t = 0; t < e; t += 1) {\n i[t].release();\n }\n\n i.length = 0;\n }();\n }, t.renderer.globalData.registerExpressionProperty = function (t) {\n -1 === i.indexOf(t) && i.push(t);\n };\n }, t;\n }();\n\n expressionsPlugin = Expressions;\n\n var ExpressionManager = function () {\n var ob = {},\n Math = BMMath,\n 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 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 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 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 loopOut,\n smooth,\n toWorld,\n fromWorld,\n fromComp,\n toComp,\n anchorPoint,\n thisLayer,\n thisComp,\n mask,\n valueAtTime,\n velocityAtTime,\n __expression_functions = [],\n scoped_bm_rt;\n\n if (data.xf) {\n var i,\n len = data.xf.length;\n\n for (i = 0; i < len; i += 1) {\n __expression_functions[i] = eval(\"(function(){ return \" + data.xf[i] + \"}())\");\n }\n }\n\n var 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 i,\n r,\n s = this.pv.length ? this.pv.length : 1,\n a = createTypedArray(\"float32\", s);\n var n = Math.floor(5 * time);\n\n for (i = 0, r = 0; i < n;) {\n for (r = 0; r < s; r += 1) {\n a[r] += -e + 2 * e * BMMath.random();\n }\n\n i += 1;\n }\n\n var o = 5 * time,\n h = o - Math.floor(o),\n l = createTypedArray(\"float32\", s);\n\n if (s > 1) {\n for (r = 0; r < s; r += 1) {\n l[r] = this.pv[r] + a[r] + (-e + 2 * e * BMMath.random()) * h;\n }\n\n return l;\n }\n\n return this.pv + a[0] + (-e + 2 * e * BMMath.random()) * h;\n }.bind(this);\n\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty)), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty)), 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 seedRandom(t) {\n BMMath.seedrandom(randSeed + t);\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, _needsRandom && seedRandom(randSeed), 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), transform || (transform = elem.layerInterface(\"ADBE Transform Group\")) && (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, needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, scoped_bm_rt.propType, 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, i) {\n e.x && (i.k = !0, i.x = !0, i.initiateExpression = ExpressionManager.initiateExpression, i.effectsSequence.push(i.initiateExpression(t, e, i).bind(i)));\n },\n getSpeedAtTime: function getSpeedAtTime(t) {\n var e = this.getValueAtTime(t),\n i = this.getValueAtTime(t + -.01),\n r = 0;\n\n if (e.length) {\n var s;\n\n for (s = 0; s < e.length; s += 1) {\n r += Math.pow(i[s] - e[s], 2);\n }\n\n r = 100 * Math.sqrt(r);\n } else r = 0;\n\n return r;\n },\n getVelocityAtTime: function getVelocityAtTime(t) {\n if (void 0 !== this.vel) return this.vel;\n var e,\n i,\n r = this.getValueAtTime(t),\n s = this.getValueAtTime(t + -.001);\n if (r.length) for (e = createTypedArray(\"float32\", r.length), i = 0; i < r.length; i += 1) {\n e[i] = (s[i] - r[i]) / -.001;\n } else e = (s - r) / -.001;\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, i) {\n if (!this.k || !this.keyframes) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var r,\n s,\n a,\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 (i ? s = p - (r = e ? Math.abs(p - elem.comp.globalData.frameRate * e) : Math.max(0, p - this.elem.data.ip)) : ((!e || e > l.length - 1) && (e = l.length - 1), r = p - (s = l[l.length - 1 - e].t)), \"pingpong\" === t) {\n if (Math.floor((h - s) / r) % 2 != 0) return this.getValueAtTime((r - (h - s) % r + s) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var m = this.getValueAtTime(s / this.comp.globalData.frameRate, 0),\n f = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n c = this.getValueAtTime(((h - s) % r + s) / this.comp.globalData.frameRate, 0),\n d = Math.floor((h - s) / r);\n\n if (this.pv.length) {\n for (n = (o = new Array(m.length)).length, a = 0; a < n; a += 1) {\n o[a] = (f[a] - m[a]) * d + c[a];\n }\n\n return o;\n }\n\n return (f - m) * d + c;\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, a = 0; a < n; a += 1) {\n o[a] = u[a] + (u[a] - y[a]) * ((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 - s) % r + s) / this.comp.globalData.frameRate, 0);\n }\n\n function e(t, e, i) {\n if (!this.k) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var r,\n s,\n a,\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 (i ? s = p + (r = e ? Math.abs(elem.comp.globalData.frameRate * e) : Math.max(0, this.elem.data.op - p)) : ((!e || e > l.length - 1) && (e = l.length - 1), r = (s = l[e].t) - p), \"pingpong\" === t) {\n if (Math.floor((p - h) / r) % 2 == 0) return this.getValueAtTime(((p - h) % r + p) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var m = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n f = this.getValueAtTime(s / this.comp.globalData.frameRate, 0),\n c = this.getValueAtTime((r - (p - h) % r + p) / this.comp.globalData.frameRate, 0),\n d = Math.floor((p - h) / r) + 1;\n\n if (this.pv.length) {\n for (n = (o = new Array(m.length)).length, a = 0; a < n; a += 1) {\n o[a] = c[a] - (f[a] - m[a]) * d;\n }\n\n return o;\n }\n\n return c - (f - 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, a = 0; a < n; a += 1) {\n o[a] = u[a] + (u[a] - y[a]) * (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((r - (p - h) % r + p) / this.comp.globalData.frameRate, 0);\n }\n\n function i(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 i,\n r,\n s = this.comp.renderedFrame / this.comp.globalData.frameRate,\n a = s - t,\n n = e > 1 ? (s + t - a) / (e - 1) : 1,\n o = 0,\n h = 0;\n\n for (i = this.pv.length ? createTypedArray(\"float32\", this.pv.length) : 0; o < e;) {\n if (r = this.getValueAtTime(a + o * n), this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n i[h] += r[h];\n } else i += r;\n o += 1;\n }\n\n if (this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n i[h] /= e;\n } else i /= e;\n return i;\n }\n\n function r(t) {}\n\n function s(t) {}\n\n var a = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (t, e, i) {\n var n = a(t, e, i);\n return n.dynamicProperties.length ? n.getValueAtTime = r.bind(n) : n.getValueAtTime = s.bind(n), n.setGroupProperty = expressionHelpers.setGroupProperty, n;\n };\n\n var n = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (r, s, a, o, h) {\n var l = n(r, s, a, 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 = i, l.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(l), l.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(l), l.numKeys = 1 === s.a ? s.k.length : 0, l.propertyIndex = s.ix;\n var p = 0;\n return 0 !== a && (p = createTypedArray(\"float32\", 1 === s.a ? s.k[0].s.length : s.k.length)), l._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: p\n }, expressionHelpers.searchExpressions(r, s, 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 i = this.v;\n void 0 !== e && (i = this.getValueAtTime(e, 0));\n var r,\n s = i._length,\n a = i[t],\n n = i.v,\n o = createSizedArray(s);\n\n for (r = 0; r < s; r += 1) {\n o[r] = \"i\" === t || \"o\" === t ? [a[r][0] - n[r][0], a[r][1] - n[r][1]] : [a[r][0], a[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 i = this.v;\n void 0 !== e && (i = this.getValueAtTime(e, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(i));\n\n for (var r, s = this._segmentsLength, a = s.lengths, n = s.totalLength * t, o = 0, h = a.length, l = 0; o < h;) {\n if (l + a[o].addedLength > n) {\n var p = o,\n m = i.c && o === h - 1 ? 0 : o + 1,\n f = (n - l) / a[o].addedLength;\n r = bez.getPointInSegment(i.v[p], i.v[m], i.o[p], i.i[m], f, a[o]);\n break;\n }\n\n l += a[o].addedLength, o += 1;\n }\n\n return r || (r = i.c ? [i.v[0][0], i.v[0][1]] : [i.v[i._length - 1][0], i.v[i._length - 1][1]]), r;\n },\n vectorOnPath: function vectorOnPath(t, e, i) {\n t = 1 == t ? this.v.c ? 0 : .999 : t;\n var r = this.pointOnPath(t, e),\n s = this.pointOnPath(t + .001, e),\n a = s[0] - r[0],\n n = s[1] - r[1],\n o = Math.sqrt(Math.pow(a, 2) + Math.pow(n, 2));\n return 0 === o ? [0, 0] : \"tangent\" === i ? [a / o, n / o] : [-n / o, a / 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: shape_pool.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, i, r, s) {\n var a = p(t, e, i, r, s);\n return a.propertyIndex = e.ix, a.lock = !1, 3 === i ? expressionHelpers.searchExpressions(t, e.pt, a) : 4 === i && expressionHelpers.searchExpressions(t, e.ks, a), a.k && t.addDynamicProperty(a), a;\n };\n }(), TextProperty.prototype.getExpressionValue = function (t, e) {\n var i = this.calculateExpression(e);\n\n if (t.t !== i) {\n var r = {};\n return this.copyData(r, t), r.t = i.toString(), r.__complete = !1, r;\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 if (this.data.d.x) return this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), !0;\n };\n\n var ShapeExpressionInterface = function () {\n function t(t, m, f) {\n var c,\n d = [],\n u = t ? t.length : 0;\n\n for (c = 0; c < u; c += 1) {\n \"gr\" == t[c].ty ? d.push(e(t[c], m[c], f)) : \"fl\" == t[c].ty ? d.push(i(t[c], m[c], f)) : \"st\" == t[c].ty ? d.push(r(t[c], m[c], f)) : \"tm\" == t[c].ty ? d.push(s(t[c], m[c], f)) : \"tr\" == t[c].ty || (\"el\" == t[c].ty ? d.push(a(t[c], m[c], f)) : \"sr\" == t[c].ty ? d.push(n(t[c], m[c], f)) : \"sh\" == t[c].ty ? d.push(p(t[c], m[c], f)) : \"rc\" == t[c].ty ? d.push(o(t[c], m[c], f)) : \"rd\" == t[c].ty ? d.push(h(t[c], m[c], f)) : \"rp\" == t[c].ty && d.push(l(t[c], m[c], f)));\n }\n\n return d;\n }\n\n function e(e, i, r) {\n var s = function s(t) {\n switch (t) {\n case \"ADBE Vectors Group\":\n case \"Contents\":\n case 2:\n return s.content;\n\n default:\n return s.transform;\n }\n };\n\n s.propertyGroup = function (t) {\n return 1 === t ? s : r(t - 1);\n };\n\n var a = function (e, i, r) {\n var s,\n a = function a(t) {\n for (var e = 0, i = s.length; e < i;) {\n if (s[e]._name === t || s[e].mn === t || s[e].propertyIndex === t || s[e].ix === t || s[e].ind === t) return s[e];\n e += 1;\n }\n\n if (\"number\" == typeof t) return s[t - 1];\n };\n\n return a.propertyGroup = function (t) {\n return 1 === t ? a : r(t - 1);\n }, s = t(e.it, i.it, a.propertyGroup), a.numProperties = s.length, a.propertyIndex = e.cix, a._name = e.nm, a;\n }(e, i, s.propertyGroup),\n n = function (t, e, i) {\n function r(t) {\n return 1 == t ? s : i(--t);\n }\n\n e.transform.mProps.o.setGroupProperty(r), e.transform.mProps.p.setGroupProperty(r), e.transform.mProps.a.setGroupProperty(r), e.transform.mProps.s.setGroupProperty(r), e.transform.mProps.r.setGroupProperty(r), e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty(r), e.transform.mProps.sa.setGroupProperty(r));\n\n function s(e) {\n return t.a.ix === e || \"Anchor Point\" === e ? s.anchorPoint : t.o.ix === e || \"Opacity\" === e ? s.opacity : t.p.ix === e || \"Position\" === e ? s.position : t.r.ix === e || \"Rotation\" === e || \"ADBE Vector Rotation\" === e ? s.rotation : t.s.ix === e || \"Scale\" === e ? s.scale : t.sk && t.sk.ix === e || \"Skew\" === e ? s.skew : t.sa && t.sa.ix === e || \"Skew Axis\" === e ? s.skewAxis : void 0;\n }\n\n return e.transform.op.setGroupProperty(r), Object.defineProperties(s, {\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 }), s.ty = \"tr\", s.mn = t.mn, s.propertyGroup = i, s;\n }(e.it[e.it.length - 1], i.it[i.it.length - 1], s.propertyGroup);\n\n return s.content = a, s.transform = n, Object.defineProperty(s, \"_name\", {\n get: function get() {\n return e.nm;\n }\n }), s.numProperties = e.np, s.propertyIndex = e.ix, s.nm = e.nm, s.mn = e.mn, s;\n }\n\n function i(t, e, i) {\n function r(t) {\n return \"Color\" === t || \"color\" === t ? r.color : \"Opacity\" === t || \"opacity\" === t ? r.opacity : void 0;\n }\n\n return Object.defineProperties(r, {\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(i), e.o.setGroupProperty(i), r;\n }\n\n function r(t, e, i) {\n function r(t) {\n return 1 === t ? ob : i(t - 1);\n }\n\n function s(t) {\n return 1 === t ? h : r(t - 1);\n }\n\n function a(i) {\n Object.defineProperty(h, t.d[i].nm, {\n get: ExpressionPropertyInterface(e.d.dataProps[i].p)\n });\n }\n\n var n,\n o = t.d ? t.d.length : 0,\n h = {};\n\n for (n = 0; n < o; n += 1) {\n a(n), e.d.dataProps[n].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 : void 0;\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(r), e.o.setGroupProperty(r), e.w.setGroupProperty(r), l;\n }\n\n function s(t, e, i) {\n function r(t) {\n return 1 == t ? s : i(--t);\n }\n\n function s(e) {\n return e === t.e.ix || \"End\" === e || \"end\" === e ? s.end : e === t.s.ix ? s.start : e === t.o.ix ? s.offset : void 0;\n }\n\n return s.propertyIndex = t.ix, e.s.setGroupProperty(r), e.e.setGroupProperty(r), e.o.setGroupProperty(r), s.propertyIndex = t.ix, s.propertyGroup = i, Object.defineProperties(s, {\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 }), s.mn = t.mn, s;\n }\n\n function a(t, e, i) {\n function r(t) {\n return 1 == t ? a : i(--t);\n }\n\n a.propertyIndex = t.ix;\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n\n function a(e) {\n return t.p.ix === e ? a.position : t.s.ix === e ? a.size : void 0;\n }\n\n return s.s.setGroupProperty(r), s.p.setGroupProperty(r), Object.defineProperties(a, {\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n _name: {\n value: t.nm\n }\n }), a.mn = t.mn, a;\n }\n\n function n(t, e, i) {\n function r(t) {\n return 1 == t ? a : i(--t);\n }\n\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n\n function a(e) {\n return t.p.ix === e ? a.position : t.r.ix === e ? a.rotation : t.pt.ix === e ? a.points : t.or.ix === e || \"ADBE Vector Star Outer Radius\" === e ? a.outerRadius : t.os.ix === e ? a.outerRoundness : !t.ir || t.ir.ix !== e && \"ADBE Vector Star Inner Radius\" !== e ? t.is && t.is.ix === e ? a.innerRoundness : void 0 : a.innerRadius;\n }\n\n return a.propertyIndex = t.ix, s.or.setGroupProperty(r), s.os.setGroupProperty(r), s.pt.setGroupProperty(r), s.p.setGroupProperty(r), s.r.setGroupProperty(r), t.ir && (s.ir.setGroupProperty(r), s.is.setGroupProperty(r)), Object.defineProperties(a, {\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 }), a.mn = t.mn, a;\n }\n\n function o(t, e, i) {\n function r(t) {\n return 1 == t ? a : i(--t);\n }\n\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n\n function a(e) {\n return t.p.ix === e ? a.position : t.r.ix === e ? a.roundness : t.s.ix === e || \"Size\" === e || \"ADBE Vector Rect Size\" === e ? a.size : void 0;\n }\n\n return a.propertyIndex = t.ix, s.p.setGroupProperty(r), s.s.setGroupProperty(r), s.r.setGroupProperty(r), Object.defineProperties(a, {\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 }), a.mn = t.mn, a;\n }\n\n function h(t, e, i) {\n var r = e;\n\n function s(e) {\n if (t.r.ix === e || \"Round Corners 1\" === e) return s.radius;\n }\n\n return s.propertyIndex = t.ix, r.rd.setGroupProperty(function (t) {\n return 1 == t ? s : i(--t);\n }), Object.defineProperties(s, {\n radius: {\n get: ExpressionPropertyInterface(r.rd)\n },\n _name: {\n value: t.nm\n }\n }), s.mn = t.mn, s;\n }\n\n function l(t, e, i) {\n function r(t) {\n return 1 == t ? a : i(--t);\n }\n\n var s = e;\n\n function a(e) {\n return t.c.ix === e || \"Copies\" === e ? a.copies : t.o.ix === e || \"Offset\" === e ? a.offset : void 0;\n }\n\n return a.propertyIndex = t.ix, s.c.setGroupProperty(r), s.o.setGroupProperty(r), Object.defineProperties(a, {\n copies: {\n get: ExpressionPropertyInterface(s.c)\n },\n offset: {\n get: ExpressionPropertyInterface(s.o)\n },\n _name: {\n value: t.nm\n }\n }), a.mn = t.mn, a;\n }\n\n function p(t, e, i) {\n var r = e.sh;\n\n function s(t) {\n if (\"Shape\" === t || \"shape\" === t || \"Path\" === t || \"path\" === t || \"ADBE Vector Shape\" === t || 2 === t) return s.path;\n }\n\n return r.setGroupProperty(function (t) {\n return 1 == t ? s : i(--t);\n }), Object.defineProperties(s, {\n path: {\n get: function get() {\n return r.k && r.getValue(), r;\n }\n },\n shape: {\n get: function get() {\n return r.k && r.getValue(), r;\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 }), s;\n }\n\n return function (e, i, r) {\n var s;\n\n function a(t) {\n if (\"number\" == typeof t) return s[t - 1];\n\n for (var e = 0, i = s.length; e < i;) {\n if (s[e]._name === t) return s[e];\n e += 1;\n }\n }\n\n return a.propertyGroup = r, s = t(e, i, a), a.numProperties = s.length, a;\n };\n }(),\n TextExpressionInterface = function TextExpressionInterface(t) {\n var e;\n\n function i() {}\n\n return Object.defineProperty(i, \"sourceText\", {\n get: function get() {\n t.textProperty.getValue();\n var i = t.textProperty.currentData.t;\n return void 0 !== i && (t.textProperty.currentData.t = void 0, (e = new String(i)).value = i || new String(i)), e;\n }\n }), i;\n },\n LayerExpressionInterface = function () {\n function t(t, e) {\n var i = new Matrix();\n\n if (i.reset(), this._elem.finalTransform.mProp.applyToMatrix(i), this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n s = this._elem.hierarchy.length;\n\n for (r = 0; r < s; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(i);\n }\n\n return i.applyToPointArray(t[0], t[1], t[2] || 0);\n }\n\n return i.applyToPointArray(t[0], t[1], t[2] || 0);\n }\n\n function e(t, e) {\n var i = new Matrix();\n\n if (i.reset(), this._elem.finalTransform.mProp.applyToMatrix(i), this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n s = this._elem.hierarchy.length;\n\n for (r = 0; r < s; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(i);\n }\n\n return i.inversePoint(t);\n }\n\n return i.inversePoint(t);\n }\n\n function i(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 i,\n r = this._elem.hierarchy.length;\n\n for (i = 0; i < r; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(e);\n }\n\n return e.inversePoint(t);\n }\n\n return e.inversePoint(t);\n }\n\n function r() {\n return [1, 1, 1, 1];\n }\n\n return function (s) {\n var a;\n\n function n(t) {\n switch (t) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return n.shapeInterface;\n\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return a;\n\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return n.effect;\n }\n }\n\n n.toWorld = t, n.fromWorld = e, n.toComp = t, n.fromComp = i, n.sampleImage = r, n.sourceRectAtTime = s.sourceRectAtTime.bind(s), n._elem = s;\n var o = getDescriptor(a = TransformExpressionInterface(s.finalTransform.mProp), \"anchorPoint\");\n return Object.defineProperties(n, {\n hasParent: {\n get: function get() {\n return s.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return s.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(a, \"rotation\"),\n scale: getDescriptor(a, \"scale\"),\n position: getDescriptor(a, \"position\"),\n opacity: getDescriptor(a, \"opacity\"),\n anchorPoint: o,\n anchor_point: o,\n transform: {\n get: function get() {\n return a;\n }\n },\n active: {\n get: function get() {\n return s.isInRange;\n }\n }\n }), n.startTime = s.data.st, n.index = s.data.ind, n.source = s.data.refId, n.height = 0 === s.data.ty ? s.data.h : 100, n.width = 0 === s.data.ty ? s.data.w : 100, n.inPoint = s.data.ip / s.comp.globalData.frameRate, n.outPoint = s.data.op / s.comp.globalData.frameRate, n._name = s.data.nm, n.registerMaskInterface = function (t) {\n n.mask = new MaskManagerInterface(t, s);\n }, n.registerEffectsInterface = function (t) {\n n.effect = t;\n }, n;\n };\n }(),\n CompExpressionInterface = function CompExpressionInterface(t) {\n function e(e) {\n for (var i = 0, r = t.layers.length; i < r;) {\n if (t.layers[i].nm === e || t.layers[i].ind === e) return t.elements[i].layerInterface;\n i += 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 }\n\n if (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) var i = ExpressionPropertyInterface(t.p);\n return Object.defineProperty(e, \"position\", {\n get: function get() {\n return t.p ? i() : [t.px.v, t.py.v, t.pz ? t.pz.v : 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, i = this.compositions.length; e < i;) {\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\n return e.compositions = [], e.currentFrame = 0, e.registerComposition = t, e;\n };\n }(),\n EffectsExpressionInterface = function () {\n function t(i, r, s, a) {\n var n,\n o = [],\n h = i.ef.length;\n\n for (n = 0; n < h; n += 1) {\n 5 === i.ef[n].ty ? o.push(t(i.ef[n], r.effectElements[n], r.effectElements[n].propertyGroup, a)) : o.push(e(r.effectElements[n], i.ef[n].ty, a, l));\n }\n\n function l(t) {\n return 1 === t ? p : s(t - 1);\n }\n\n var p = function p(t) {\n for (var e = i.ef, r = 0, s = e.length; r < s;) {\n if (t === e[r].nm || t === e[r].mn || t === e[r].ix) return 5 === e[r].ty ? o[r] : o[r]();\n r += 1;\n }\n\n return o[0]();\n };\n\n return p.propertyGroup = l, \"ADBE Color Control\" === i.mn && Object.defineProperty(p, \"color\", {\n get: function get() {\n return o[0]();\n }\n }), Object.defineProperty(p, \"numProperties\", {\n get: function get() {\n return i.np;\n }\n }), p.active = p.enabled = 0 !== i.en, p;\n }\n\n function e(t, e, i, r) {\n var s = ExpressionPropertyInterface(t.p);\n return t.p.setGroupProperty && t.p.setGroupProperty(r), function () {\n return 10 === e ? i.comp.compInterface(t.p.v) : s();\n };\n }\n\n return {\n createEffectsInterface: function createEffectsInterface(e, i) {\n if (e.effectsManager) {\n var r,\n s = [],\n a = e.data.ef,\n n = e.effectsManager.effectElements.length;\n\n for (r = 0; r < n; r += 1) {\n s.push(t(a[r], e.effectsManager.effectElements[r], i, e));\n }\n\n return function (t) {\n for (var i = e.data.ef || [], r = 0, a = i.length; r < a;) {\n if (t === i[r].nm || t === i[r].mn || t === i[r].ix) return s[r];\n r += 1;\n }\n };\n }\n }\n };\n }(),\n MaskManagerInterface = function () {\n function t(t, e) {\n this._mask = t, this._data = e;\n }\n\n 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 });\n return function (e, i) {\n var r,\n s = createSizedArray(e.viewData.length),\n a = e.viewData.length;\n\n for (r = 0; r < a; r += 1) {\n s[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 s[r];\n r += 1;\n }\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 i(t, e, i) {\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 (r) {\n if (t.numKeys) {\n var s = \"\";\n s = \"s\" in e.keyframes[r - 1] ? e.keyframes[r - 1].s : \"e\" in e.keyframes[r - 2] ? e.keyframes[r - 2].e : e.keyframes[r - 2].s;\n var a = \"unidimensional\" === i ? new Number(s) : Object.assign({}, s);\n return a.time = e.keyframes[r - 1].t / e.elem.comp.globalData.frameRate, a;\n }\n\n return 0;\n }, t.valueAtTime = e.getValueAtTime, t.speedAtTime = e.getSpeedAtTime, t.velocityAtTime = e.getVelocityAtTime, t.propertyGroup = e.propertyGroup;\n }\n\n function r() {\n return t;\n }\n\n return function (s) {\n return s ? \"unidimensional\" === s.propType ? function (e) {\n e && \"pv\" in e || (e = t);\n var r = 1 / e.mult,\n s = e.pv * r,\n a = new Number(s);\n return a.value = s, i(a, e, \"unidimensional\"), function () {\n return e.k && e.getValue(), s = e.v * r, a.value !== s && ((a = new Number(s)).value = s, i(a, e, \"unidimensional\")), a;\n };\n }(s) : function (t) {\n t && \"pv\" in t || (t = e);\n var r = 1 / t.mult,\n s = t.pv.length,\n a = createTypedArray(\"float32\", s),\n n = createTypedArray(\"float32\", s);\n return a.value = n, i(a, t, \"multidimensional\"), function () {\n t.k && t.getValue();\n\n for (var e = 0; e < s; e += 1) {\n a[e] = n[e] = t.v[e] * r;\n }\n\n return a;\n };\n }(s) : r;\n };\n }(),\n TextExpressionSelectorProp,\n propertyGetTextProp;\n\n function SliderEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, i);\n }\n\n function AngleEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, i);\n }\n\n function ColorEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, i);\n }\n\n function PointEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, i);\n }\n\n function LayerIndexEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, i);\n }\n\n function MaskIndexEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, i);\n }\n\n function CheckboxEffect(t, e, i) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, i);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager() {}\n\n function EffectsManager(t, e) {\n var i = t.ef || [];\n this.effectElements = [];\n var r,\n s,\n a = i.length;\n\n for (r = 0; r < a; r++) {\n s = new GroupEffect(i[r], e), this.effectElements.push(s);\n }\n }\n\n function GroupEffect(t, e) {\n this.init(t, e);\n }\n\n TextExpressionSelectorProp = 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, i) {\n this.pv = 1, this.comp = e.comp, this.elem = e, this.mult = .01, this.propType = \"textSelector\", this.textTotal = i.totalChars, this.selectorValue = 100, this.lastValue = [1, 1, 1], this.k = !0, this.x = !0, this.getValue = ExpressionManager.initiateExpression.bind(this)(e, i, 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 }(), propertyGetTextProp = TextSelectorProp.getTextSelectorProp, TextSelectorProp.getTextSelectorProp = function (t, e, i) {\n return 1 === e.t ? new TextExpressionSelectorProp(t, e, i) : propertyGetTextProp(t, e, i);\n }, extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function (t, e) {\n this.data = t, this.effectElements = [], this.initDynamicPropertyContainer(e);\n var i,\n r,\n s = this.data.ef.length,\n a = this.data.ef;\n\n for (i = 0; i < s; i += 1) {\n switch (r = null, a[i].ty) {\n case 0:\n r = new SliderEffect(a[i], e, this);\n break;\n\n case 1:\n r = new AngleEffect(a[i], e, this);\n break;\n\n case 2:\n r = new ColorEffect(a[i], e, this);\n break;\n\n case 3:\n r = new PointEffect(a[i], e, this);\n break;\n\n case 4:\n case 7:\n r = new CheckboxEffect(a[i], e, this);\n break;\n\n case 10:\n r = new LayerIndexEffect(a[i], e, this);\n break;\n\n case 11:\n r = new MaskIndexEffect(a[i], e, this);\n break;\n\n case 5:\n r = new EffectsManager(a[i], e, this);\n break;\n\n default:\n r = new NoValueEffect(a[i], e, this);\n }\n\n r && this.effectElements.push(r);\n }\n };\n var lottie = {};\n\n function setLocationHref(t) {\n locationHref = t;\n }\n\n function searchAnimations() {\n animationManager.searchAnimations();\n }\n\n function setSubframeRendering(t) {\n subframeEnabled = t;\n }\n\n function loadAnimation(t) {\n return 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 case \"medium\":\n defaultCurveSegments = 50;\n break;\n\n case \"low\":\n defaultCurveSegments = 10;\n } else !isNaN(t) && t > 1 && (defaultCurveSegments = t);\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 }\n\n function checkReady() {\n \"complete\" === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations());\n }\n\n function getQueryVariable(t) {\n for (var e = queryString.split(\"&\"), i = 0; i < e.length; i++) {\n var r = e[i].split(\"=\");\n if (decodeURIComponent(r[0]) == t) return decodeURIComponent(r[1]);\n }\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.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.__getFactory = getFactory, lottie.version = \"5.6.10\";\n var renderer = \"\",\n scripts = document.getElementsByTagName(\"script\"),\n index = scripts.length - 1,\n myScript = scripts[index] || {\n src: \"\"\n },\n queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\");\n renderer = getQueryVariable(\"renderer\");\n var readyStateCheckInterval = setInterval(checkReady, 100);\n return lottie;\n });\n}),\n PlayerState,\n PlayerEvent;\n\nfunction parseSrc(t) {\n if (\"object\" == typeof t) return t;\n\n try {\n return JSON.parse(t);\n } catch (t) {}\n\n try {\n return new URL(t).toString();\n } catch (t) {}\n\n return t;\n}\n\n!function (t) {\n t.Loading = \"loading\", t.Playing = \"playing\", t.Paused = \"paused\", t.Stopped = \"stopped\", t.Frozen = \"frozen\", t.Error = \"error\";\n}(PlayerState || (PlayerState = {})), function (t) {\n t.Load = \"load\", t.Error = \"error\", t.Ready = \"ready\", t.Play = \"play\", t.Pause = \"pause\", t.Stop = \"stop\", t.Freeze = \"freeze\", t.Loop = \"loop\", t.Complete = \"complete\", t.Frame = \"frame\";\n}(PlayerEvent || (PlayerEvent = {}));\nvar defaultOptions = {\n rendererSettings: {\n clearCanvas: !1,\n hideOnTransparent: !0,\n progressiveLoad: !0\n }\n};\n\nvar Player = function () {\n var t = /*#__PURE__*/function (_Component) {\n _inherits(t, _Component);\n\n var _super = _createSuper(t);\n\n function t(_t) {\n var _this;\n\n _classCallCheck(this, t);\n\n _this = _super.call(this, _t), _this.container = null, _this.state = {\n animationData: null,\n background: \"transparent\",\n containerRef: createRef(),\n debug: !0,\n instance: null,\n playerState: PlayerState.Loading,\n seeker: 0\n };\n return _this;\n }\n\n _createClass(t, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.createLottie();\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.state.instance && this.state.instance.destroy();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n var _componentDidUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_t3) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.t0 = this.props.src !== _t3.src;\n\n if (!_context2.t0) {\n _context2.next = 5;\n break;\n }\n\n this.state.instance && this.state.instance.destroy();\n _context2.next = 5;\n return this.createLottie();\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function componentDidUpdate(_x) {\n return _componentDidUpdate.apply(this, arguments);\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _t4 = _this$props.children,\n e = _this$props.loop,\n i = _this$props.style,\n r = _this$props.onBackgroundChange,\n _this$state = this.state,\n s = _this$state.animationData,\n a = _this$state.instance,\n n = _this$state.playerState,\n o = _this$state.seeker,\n h = _this$state.debug,\n l = _this$state.background;\n return createElement(\"div\", null, createElement(\"div\", {\n id: this.props.id ? this.props.id : \"lottie\",\n ref: function ref(_t5) {\n return _this2.container = _t5;\n },\n style: _objectSpread({\n background: l,\n margin: \"0 auto\",\n outline: \"none\",\n overflow: \"hidden\"\n }, i)\n }), Children.map(_t4, function (_t6) {\n return isValidElement(_t6) ? cloneElement(_t6, {\n animationData: s,\n background: l,\n debug: h,\n instance: a,\n loop: e,\n pause: function pause() {\n return _this2.pause();\n },\n play: function play() {\n return _this2.play();\n },\n playerState: n,\n seeker: o,\n setBackground: function setBackground(_t7) {\n _this2.setState({\n background: _t7\n }), \"function\" == typeof r && r(_t7);\n },\n setSeeker: function setSeeker(_t8, e) {\n return _this2.setSeeker(_t8, e);\n },\n stop: function stop() {\n return _this2.stop();\n },\n toggleDebug: function toggleDebug() {\n return _this2.toggleDebug();\n },\n setLoop: function setLoop(_t9) {\n return _this2.setLoop(_t9);\n }\n }) : null;\n }));\n }\n }, {\n key: \"toggleDebug\",\n value: function toggleDebug() {\n this.setState({\n debug: !this.state.debug\n });\n }\n }, {\n key: \"createLottie\",\n value: function () {\n var _createLottie = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _this3 = this;\n\n var _this$props2, _t10, e, i, r, s, a, n, o, h, l, _t21, p;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _this$props2 = this.props, _t10 = _this$props2.autoplay, e = _this$props2.direction, i = _this$props2.loop, r = _this$props2.lottieRef, s = _this$props2.renderer, a = _this$props2.speed, n = _this$props2.src, o = _this$props2.background, h = this.state.instance;\n\n if (!(n && this.container)) {\n _context3.next = 19;\n break;\n }\n\n _context3.prev = 2;\n l = parseSrc(n);\n\n if (!(\"string\" == typeof l)) {\n _context3.next = 11;\n break;\n }\n\n _context3.next = 7;\n return fetch(l);\n\n case 7:\n _t21 = _context3.sent;\n _context3.next = 10;\n return _t21.json();\n\n case 10:\n l = _context3.sent;\n\n case 11:\n h && h.destroy();\n p = lottie.loadAnimation(_objectSpread(_objectSpread({}, defaultOptions), {}, {\n animationData: l,\n autoplay: !1,\n container: this.container,\n loop: i || !1,\n renderer: s\n }));\n this.setState({\n animationData: l\n }), p.addEventListener(\"enterFrame\", function () {\n _this3.triggerEvent(PlayerEvent.Frame), _this3.setState({\n seeker: Math.floor(p.currentFrame)\n });\n }), p.addEventListener(\"DOMLoaded\", function () {\n _this3.triggerEvent(PlayerEvent.Load);\n }), p.addEventListener(\"data_ready\", function () {\n _this3.triggerEvent(PlayerEvent.Ready);\n }), p.addEventListener(\"data_failed\", function () {\n _this3.setState({\n playerState: PlayerState.Error\n });\n }), p.addEventListener(\"complete\", function () {\n _this3.setState({\n playerState: PlayerState.Paused\n }), _this3.setSeeker(0);\n }), a && this.setPlayerSpeed(a), e && this.setPlayerDirection(e), o && this.setState({\n background: o\n }), this.setState({\n instance: p\n }, function () {\n \"function\" == typeof r && r(p), _t10 && _this3.play();\n });\n _context3.next = 19;\n break;\n\n case 16:\n _context3.prev = 16;\n _context3.t0 = _context3[\"catch\"](2);\n this.setState({\n playerState: PlayerState.Error\n });\n\n case 19:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[2, 16]]);\n }));\n\n function createLottie() {\n return _createLottie.apply(this, arguments);\n }\n\n return createLottie;\n }()\n }, {\n key: \"play\",\n value: function play() {\n var _t13 = this.state.instance;\n _t13 && (this.triggerEvent(PlayerEvent.Play), _t13.play(), this.setState({\n playerState: PlayerState.Playing\n }));\n }\n }, {\n key: \"pause\",\n value: function pause() {\n var _t14 = this.state.instance;\n _t14 && (this.triggerEvent(PlayerEvent.Play), _t14.pause(), this.setState({\n playerState: PlayerState.Paused\n }));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _t15 = this.state.instance;\n _t15 && (this.triggerEvent(PlayerEvent.Play), _t15.stop(), this.setState({\n playerState: PlayerState.Playing\n }));\n }\n }, {\n key: \"setPlayerSpeed\",\n value: function setPlayerSpeed(_t16) {\n var e = this.state.instance;\n e && e.setSpeed(_t16);\n }\n }, {\n key: \"setPlayerDirection\",\n value: function setPlayerDirection(_t17) {\n var e = this.state.instance;\n e && e.setDirection(_t17);\n }\n }, {\n key: \"setSeeker\",\n value: function setSeeker(_t18) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var _this$state2 = this.state,\n i = _this$state2.instance,\n r = _this$state2.playerState;\n i && (e && r === PlayerState.Playing ? i.goToAndPlay(_t18, !0) : (i.goToAndStop(_t18, !0), this.setState({\n playerState: PlayerState.Paused\n })));\n }\n }, {\n key: \"setLoop\",\n value: function setLoop(_t19) {\n var e = this.state.instance;\n e && (e.loop = _t19, this.setState({\n instance: e\n }));\n }\n }, {\n key: \"triggerEvent\",\n value: function triggerEvent(_t20) {\n var e = this.props.onEvent;\n e && e(_t20);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function () {\n var _getDerivedStateFromProps = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_t2, e) {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", _t2.background !== e.background ? {\n background: _t2.background\n } : null);\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function getDerivedStateFromProps(_x2, _x3) {\n return _getDerivedStateFromProps.apply(this, arguments);\n }\n\n return getDerivedStateFromProps;\n }()\n }]);\n\n return t;\n }(Component);\n\n return t.defaultProps = {\n loop: !1\n }, t;\n}();\n\nfunction styleInject(t, e) {\n void 0 === e && (e = {});\n var i = e.insertAt;\n\n if (t && \"undefined\" != typeof document) {\n var r = document.head || document.getElementsByTagName(\"head\")[0],\n s = document.createElement(\"style\");\n s.type = \"text/css\", \"top\" === i && r.firstChild ? r.insertBefore(s, r.firstChild) : r.appendChild(s), s.styleSheet ? s.styleSheet.cssText = t : s.appendChild(document.createTextNode(t));\n }\n}\n\nvar css_248z = \".progress {\\n -webkit-appearance: none;\\n -moz-apperance: none;\\n width: 100%;\\n /* margin: 0 10px; */\\n height: 4px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\n.progress:focus {\\n outline: none;\\n border: none;\\n}\\n.progress::-moz-range-track {\\n cursor: pointer;\\n background: none;\\n border: none;\\n outline: none;\\n}\\n.progress::-webkit-slider-thumb {\\n -webkit-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.progress::-moz-range-thumb {\\n -moz-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.progress::-ms-track {\\n width: 100%;\\n height: 3px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n}\\n.progress::-ms-fill-lower {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.progress::-ms-fill-upper {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.progress::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.progress:focus::-ms-fill-lower {\\n background: #ccc;\\n}\\n.progress:focus::-ms-fill-upper {\\n background: #ccc;\\n}\\n.deactivated-btn {\\n opacity: 0.5;\\n}\\n.active-btn {\\n opacity: 1;\\n}\\n:focus {\\n outline: 0;\\n}\\n.popover {\\n position: relative;\\n}\\n\\n.popover-content {\\n display: inline-block;\\n position: absolute;\\n opacity: 1;\\n visibility: visible;\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n}\\n\\n.popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.arrow {\\n position: absolute;\\n z-index: -1;\\n content: '';\\n bottom: -9px;\\n border-style: solid;\\n border-width: 10px 10px 0px 10px;\\n}\\n\\n.left-align,\\n.left-align .arrow {\\n left: 0;\\n right: unset;\\n}\\n\\n.right-align,\\n.right-align .arrow {\\n right: 0;\\n left: unset;\\n}\\n\\n.frame-number {\\n outline: none;\\n border: 1px #ccc solid;\\n border-radius: 3px;\\n width: 40px;\\n text-align: center;\\n color: #999;\\n font-size: 0.7rem;\\n padding: 0;\\n font-family: inherit;\\n}\\n\\n.lf-player-btn-container {\\n display: flex;\\n align-items: center;\\n}\\n.lf-player-btn {\\n cursor: pointer;\\n fill: #999;\\n width: 14px;\\n}\\n\\n.lf-player-btn.active {\\n fill: #555;\\n}\\n\";\nstyleInject(css_248z);\n\nvar Seeker = /*#__PURE__*/function (_Component2) {\n _inherits(Seeker, _Component2);\n\n var _super2 = _createSuper(Seeker);\n\n function Seeker(t) {\n var _this4;\n\n _classCallCheck(this, Seeker);\n\n _this4 = _super2.call(this, t), _this4.inputRef = createRef(), _this4.handleChange = function () {\n return function (t) {\n var e = t.target.value,\n i = Math.floor(e / 100 * _this4.props.max);\n\n _this4.props.onChange(i);\n };\n }, _this4.state = {\n value: 0\n };\n return _this4;\n }\n\n _createClass(Seeker, [{\n key: \"render\",\n value: function render() {\n var t = this.props.value / this.props.max * 100,\n e = {\n backgroundImage: \"-webkit-gradient(linear, left top, right top, color-stop(\".concat(t, \"%, rgba(15, 204, 206, 0.4)), color-stop(\").concat(t, \"%, #DAE1E7))\")\n },\n i = {\n position: \"absolute\",\n left: 0,\n marginTop: \"8px\",\n width: \"20px\",\n display: \"block\",\n border: \"0px\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"rgb(218, 225, 231)\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#555\",\n padding: \"2px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n fontSize: \"8px\",\n fontWeight: \"bold\"\n },\n r = {\n position: \"absolute\",\n right: 0,\n marginTop: \"8px\",\n width: \"20px\",\n display: \"block\",\n border: \"0px\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"rgb(218, 225, 231)\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#555\",\n padding: \"2px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n fontSize: \"8px\",\n fontWeight: \"bold\"\n };\n return createElement(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"100%\",\n marginRight: \"10px\",\n marginLeft: \"10px\",\n position: \"relative\"\n }\n }, createElement(\"input\", {\n ref: this.inputRef,\n id: \"track\",\n className: \"progress\",\n name: \"progress\",\n type: \"range\",\n min: \"0\",\n max: \"100\",\n step: \"0.1\",\n value: t,\n onInput: this.handleChange(),\n onChange: this.handleChange(),\n style: e\n }), this.props.showLabels && createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\"\n }\n }, createElement(\"div\", {\n style: i\n }, this.props.min), createElement(\"div\", {\n style: r\n }, this.props.max)));\n }\n }]);\n\n return Seeker;\n}(Component);\n\nvar ControlButtonStyle = {\n display: \"inline-flex\",\n cursor: \"pointer\"\n};\n\nvar Controls = /*#__PURE__*/function (_Component3) {\n _inherits(Controls, _Component3);\n\n var _super3 = _createSuper(Controls);\n\n function Controls(t) {\n var _this5;\n\n _classCallCheck(this, Controls);\n\n _this5 = _super3.call(this, t), _this5.state = {\n activeFrame: 0,\n mouseDown: !1\n };\n return _this5;\n }\n\n _createClass(Controls, [{\n key: \"render\",\n value: function render() {\n var _this6 = this;\n\n var _this$props3 = this.props,\n t = _this$props3.instance,\n e = _this$props3.playerState,\n i = _this$props3.seeker,\n r = _this$props3.setLoop,\n s = _this$props3.setSeeker,\n a = _this$props3.play,\n n = _this$props3.pause,\n o = _this$props3.stop,\n h = _this$props3.visible,\n l = _this$props3.buttons;\n if (!t) return null;\n if (!h) return null;\n var p = !l || l.includes(\"play\"),\n m = !l || l.includes(\"stop\"),\n f = !l || l.includes(\"repeat\"),\n c = !l || l.includes(\"frame\"),\n d = {\n width: 14,\n height: 14,\n viewBox: \"0 0 24 24\"\n },\n u = Math.round(t.currentFrame);\n return createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n height: \"60px\",\n alignItems: \"center\",\n backgroundColor: this.props.darkTheme ? \"#3C3C3C\" : \"#ffffff\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\",\n gridColumnGap: \"10px\",\n gridTemplateColumns: \"25px 1fr 25px\"\n }\n }, p && createElement(\"div\", {\n role: \"button\",\n tabIndex: 0,\n onClick: function onClick() {\n e === PlayerState.Playing ? \"function\" == typeof n && n() : \"function\" == typeof a && a();\n },\n onKeyDown: function onKeyDown() {\n e === PlayerState.Playing ? \"function\" == typeof n && n() : \"function\" == typeof a && a();\n },\n className: \"lf-player-btn\",\n style: ControlButtonStyle\n }, e === PlayerState.Playing ? createElement(\"svg\", Object.assign({}, d), createElement(\"rect\", {\n height: \"22.9\",\n rx: \"1.9\",\n width: \"7.6\",\n x: \"14\",\n y: \".5\"\n }), createElement(\"rect\", {\n height: \"22.9\",\n rx: \"1.9\",\n width: \"7.6\",\n x: \"2\",\n y: \".5\"\n })) : createElement(\"svg\", Object.assign({}, d), createElement(\"path\", {\n d: \"M2 3.4C2 1.9 3.5 1 4.8 1.8l16.5 9.6c1.2.7 1.2 2.5 0 3.2L4.8 24.2C3.5 25 2 24.1 2 22.6V3.4z\"\n }))), m && createElement(\"div\", {\n tabIndex: 0,\n role: \"button\",\n onClick: function onClick() {\n return o && o();\n },\n onKeyDown: function onKeyDown() {\n return o && o();\n },\n className: e === PlayerState.Stopped ? \"lf-player-btn active\" : \"lf-player-btn\",\n style: ControlButtonStyle\n }, createElement(\"svg\", Object.assign({}, d), createElement(\"path\", {\n d: \"M2 3.667A1.67 1.67 0 0 1 3.667 2h16.666A1.67 1.67 0 0 1 22 3.667v16.666A1.67 1.67 0 0 1 20.333\\n 22H3.667A1.67 1.67 0 0 1 2 20.333z\"\n }))), createElement(Seeker, {\n min: 0,\n step: 1,\n max: t ? t.totalFrames : 1,\n value: i || 0,\n onChange: function onChange(t) {\n s && _this6.setState({\n activeFrame: t\n }, function () {\n s(t, !1);\n });\n },\n onChangeEnd: function onChangeEnd(t) {\n s && _this6.setState({\n activeFrame: t\n }, function () {\n s(t, !1);\n });\n },\n showLabels: this.props.showLabels,\n darkTheme: this.props.darkTheme\n }), c && createElement(\"div\", {\n role: \"button\",\n className: \"lf-player-btn-container\"\n }, createElement(\"input\", {\n style: {\n outline: \"none\",\n border: this.props.darkTheme ? \"1px #505050 solid\" : \"1px #ccc solid\",\n borderRadius: \"3px\",\n width: \"40px\",\n textAlign: \"center\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"#ffffff\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#999\",\n fontSize: \"0.7rem\",\n padding: \"0\",\n fontFamily: \"inherit\"\n },\n type: \"text\",\n value: u,\n readOnly: !0\n })), f && createElement(\"div\", {\n role: \"button\",\n tabIndex: 0,\n onClick: function onClick() {\n t && r && r(!t.loop);\n },\n onKeyDown: function onKeyDown() {\n t && r && r(!t.loop);\n },\n className: t.loop ? \"lf-player-btn active\" : \"lf-player-btn\",\n style: ControlButtonStyle\n }, createElement(\"svg\", Object.assign({}, d), createElement(\"path\", {\n d: \"M12.5 16.8137h-.13v1.8939h4.9696c3.6455 0 6.6113-2.9658 6.6113-6.6116\\n 0-3.64549-2.9658-6.61131-6.6113-6.61131-.5231 0-.947.42391-.947.94696 0 .52304.4239.94696.947.94696 2.6011 0\\n 4.7174 2.11634 4.7174 4.71739 0 2.6014-2.1166 4.7177-4.7174 4.7177H12.5zM13.6025\\n 5.61469v-.13H7.48137C3.83582 5.48469.87 8.45051.87 12.096c0 3.6509 3.17269 6.6117 6.81304 6.6117.52304 0\\n .94696-.424.94696-.947 0-.5231-.42392-.947-.94696-.947-2.60804 0-4.91907-2.1231-4.91907-4.7176 0-2.60115\\n 2.11634-4.71744 4.7174-4.71744h6.12113V5.61469z\",\n stroke: \"#8795A1\",\n strokeWidth: \".26\"\n }), createElement(\"path\", {\n d: \"M11.1482\\n 2.20355h0l-.001-.00116c-.3412-.40061-.9405-.44558-1.33668-.0996h-.00001c-.39526.34519-.43936.94795-.09898\\n 1.34767l2.51487 3.03683-2.51894 3.06468c-.33872.40088-.29282 1.00363.10347\\n 1.34723l.08517-.0982-.08517.0982c.17853.1549.39807.2308.61647.2308.2671 0 .5328-.114.72-.3347h0l.0011-.0014\\n 3.0435-3.68655.0006-.00068c.3035-.35872.3025-.88754-.0019-1.24526l-3.0425-3.65786zM13.9453\\n 21.7965h0l.001.0011c.3413.4006.9407.4456 1.337.0996h0c.3953-.3452.4395-.9479.099-1.3477l-2.5154-3.0368\\n 2.5195-3.0647c.3388-.4008.2929-1.0036-.1035-1.3472l-.0852.0982.0852-.0982c-.1786-.1549-.3981-.2308-.6166-.2308-.2671\\n 0-.5329.114-.7202.3347h0l-.0011.0014-3.0442\\n 3.6865c-.0001.0003-.0003.0005-.0005.0007-.3036.3587-.3027.8876.0019 1.2453l3.0431 3.6579z\",\n fill: \"#8795A1\",\n stroke: \"#8795A1\",\n strokeWidth: \".26\"\n }))));\n }\n }]);\n\n return Controls;\n}(Component);\n\nexport { Controls, Player, PlayerEvent, PlayerState, Seeker, parseSrc };"],"sourceRoot":""}