{"version":3,"file":"static/js/main.0b4c1839.js","mappings":"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","sources":["assets/images/contactMailDark.svg","assets/images/developerActivity.svg","assets/images/manOnTable.svg","assets/images/skill.svg","components/socialMedia/SocialMedia.js","portfolio.js","../node_modules/exenv/index.js","../node_modules/lottie-react/compiled/hooks/useLottie.js","../node_modules/lottie-react/compiled/hooks/useLottieInteractivity.js","../node_modules/lottie-react/compiled/components/Lottie.js","../node_modules/lottie-web/build/player/lottie.js","../node_modules/object-assign/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/raf/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-easy-emoji/index.js","../node_modules/react-easy-emoji/lib/makeTwemojiRenderer.js","../node_modules/react-easy-emoji/lib/replaceEmoji.js","../node_modules/react-headroom/dist/index.js","../node_modules/react-headroom/dist/shouldUpdate.js","../node_modules/react-headroom/dist/supportsPassiveEvents.js","../node_modules/react-proptype-conditional-require/isRequiredIf.js","../node_modules/react-reveal/Bounce.js","../node_modules/react-reveal/Fade.js","../node_modules/react-reveal/Flip.js","../node_modules/react-reveal/LightSpeed.js","../node_modules/react-reveal/Reveal.js","../node_modules/react-reveal/RevealBase.js","../node_modules/react-reveal/Roll.js","../node_modules/react-reveal/Rotate.js","../node_modules/react-reveal/Slide.js","../node_modules/react-reveal/Zoom.js","../node_modules/react-reveal/globals.js","../node_modules/react-reveal/index.js","../node_modules/react-reveal/wrap.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/scriptjs/dist/script.js","../node_modules/shallowequal/index.js","../node_modules/string-replace-to-array/string-replace-to-array.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","contexts/StyleContext.js","components/ToggleSwitch/ToggleSwitch.js","components/header/Header.js","containers/loading/Loading.js","components/displayLottie/DisplayLottie.js","components/button/Button.js","containers/greeting/Greeting.js","components/softwareSkills/SoftwareSkill.js","containers/skills/Skills.js","containers/skillProgress/skillProgress.js","../node_modules/colorthief/dist/color-thief.mjs","components/experienceCard/ExperienceCard.js","containers/workExperience/WorkExperience.js","containers/projects/Projects.js","containers/StartupProjects/StartupProject.js","components/achievementCard/AchievementCard.js","containers/achievement/Achievement.js","components/blogCard/BlogCard.js","containers/blogs/Blogs.js","components/footer/Footer.js","components/talkCard/TalkCard.js","containers/talks/Talks.js","containers/podcast/Podcast.js","components/educationCard/EducationCard.js","containers/education/Education.js","containers/topbutton/Top.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-twitter-embed/src/components/twitter-widget-url.js","../node_modules/react-twitter-embed/src/components/TwitterTimelineEmbed.js","../node_modules/react-twitter-embed/src/components/TwitterShareButton.js","../node_modules/react-twitter-embed/src/components/TwitterFollowButton.js","../node_modules/react-twitter-embed/src/components/TwitterHashtagButton.js","../node_modules/react-twitter-embed/src/components/TwitterMentionButton.js","../node_modules/react-twitter-embed/src/components/TwitterTweetEmbed.js","../node_modules/react-twitter-embed/src/components/TwitterMomentShare.js","../node_modules/react-twitter-embed/src/components/TwitterDMButton.js","../node_modules/react-twitter-embed/src/components/TwitterVideoEmbed.js","../node_modules/react-twitter-embed/src/components/TwitterOnAirButton.js","containers/twitter-embed/twitter.js","containers/contact/Contact.js","containers/profile/Profile.js","containers/splashScreen/SplashScreen.js","hooks/useLocalStorage.js","containers/Main.js","App.js","serviceWorker.js","index.js"],"sourcesContent":["var _defs, _path, _ellipse, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _g, _circle, _ellipse2, _path84, _path85, _path86, _path87, _path88, _path89, _path90, _path91;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgContactMailDark(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"94c1f45f-2d92-458e-bbfe-f6c69da92e14\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 1034.95,\n height: 831.61,\n viewBox: \"0 0 1034.95 831.61\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"eb1b6581-0e6c-46f0-8ed9-49203ffc7122\",\n x1: 924.49,\n y1: 836.62,\n x2: 924.49,\n y2: 217.05,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"gray\",\n stopOpacity: 0.25\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.54,\n stopColor: \"gray\",\n stopOpacity: 0.12\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"gray\",\n stopOpacity: 0.1\n })))), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"envelope\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M683.84,129.27C617.49,127.36,554.3,109.52,494,90S373.84,48.89,309.08,38.55c-41.65-6.65-89.28-7.59-122.84,11C153.94,67.44,143.51,98.33,137.9,127c-4.23,21.56-6.71,44.26,4.86,64.44,8,14,22.29,25.79,32.15,39.21,34.3,46.71,10.06,104.3-27.12,149.9-17.44,21.39-37.67,41.8-51.13,64.57S77,494,88.75,517.2c11.67,23,39.48,40.31,69.61,52.48,61.19,24.7,133.3,31.77,203.61,35.78,155.64,8.86,312.12,5,468.18,1.18,57.75-1.42,115.76-2.86,172.58-10.3,31.55-4.13,64.12-10.68,87-26.5,29.08-20.08,36.28-54.09,16.8-79.27-32.68-42.24-123-52.73-145.89-98.06-12.58-24.95.34-52.75,18.61-75.89,39.2-49.64,104.91-93.19,108.37-149.93,2.37-39-29.21-78-78.05-96.44-51.19-19.33-122.18-16.9-160,15.1C810.76,118.29,742.42,131,683.84,129.27Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 435.45,\n cy: 802.29,\n rx: 290.75,\n ry: 29.32,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252,833.31S239.1,760.22,191.22,724c-20.09-15.2-34.79-35.87-41.21-59.41a179.25,179.25,0,0,1-5.78-34.1\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"none\",\n stroke: \"#535461\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.21,607.49c4,7.83,30.73,23.68,30.73,23.68s3.36-29.61-.67-37.45-14-11.11-22.32-7.31S110.18,599.65,114.21,607.49Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.66,662.28c7.9,4.51,39.44,4.11,39.44,4.11S136.87,639.81,129,635.3s-18.16-2.13-22.94,5.32S103.77,657.77,111.66,662.28Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.87,736c9.22.13,36.23-15.25,36.23-15.25s-26.49-16.16-35.72-16.3-16.82,6.82-17,15.53S141.64,735.84,150.87,736Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M193.83,785.43c9.06,1.61,38.44-9.25,38.44-9.25S209.05,756,200,754.42s-17.8,4-19.5,12.6S184.76,783.83,193.83,785.43Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M183.44,653.45c-3.15,8.19-28,26.55-28,26.55s-6.58-29.12-3.43-37.31,12.74-12.42,21.41-9.45S186.59,645.27,183.44,653.45Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.91,711.89c-5.6,6.93-35.12,17.43-35.12,17.43s3-29.65,8.56-36.57a17.38,17.38,0,0,1,23.42-3A15.2,15.2,0,0,1,232.91,711.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M272.73,774.92c-4.28,7.72-31.49,22.78-31.49,22.78s-2.39-29.69,1.89-37.41,14.37-10.7,22.55-6.66S277,767.2,272.73,774.92Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.21,607.49c4,7.83,30.73,23.68,30.73,23.68s3.36-29.61-.67-37.45-14-11.11-22.32-7.31S110.18,599.65,114.21,607.49Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.66,662.28c7.9,4.51,39.44,4.11,39.44,4.11S136.87,639.81,129,635.3s-18.16-2.13-22.94,5.32S103.77,657.77,111.66,662.28Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.87,736c9.22.13,36.23-15.25,36.23-15.25s-26.49-16.16-35.72-16.3-16.82,6.82-17,15.53S141.64,735.84,150.87,736Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M193.83,785.43c9.06,1.61,38.44-9.25,38.44-9.25S209.05,756,200,754.42s-17.8,4-19.5,12.6S184.76,783.83,193.83,785.43Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M183.44,653.45c-3.15,8.19-28,26.55-28,26.55s-6.58-29.12-3.43-37.31,12.74-12.42,21.41-9.45S186.59,645.27,183.44,653.45Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.91,711.89c-5.6,6.93-35.12,17.43-35.12,17.43s3-29.65,8.56-36.57a17.38,17.38,0,0,1,23.42-3A15.2,15.2,0,0,1,232.91,711.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M272.73,774.92c-4.28,7.72-31.49,22.78-31.49,22.78s-2.39-29.69,1.89-37.41,14.37-10.7,22.55-6.66S277,767.2,272.73,774.92Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M250.38,831.39s19.57-71.76-8.65-123.2c-11.84-21.58-16.41-46.1-12.17-70.08a180,180,0,0,1,9.35-33.38\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"none\",\n stroke: \"#535461\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.33,572.22c.32,8.7,17.93,33.41,17.93,33.41s15.78-25.79,15.46-34.5-8.05-15.52-17.27-15.22S221,563.51,221.33,572.22Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M195.49,621.34c5.28,7.14,34.28,18.84,34.28,18.84s-1.6-29.74-6.88-36.89a17.35,17.35,0,0,0-23.26-3.91A15.23,15.23,0,0,0,195.49,621.34Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.69,703.71c8.38,3.65,39.68-.07,39.68-.07s-17.29-24.92-25.67-28.57-18.3-.2-22.17,7.71S191.32,700.06,199.69,703.71Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M217.74,765.36c7.61,4.94,39.12,6.25,39.12,6.25s-12.58-27.31-20.18-32.24a17.33,17.33,0,0,0-23.23,4A15.23,15.23,0,0,0,217.74,765.36Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M264.9,640.73c-6.4,6.28-37,13.57-37,13.57s6.49-29.15,12.88-35.43a17.42,17.42,0,0,1,23.63-.44A15.16,15.16,0,0,1,264.9,640.73Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285,713.08c-8.09,4.19-39.58,2.5-39.58,2.5s15.43-26,23.52-30.16,18.25-1.39,22.68,6.25S293.13,708.89,285,713.08Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M294.39,785.94c-7.23,5.42-38.57,8.78-38.57,8.78s10.56-28.07,17.79-33.49a17.38,17.38,0,0,1,23.47,2.55A15.19,15.19,0,0,1,294.39,785.94Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1074.74,412.36c.6-1.64-3.9-10.73-3.9-11.18s-4.65-5.52-4.65-8.35-6.16-8.94-6.16-8.94-8.25-3.43-9.15-10.88-9.89-7.61-9.91-7.61h0s0-.68.06-1.71c0-2.32-.07-6.46-1.11-8.72a8.85,8.85,0,0,0-5.11-4.33s-.9-5.81-2.7-7.6A8.56,8.56,0,0,1,1030,335c.9-2.83-1.2-10-5.56-11s-9.3-2.68-9.3-2.68-.49.09-1.2.19l-.6-.19a26.78,26.78,0,0,1-3.16.39,3.85,3.85,0,0,1-2.54-.84c-1.51-1.64-13.67-4.77-15.92-4.77s-8.71-3-8.71-3l-6.44-4.92c-1.81-1.38-5.16-7-5.65-7.79l-.06-.11h0l0,0a27,27,0,0,1-1.36-3.92v0a35.44,35.44,0,0,0,5.58-7.67c.16-.29.3-.59.44-.88a3.59,3.59,0,0,0,1-.16c.13,0,.26-.1.39-.15a6.55,6.55,0,0,0,3.19-3.81h0c.11-.32.21-.65.29-1,0-.11,0-.23.07-.34s.1-.45.14-.68.05-.26.07-.38.07-.45.1-.68,0-.25,0-.37c0-.29.07-.57.11-.85h0a30.28,30.28,0,0,1,.47-3.15s0,0,0,0h0c.9-4,3.33-7.46,5.06-11.2h0c.25-.53.48-1.08.69-1.63s.42-1.2.59-1.81l.15-.56c.11-.44.21-.89.3-1.34,0-.2.08-.4.11-.6.1-.62.19-1.24.24-1.87A23.18,23.18,0,0,0,987,246.72c-1.13-2.8-2.8-5.32-3.94-8.12-1.73-4.24-2.18-9-4.29-13.08-3.53-6.78-11.85-10.17-18.69-7.62-3.27,1.21-6.1,3.57-9.41,4.63-4.44,1.41-9.18.35-13.77-.29s-9.67-.69-13.36,2.31c-4.25,3.45-5.42,9.94-9.41,13.73-1.67,1.59-3.76,2.61-5.53,4.08a9,9,0,0,0-2.77,3.79c0,.11-.07.21-.1.32s-.07.25-.1.38-.06.3-.08.45,0,.21,0,.31a5.33,5.33,0,0,0,0,.8h0a6.54,6.54,0,0,0,.13.75c0,.07,0,.14,0,.21s.12.41.19.62a.56.56,0,0,0,0,.12c.08.23.17.45.26.68l.15.34.12.28a17.38,17.38,0,0,1,1.39,3.46,3.91,3.91,0,0,1-.13,2.29,7,7,0,0,1-1.67,2.18,31,31,0,0,0-6.77,10.85c-.17.46-.34.92-.49,1.4v0l.21.05a8.52,8.52,0,0,0,1.31.29c.25,0,.5.06.76.08a11.75,11.75,0,0,0,3.06-.24c.25-.05.51-.11.76-.18a18.87,18.87,0,0,0,3-1.11c0,.3,0,.61,0,.91s0,.34,0,.51a35.47,35.47,0,0,0,19.69,31.71c0,.32.09.65.13,1s.07.54.1.81l-.4-.39s-2.71-1.34-5.26,2.53-7.35,5.67-7.35,5.67-27.32,4.32-28.37,7.9l-12.76.74s-4.51.6-5,10-2.85,10.29-2.85,10.29-5.25,9.24-4.8,14-4,7.16-4,7.16l-.6,8.49s-5-.74-6.31,5.07-3.75,8.5-3.75,8.5-8.26,6.86-8.71,12.67l-5.1,3.13s-11.86-2.68-14.56-7.45l-.83-.78a.75.75,0,0,1-.07-.12.28.28,0,0,0,0,.06c-1.78-1.68-5.54-5.18-5-4.38a3.64,3.64,0,0,1,.24,2.4l-.88-1-2.36-2.62s-19.17-18-30.43-19.38h0c-.15-.29-.87-3.12-2.79-1.35a15.65,15.65,0,0,0-.11,23l17.95,16.77.46.34,3.86,5c-.65,1.56-1.2,3.07-1.65,4.45,0,0,0,.09-.05.13-.09.3-.19.58-.28.86l-.09.3c-.08.28-.17.56-.25.82s-.09.33-.14.49,0,.19-.08.28c-.42,1.5-.7,2.65-.84,3.29l-1-.31,1,.42c0,.05,0,.11,0,.16l-.06.31.92.4c5.26,2.29,31.51,13.8,32.86,15.55,1.5,1.93,11.4,7.6,20.41,2.83s11-12.08,11-12.08,8.7-12.07,9-13.86,7.06-3.88,7.06-3.88.6,20-2.85,27.28-9.91,39.66-9.91,39.66a4.76,4.76,0,0,1,1.28-.08c-.24,1.17-.38,1.87-.38,1.87a4.46,4.46,0,0,1,1.59,0c-.48,3.68-3.24,20.76-3.24,20.76s-.9,7.75-2.4,10.43-1.65,16.7-1.65,16.7l-2.4,10.13a19.57,19.57,0,0,0,.91,1.75v0s2.58,5.72,6.91,8.93a18.3,18.3,0,0,1-1.21,4.64,16.07,16.07,0,0,0-1.2,7.15s-2.55,11.48-2.25,14.76-1.65,11.33-1.65,11.33L854.54,613s-1.8,22.51-.9,28.63-.61,14.45-.61,14.45,1.8,17.74,1.35,19.68-2.7,10.28-1.35,14.91.61,17.29.61,17.29.9,16.69,1.94,22.06-.3,12.23-.3,12.23-1,11.47-1.5,11.47-4.35,7.9,3.6,15.66,3,6.55,3,6.55-6.3-3.13-5.56,3.28c.72,6.1,1.71,4.51,1.8,4.34l-1.5,4.9,1,.15-.87,1a23.29,23.29,0,0,1-3,3.14c-1.81,1.34-2,4.32-2,4.32s-11.1,12.08-21.46,18.19c-5.45,3.22-10.15,5.94-12.2,8.19-1.85,2-1.55,3.66,2.29,4.93,8.11,2.68,22.36,4,32.57.6a38.06,38.06,0,0,0,15.91-10.29s6.46-3.28,12.77-2.09,18.91-7,18.91-7l-.23-2.12-.67-6.09a4.79,4.79,0,0,1-1.05-3.72,19.31,19.31,0,0,0-.53-5.36c-.1-.59-.22-1.18-.33-1.73l1.15-.21s-1.49-7.61,1.21-9.1,1.94-21,1.94-21-3.44-4.47-5.25-5.21-.15-10,.16-11.19,2.7-24.3,2.7-24.3-.9-7.3.3-10.43S897,694,897,694s-.9-1.49.76-3.28,1-17.74,1-17.74-.14-8.05-.14-10.14,1.8-9.69,3.45-12.22.6-10.44.6-10.44v0l.09-.59c0-.23.08-.51.14-.85l.13-.79A112.6,112.6,0,0,1,906,624.94c2-6.26,4.2-17.29,4.2-17.29l14-36.4.16-.43s6.45,11.93,6.45,23c0,0,1.65,13.27,1.2,16.85S933.34,631,933.34,631s1.95,24.15,1.95,25.2,2.4,19.68,3.91,22.51-1.51,11.48-2.41,12.37.3,22.81.3,22.81-2.25,17.29-2.7,20.87-2.25,17.3-.75,22.66.9,6.11.9,6.11,5.41,5.52,2.25,6a8.25,8.25,0,0,0-6,10.87,139.25,139.25,0,0,0,6.61,16s.93-.21,2.48-.52l0,1.77.18,8.88s1,8.5.45,10.44c-.44,1.42-1,8.1-1.33,11.59-.11,1.27-.17,2.12-.17,2.12s0,7.9,16.66,5.52,19.66-8.94,19.66-8.94,0-.31.12-.82c.25-1.51.79-4.71,1.23-6.49.6-2.39-4.8-13.12-4.8-13.12s-.9-7.3-2.41-8.94a7.92,7.92,0,0,1-1.2-3.13c-.14-.6-.26-1.23-.36-1.84a11,11,0,0,1,1.11.2s-.9-5.22,2.56-6.86,2.55-5.06,2.1-6.56,1.35-9.84,1.35-9.84a4.85,4.85,0,0,1,1.2-4.76c2.11-2.1,3.75-16.7,3.75-16.7l.3-56.35s1.06-10-.14-14-2.41-11.77-.76-13.86.15-11.77.15-11.77,0-20.43,2.26-25.49,1.5-37.12,1.5-37.12l.59-21s4.91-4.64,3.75-28.83c5.23-.33,11.13-.52,12,.2,1.65,1.35,12.31,8.2,18.61,3.88,1.35-.6,7.5-5.81,7.5-5.81l-2.64-44.7c1.65,2.49,2.65,4.15,2.65,4.15,0-6.26,17.71-26.54,17.71-26.54s16.51-21.31,20.11-23.85,10.66-15.95,10.66-15.95a64.65,64.65,0,0,1,3.61-7.45C1079.55,421.16,1074.14,414,1074.74,412.36ZM1036,428c-4.5.45-14,10.74-14.11,13-.07,1.18-1.07,2.76-2,4-.07-.9-.15-1.82-.22-2.75-1.06-13.17-2.21-29.22-1.69-30.78.91-2.68.6-14.75.6-14.75l0,0,.16-.23c3,9.35,12.43,20.38,12.43,20.38s1.65,4.77,3.6,4.92S1036,428,1036,428Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"url(#eb1b6581-0e6c-46f0-8ed9-49203ffc7122)\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M795.34,424.61s5.47-28.7,23.08-28.85l12.87,26.48-8.58,5.92S804.07,428.75,795.34,424.61Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M831.29,422.24l-8.58,5.92s-13.12.42-22.5-1.89a26.92,26.92,0,0,1-4.87-1.66s0-.16.1-.46c0,0,0-.07,0-.11a64.76,64.76,0,0,1,3.33-10.54c.55-1.29,1.16-2.62,1.82-3.95,2.58-5,6.2-9.82,11.16-12.23a15.17,15.17,0,0,1,5.87-1.53l.52,0h.26l.28.59,4.35,8.94Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.45,541.48s18.5-1.77,20.12-.44,12.13,8.13,18.35,3.84,2.07-19.23,2.07-19.82-.59-21.75-.59-21.75l-11.1-14.94-13.9-26.18L964,459.37l.74,41.58-.15,21.3Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.45,541.48s18.5-1.77,20.12-.44,12.13,8.13,18.35,3.84,2.07-19.23,2.07-19.82-.59-21.75-.59-21.75l-11.1-14.94-13.9-26.18L964,459.37l.74,41.58-.15,21.3Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M814.72,395s-1.48,18.05-12.72,18.34c0,0-3.19-1.92-7.48-5.12-9.88-7.39-25.55-21.6-21.22-34.82,6.21-18.93,36.39,16,36.39,16L812,392Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M814.72,395s-1.48,18.05-12.72,18.34c0,0-3.19-1.92-7.48-5.12l-.95-1.23a14.79,14.79,0,0,0,6.16,1.66,8.33,8.33,0,0,0,8-5.07,63.51,63.51,0,0,0,3.11-7.16A20.87,20.87,0,0,0,812,392Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M809.84,427.72l-2.53-3.26-8.52-11-4.34-5.61a14.62,14.62,0,0,0,6.16,1.66c2.83.07,6-1,8-5.06a64.62,64.62,0,0,0,3.11-7.17c1.4-4,1.38-6,.88-6.73s3.14,2.68,4.89,4.34l.06.06.82.77.3.6,4.29,8.57s0,.12,0,.36C823.38,408,824.83,425.27,809.84,427.72Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M898.46,808.51s-12.43,8.14-18.64,7-12.58,2.08-12.58,2.08a37.48,37.48,0,0,1-15.69,10.21c-10,3.4-24.1,2.06-32.09-.6-3.78-1.26-4.09-2.88-2.27-4.89,2-2.24,6.66-4.93,12-8.13,10.21-6.06,21.15-18,21.15-18s.15-3,1.93-4.28a23.06,23.06,0,0,0,3-3.12c1.59-1.88,3.08-3.84,3.08-3.84L894.91,786s.62,2.63,1.11,5.32a19.27,19.27,0,0,1,.51,5.33,4.82,4.82,0,0,0,1,3.69l.66,6Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M974.94,818.72c-.44,1.77-1,4.94-1.21,6.43l-.13.82s-3,6.51-19.37,8.88-16.42-5.48-16.42-5.48.06-.84.16-2.11c.29-3.46.88-10.09,1.32-11.5.58-1.92-.45-10.36-.45-10.36l-.17-8.81-.13-6.12,27.23-2.82a49.4,49.4,0,0,0,.88,6.06,7.75,7.75,0,0,0,1.19,3.11c1.48,1.63,2.36,8.88,2.36,8.88S975.53,816.35,974.94,818.72Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M894.91,786s.62,2.63,1.11,5.32c-3.95.73-21.21,3.72-25.52,1.63-4.89-2.37-15.39-3.7-15.39-3.7l.17-.6c1.59-1.88,3.08-3.84,3.08-3.84Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M966.65,793.71c-6.9-1.17-22,1.66-28,2.88l-.13-6.12,27.23-2.82A49.4,49.4,0,0,0,966.65,793.71Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982,569.44l-.59,20.86s.74,31.81-1.48,36.84-2.22,25.3-2.22,25.3,1.48,9.61-.15,11.68-.44,9.76.74,13.76.15,13.91.15,13.91l-.3,55.92s-1.62,14.49-3.7,16.57a4.85,4.85,0,0,0-1.18,4.73s-1.77,8.28-1.33,9.77,1.33,4.88-2.07,6.5-2.52,6.81-2.52,6.81c-8.13-1.93-31.21,3.26-31.21,3.26a138.84,138.84,0,0,1-6.51-15.84,8.19,8.19,0,0,1,5.92-10.79c3.1-.45-2.22-5.92-2.22-5.92s.59-.74-.89-6.06.29-19,.74-22.5,2.66-20.71,2.66-20.71-1.18-21.74-.29-22.63,3.84-9.47,2.37-12.28-3.86-21.3-3.86-22.34-1.91-25-1.91-25-1.78-16.72-1.33-20.27-1.19-16.71-1.19-16.71c0-11-6.36-22.79-6.36-22.79l-.16.43L909.4,608.06s-2.22,10.94-4.14,17.15a112.18,112.18,0,0,0-2.89,12.85l-.13.79c0,.33-.1.61-.13.83l-.09.6v0s1,7.84-.6,10.36-3.4,10.06-3.4,12.13.15,10.06.15,10.06.59,15.83-1,17.61-.75,3.25-.75,3.25,2.66,12,1.48,15.09-.29,10.35-.29,10.35-2.37,22.94-2.66,24.12-1.93,10.36-.15,11.1,5.17,5.17,5.17,5.17.75,19.39-1.92,20.86-1.19,9-1.19,9-21.44,4.14-26.32,1.77-15.39-3.7-15.39-3.7l1.47-4.86c-.09.17-1.07,1.75-1.77-4.31-.73-6.36,5.48-3.26,5.48-3.26s4.88,1.19-3-6.5-4-15.54-3.55-15.54,1.49-11.38,1.49-11.38,1.33-6.81.29-12.14-1.92-21.9-1.92-21.9.74-12.57-.59-17.15.88-12.88,1.33-14.8S853,656.13,853,656.13s1.48-8.28.59-14.34.89-28.41.89-28.41l2.66-25.74s1.92-8,1.63-11.25S861,561.75,861,561.75a16,16,0,0,1,1.18-7.1c1.48-3,2.07-12.72,2.07-12.72l14.21-32.55,7-28.7,93.93-.89s.35,2.49.92,7,1.37,11.21,2.26,19.48c.82,7.51,1.72,16.34,2.59,26.17C988,563.82,982,569.44,982,569.44Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#3f3d56\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M973.31,310.4l-21.9,23.38s-28.1-11.25-25.14-15.09c1.14-1.49,1-6.19.3-11.37-1-8.2-3.26-17.63-3.26-17.63s49.11-8,45,.29c-1.51,3-1.25,6.56-.31,9.83A37,37,0,0,0,973.31,310.4Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M968.28,290c-1.51,3-2.23,3.32-1.29,6.59C960.57,303.46,952.4,311,942.24,311a35.06,35.06,0,0,1-15.67-3.67c-1-8.2-3.26-17.63-3.26-17.63S972.42,281.7,968.28,290Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.46,274.89a35.22,35.22,0,0,1-70.43,0c0-.17,0-.34,0-.5a35.21,35.21,0,0,1,70.42.5Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982.55,507.18c-4.66,0-20.19.17-37.55.44h-.21l-5.73.1h-.18c-20.58.33-40.87-3.69-49-2.93-17.3,1.62,6.22-16,6.22-16a144.78,144.78,0,0,0,39.43,4l5-.26c15.72-.89,31.53-2.37,39.79-4.85C980.87,492.26,981.66,498.91,982.55,507.18Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982.55,506.29c-4.66,0-20.19.17-37.55.44h-.21l-5.73.1h-.18c-20.58.33-40.87-3.69-49-2.93-17.3,1.63,6.22-16,6.22-16a144.78,144.78,0,0,0,39.43,4l5-.26c15.72-.89,31.53-2.37,39.79-4.84C980.87,491.38,981.66,498,982.55,506.29Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#5f5d7e\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M932.78,320.16l-27.22,12.73-21,162.43s12.42-5.62,19.53-2.07,29,.3,29,.3,16-.89,18.35.89S981.6,487,981.6,487s5-11.24,1.18-13S984,454.79,984,454.79L981.6,337.62l-4.74-15.09-12.72-7.69-13,10.35-6.21.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M932.78,318.39l-27.22,12.72-21,162.44s12.42-5.62,19.53-2.07,29,.29,29,.29,16-.88,18.35.89,30.18-7.4,30.18-7.4,5-11.24,1.18-13S984,453,984,453L981.6,335.84l-4.74-15.08-12.72-7.7-13,10.36-6.21.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M932.33,325.93s7.84,9.32,7.7,11.25-.45,6.51-.45,6.51l-5.92,12s-3.25,14.94-3.25,18.05-5.18,30-5.18,30L919,445.17l-7.84,54.3,8,13.75,9.46-8,12.58-96.76,2.66-19.08s2.81-34.32,2.81-37.87-1.62-12.87-1.62-12.87,1.92-8.88,9.91-11-.59-.45-.59-.45l-4.59-3.69-4,1.62S934.7,321.79,932.33,325.93Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M931.44,325.05s7.85,9.32,7.7,11.24-.45,6.51-.45,6.51l-5.91,12s-3.26,14.94-3.26,18.05-5.18,30-5.18,30l-6.21,41.42-7.84,54.3,8,13.76,9.47-8,12.57-96.75L943,388.51s2.81-34.32,2.81-37.87-1.62-12.87-1.62-12.87,1.92-8.88,9.91-10.95-.59-.44-.59-.44l-4.59-3.7-4,1.63S933.81,320.9,931.44,325.05Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M926.27,309.51s-1.19.89-1.48,6.81-4.44,19.23-4.44,19.23,15.39-10.65,23.08-9.47Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M926.27,307.74s-1.19.88-1.48,6.8-4.44,19.23-4.44,19.23,15.39-10.65,23.08-9.46Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M968.28,304.78,944,326.08s20.42,12.13,23.08,15.09,5.32-29,5.32-29Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M969.17,303l-24.26,21.31S965.32,336.44,968,339.4s5.32-29,5.32-29Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M927.15,309.51s-2.66-1.33-5.17,2.52a16.8,16.8,0,0,1-7.25,5.62s-26.93,4.29-28,7.84l-12.58.74s-4.44.59-4.88,9.91-2.81,10.21-2.81,10.21-5.18,9.17-4.73,13.9-4,7.11-4,7.11l18.49,48.08s.6,19.82-2.81,27.07-9.76,39.35-9.76,39.35,2.66-.59,2.51,1.18S863,504.2,863,504.2s-.89,7.69-2.37,10.36S859,531.12,859,531.12l-2.36,10.06s5.62,12.58,14.2,10.8,24.11-35.35,24.11-35.35l9.92-36.25,7.69-35.8,2.22-24.26,3.55-53.7,5.18-35.51S929.23,312,927.15,309.51Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M926.27,307.74s-2.67-1.33-5.18,2.51a16.71,16.71,0,0,1-7.25,5.62s-26.92,4.29-28,7.84l-12.58.74s-4.43.6-4.88,9.92-2.81,10.2-2.81,10.2-5.18,9.18-4.73,13.91-4,7.1-4,7.1l18.5,48.08s.59,19.82-2.81,27.07-9.77,39.36-9.77,39.36,2.66-.6,2.52,1.18-3.26,21.15-3.26,21.15-.89,7.7-2.37,10.36-1.62,16.57-1.62,16.57l-2.37,10.06s5.62,12.57,14.2,10.8S894,514.85,894,514.85l9.91-36.24,7.69-35.8,2.22-24.27,3.55-53.7,5.18-35.5S928.34,310.25,926.27,307.74Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M831.29,422.24l-8.58,5.92s-13.12.42-22.5-1.89l-4.77-2.12-1-.42,1,.31c4.95,1.47,8.82,1.44,11.85.42,12.14-4.09,10.8-24.14,10.33-28.67,0-.46-.08-.75-.1-.86a.28.28,0,0,1,0-.06l.07.12a6.62,6.62,0,0,0,.56.78c.17.19.35.39.54.58h0l4.29,8.57s0,.12,0,.36Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M861,364.4l-4.15,1.18-.59,8.43s-4.88-.74-6.21,5-3.7,8.44-3.7,8.44-8.14,6.8-8.58,12.57l-5,3.11s-11.69-2.67-14.35-7.4c0,0,5.33,38.17-23.08,28.85,0,0,31.81,13.9,33.29,15.83s11.24,7.54,20.12,2.81,10.8-12,10.8-12,8.58-12,8.87-13.76,7-3.85,7-3.85l12.72-30.77Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M964.88,322.53,969.17,303s1.92,6.36,3.85,7.84l6.36,4.89s6.36,2.95,8.58,2.95,14.2,3.11,15.68,4.74,7.4.44,7.4.44,4.88,1.63,9.17,2.66,6.36,8.14,5.47,11a8.53,8.53,0,0,0,2.07,8c1.78,1.78,2.67,7.55,2.67,7.55a8.66,8.66,0,0,1,5,4.29c1.48,3.25,1,10.35,1,10.35l-22,31.07s.29,12-.59,14.65,3.1,47.93,3.1,47.93l4.59,77.81s-6.07,5.18-7.4,5.77-2.66-27.51-2.66-28.55-34.17-51.19-34.17-51.19-4.59-7.39-4.59-9-4.29-16.57-4.29-16.57l-6.51-28.85Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1038.31,366c0,1,0,1.7,0,1.7l-22,31,0,0s.3,12-.58,14.64c-.52,1.55.61,17.47,1.66,30.55.74,9.43,1.44,17.38,1.44,17.38l1.95,33,2.63,44.8s-6.06,5.18-7.39,5.77-2.66-27.51-2.66-28.55-34.18-51.18-34.18-51.18-4.59-7.41-4.59-9-4.29-16.57-4.29-16.57l-6.5-28.85,2.95-88.17L969.17,303s3.7,6.37,5.62,7.84l6.36,4.88s6.36,3,8.58,3,14.21,3.1,15.69,4.73,7.39.44,7.39.44,4.88,1.63,9.17,2.66,6.37,8.14,5.48,11a8.51,8.51,0,0,0,2.07,8c1.77,1.77,2.66,7.54,2.66,7.54a8.7,8.7,0,0,1,5,4.3C1038.25,359.54,1038.35,363.65,1038.31,366Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M857.48,760.14c.73,0,31.8,1.18,31.21,6.21S857.48,760.14,857.48,760.14Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M864.43,768.57s20.86,3.4,15.38,6.51S864.43,768.57,864.43,768.57Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M942,756.88s34.62,3,29.44,6.81-17.46,4.43-18,4.58S942,756.88,942,756.88Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M937.81,772.12s19.23,3.25,19.82,7S937.81,772.12,937.81,772.12Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M948.46,683.06s17.6,4.14,18.64,7Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M880.55,695.78s-9.17,2.66-.29,8S880.55,695.78,880.55,695.78Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M921.24,553.61c1,0,17.16-5.32,22.78-3A37.49,37.49,0,0,0,956.59,553Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M923.31,570.47l-.16,1.47L909.4,608.06s-2.22,10.94-4.14,17.15a112.18,112.18,0,0,0-2.89,12.85l12.21-75.72Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M944.79,506.73l-5.73.1h-.18l-3.36-14.91,5-.27Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#3f3d56\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1014.59,488.67l-3.69,3-12.29,10.13s-33.29,17.76-42.46.89c-8.08-14.86,29.66-25.47,38.75-27.78,1.23-.31,1.93-.47,1.93-.47Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M872.42,343.24s6.51,3,8,7.1S872.42,343.24,872.42,343.24Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M852.3,387.62s-9.47,11.54-5.62,16S852.3,387.62,852.3,387.62Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1021.54,349.75s-8.88.89-9.17,8.58Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M939.29,471.06c.88-.89,21.3-31.07,26-28.4Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.46,274.89a35,35,0,0,1-4.17,16.62l-.26-.05c-2.23-.47-3.39-3.07-5.1-4.69a6.93,6.93,0,0,0-8-1.12,8.13,8.13,0,0,0-3.92,7.59c-1.13-4.74-.77-9.77-1.87-14.52s-4.41-9.55-8.95-9.63c-2,0-4.23.71-5.65-.75-.85-.88-1-2.27-1.66-3.35-3.24-5.24-13.11-2.59-17.14.1s-8.7,7-13.71,9.3a35.21,35.21,0,0,1,70.42.5Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M937.89,264.11c.64,1.07.81,2.46,1.66,3.34,1.41,1.47,3.7.71,5.65.75,4.54.08,7.85,4.88,8.95,9.63s.74,9.78,1.87,14.52a8.11,8.11,0,0,1,3.93-7.59,6.93,6.93,0,0,1,8,1.12c1.71,1.62,2.87,4.22,5.1,4.69s4.38-1.67,5.19-4,.75-4.93,1.28-7.37c1-4.61,4-8.4,5.68-12.79a23.17,23.17,0,0,0-.15-16.52c-1.11-2.78-2.76-5.28-3.89-8.05-1.7-4.22-2.14-9-4.22-13-3.48-6.73-11.68-10.09-18.43-7.56-3.21,1.2-6,3.54-9.27,4.59-4.37,1.41-9.05.35-13.57-.28s-9.53-.69-13.17,2.28c-4.19,3.43-5.33,9.87-9.27,13.63-1.65,1.58-3.7,2.59-5.44,4s-3.25,3.63-3,6c.26,3.06,3.26,5.84,2.15,8.68a7,7,0,0,1-1.64,2.17,30.93,30.93,0,0,0-7.16,12.18c7.91,2.48,16.48-6.25,22.68-10.38C924.79,261.52,934.65,258.86,937.89,264.11Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#7c5c5c\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1014.59,488.67l-3.69,3c-3.25-5.4-16.58-16.2-16.58-16.2l.58-.56c1.23-.31,1.93-.47,1.93-.47Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1018.14,483.19s-1.33,3.3-2.69,6.14-2.86,5.44-2.93,3.33c-.15-4.14-17.31-18.05-17.31-18.05l2.33-2.26,2.69-2.62Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1018.73,461.29l1.95,33c-4.6-7.15-17.22-25.47-25.33-24.88L1015,446.8a26.81,26.81,0,0,0,2.26-2.89C1018,453.34,1018.73,461.29,1018.73,461.29Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1018.14,483.19s-1.33,3.3-2.69,6.14c-5.16-7.07-12.25-15.42-17.91-17l2.69-2.62Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1032.93,363.51l5.33,4.14s8.87.15,9.76,7.55,9,10.8,9,10.8,6.06,6.06,6.06,8.87,4.59,7.84,4.59,8.29,4.44,9.47,3.84,11.09,4.74,8.73,3.11,11.39a65.63,65.63,0,0,0-3.55,7.4s-6.95,13.32-10.5,15.83-19.83,23.67-19.83,23.67-17.45,20.12-17.45,26.33c0,0-17-28.4-27.08-27.66l19.68-22.64s3.4-3.69,3.55-5.91,9.47-12.43,13.91-12.87c0,0,.73-6.07-1.19-6.22s-3.55-4.88-3.55-4.88-13-15.38-13.17-25.15S1032.93,363.51,1032.93,363.51Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1040.77,377.56s-12.42,9.18-9.76,12.13S1040.77,377.56,1040.77,377.56Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1041.36,415.44s23.08-7.4,25.45,0Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M898.46,808.51s-12.43,8.14-18.64,7-12.58,2.08-12.58,2.08a37.48,37.48,0,0,1-15.69,10.21c-10,3.4-24.1,2.06-32.09-.6-3.78-1.26-4.09-2.88-2.27-4.89,8.69,1.73,28.1,5.18,33.33,2.67,6.8-3.26,16.57-10.36,16.57-10.36s12.73-1.77,14.5-1.77c1.26,0,11.09-4.06,16.64-6.38Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M973.73,825.15l-.13.82s-3,6.51-19.37,8.88-16.42-5.48-16.42-5.48.06-.84.16-2.11C943.17,829.23,954.51,831.43,973.73,825.15Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M878.56,375.79s0,33.73-2.89,37.06S878.56,375.79,878.56,375.79Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1011.92,386.66l4.29,12.06S1017.92,386.88,1011.92,386.66Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M907.32,257.35c1.08-2.78-1.76-5.5-2.13-8.48a5.56,5.56,0,0,0-.47,2.68c.19,2.24,1.84,4.33,2.28,6.41A4,4,0,0,0,907.32,257.35Z\",\n transform: \"translate(-82.53 -34.2)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M956.42,289.21c-1.06-4.66-.75-9.6-1.83-14.27s-4.41-9.55-8.94-9.63c-2,0-4.24.72-5.65-.74-.86-.88-1-2.28-1.67-3.35-3.24-5.25-13.1-2.59-17.14.1-6,4-14.36,12.43-22.12,10.53-.37.89-.71,1.8-1,2.73,7.91,2.48,16.48-6.25,22.68-10.38,4-2.68,13.9-5.34,17.14-.09.64,1.07.81,2.46,1.66,3.34,1.41,1.47,3.7.71,5.65.75,4.54.08,7.85,4.88,8.95,9.63s.74,9.78,1.87,14.52A8.16,8.16,0,0,1,956.42,289.21Z\",\n transform: \"translate(-82.53 -34.2)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M978.66,283.67c-.8,2.34-2.91,4.5-5.19,4s-3.39-3.07-5.09-4.7a7,7,0,0,0-8-1.11,8.06,8.06,0,0,0-3.93,7.16,7.76,7.76,0,0,1,3.49-4.28,6.93,6.93,0,0,1,8,1.12c1.71,1.62,2.87,4.22,5.1,4.69s4.38-1.67,5.19-4a20.21,20.21,0,0,0,.81-4.25A11.1,11.1,0,0,1,978.66,283.67Z\",\n transform: \"translate(-82.53 -34.2)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M985.62,263.51c-1.66,4.39-4.68,8.17-5.68,12.79-.2.93-.32,1.88-.43,2.84,1-4.6,4-8.37,5.67-12.75a22.81,22.81,0,0,0,1.37-6.13A22.39,22.39,0,0,1,985.62,263.51Z\",\n transform: \"translate(-82.53 -34.2)\"\n }))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 689.3,\n cy: 336.07,\n r: 0.36,\n fill: \"#e6e8ec\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 817.04,\n cy: 792.28,\n rx: 86.34,\n ry: 8.81,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M582.08,248.59,320.57,418.25l170.66,307.8a11.91,11.91,0,0,0,7.6,5.8l154.63,37.72A11.92,11.92,0,0,0,667,763.16l76.7-159.35,84.06-112.37-199.48-236A35.35,35.35,0,0,0,582.08,248.59Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#dcdfed\"\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M830.42,492.77l-.74,1-49.24,65.83-.89,1.19-33.19,44.37-65.6,136.31-1.84,3.81-9.26,19.23a11.92,11.92,0,0,1-13.56,6.41L501.47,733.18a11.89,11.89,0,0,1-7.6-5.8L479,700.61l-2.67-4.82L369,502.13l-.92-1.65-44.86-80.9,5.42-3.52,41.09-26.65.95-.62,86.53-56.14,5.46-3.54,122.05-79.19a35.34,35.34,0,0,1,46.22,6.84l91,107.7,4,4.8,66.05,78.14.36.43,33.21,39.28,4.18,4.95Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M789.79,446.5l-8.06,56L779.3,519.4l-1.39,36-.11,2.81-7.23,188.1a11.93,11.93,0,0,1-14.51,11.17l-77.94-17.4-.84-.19L477.39,695.28l-3.67-.82L363.83,669.92l2.52-169.12.08-5.65.76-51.19.84-56.5,86.53-56.14,5.46-3.54c80.26,8.23,187,24.06,259.31,35.35l4,4.8,66,78.14Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M798.92,380.1l-9.49,66-8.7,60.44L778.3,523.4l-1.39,36-7.34,190.91a11.93,11.93,0,0,1-14.51,11.17l-78.78-17.59L476.39,699.28,362.83,673.92l2.6-174.77.76-51.19.89-59.88.91-61.59c18.78-.89,49.68,1.12,86.57,4.83,82.6,8.29,195.2,25.06,268.82,36.61C768.46,375,798.92,380.1,798.92,380.1Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M823,485.78l-42.27,20.73L565,612.31,366.19,448,326,414.73l-5.42,3.52,44.86,80.9-2.6,174.77,113.56,25.36,14.84,26.77a11.89,11.89,0,0,0,7.6,5.8l154.63,37.72A11.92,11.92,0,0,0,667,763.16l9.26-19.23,78.78,17.59a11.93,11.93,0,0,0,14.51-11.17l7.34-190.91,50.13-67,.14-1.69Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M320.57,418.25,302.74,723.58a11.92,11.92,0,0,0,9.31,12.33L785.57,841.06A11.92,11.92,0,0,0,800,830.39l27.75-338.95L565,620.31Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#dcdfed\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M306,730.57,552,578.8a18.06,18.06,0,0,1,23,3.6L795.18,839.19c.8.92,1.19.26,0,0L306,730.57C304.6,730.26,304.78,731.3,306,730.57Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M307.76,730.32,551.22,583.25a19.09,19.09,0,0,1,24.28,3.82L793.69,838a2.63,2.63,0,0,1-2.55,4.29L308.55,735.13A2.62,2.62,0,0,1,307.76,730.32Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e3e5f1\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgContactMailDark);\nexport default __webpack_public_path__ + \"static/media/contactMailDark.1db650d351729a0f17b4e3104e6a7b7a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _rect, _rect2, _rect3, _rect4, _rect5, _rect6, _rect7, _rect8, _rect9, _rect10, _rect11, _rect12, _rect13, _rect14, _rect15, _rect16, _rect17, _rect18, _rect19, _rect20, _rect21, _rect22, _path3, _rect23, _rect24, _rect25, _rect26, _rect27, _rect28, _rect29, _rect30, _rect31, _rect32, _rect33, _rect34, _rect35, _rect36, _rect37, _rect38, _rect39, _rect40, _rect41, _rect42, _rect43, _rect44, _rect45, _path4, _polygon, _rect46, _rect47, _rect48, _rect49, _rect50, _rect51, _rect52, _rect53, _rect54, _rect55, _rect56, _rect57, _rect58, _rect59, _rect60, _rect61, _rect62, _rect63, _rect64, _rect65, _rect66, _rect67, _rect68, _rect69, _rect70, _rect71, _rect72, _rect73, _rect74, _rect75, _rect76, _rect77, _rect78, _rect79, _rect80, _rect81, _rect82, _rect83, _rect84, _rect85, _rect86, _rect87, _rect88, _rect89, _rect90, _rect91, _rect92, _rect93, _rect94, _rect95, _rect96, _rect97, _rect98, _rect99, _rect100, _rect101, _rect102, _rect103, _rect104, _rect105, _rect106, _rect107, _rect108, _rect109, _rect110, _rect111, _rect112, _rect113, _rect114, _rect115, _rect116, _rect117, _rect118, _rect119, _rect120, _rect121, _rect122, _rect123, _rect124, _rect125, _rect126, _rect127, _rect128, _rect129, _rect130, _rect131, _rect132, _rect133, _rect134, _rect135, _rect136, _rect137, _rect138, _rect139, _rect140, _rect141, _rect142, _rect143, _rect144, _rect145, _rect146, _rect147, _rect148, _rect149, _rect150, _rect151, _rect152, _rect153, _rect154, _rect155, _rect156, _rect157, _rect158, _rect159, _rect160, _rect161, _rect162, _rect163, _rect164, _rect165, _rect166, _rect167, _rect168, _rect169, _rect170, _rect171, _rect172, _rect173, _circle, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _polygon2, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _ellipse, _path19, _circle2, _path20, _path21, _path22, _ellipse2, _path23, _path24, _circle3, _path25, _path26;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDeveloperActivity(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"aa7bae02-e79e-4d6b-a496-aba15f39787c\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 1144,\n height: 617.32,\n viewBox: \"0 0 1144 617.32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"developer activity\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1172,537.57a181.92,181.92,0,0,1-6.85,49.6,180.06,180.06,0,0,1-19.27,44.28c0,50.1-33.82,93.4-82.91,114a167.3,167.3,0,0,1-64.73,12.8H245.17c-40.25,0-77.55-10.86-108.14-29.36A185.76,185.76,0,0,1,112.2,711c-34-29.22-55.08-69.6-55.08-114.2A180.5,180.5,0,0,1,28,498.08c0-73.36,43.39-136.44,105.55-164.29a174.52,174.52,0,0,1,25.51-9.12q4.63-1.26,9.36-2.26a175.39,175.39,0,0,1,25.51-3.5q4.65-.29,9.35-.33H205c3.46,0,6.89.12,10.3.32l1.12-1.9q2.06-3.44,4.22-6.81,3.9-6.14,8.18-12.1,4.48-6.29,9.35-12.38l.83-1q2.76-3.44,5.64-6.8,9-10.49,19-20.35c72.11-70.68,185.08-116.18,312.08-116.18,98.82,0,189.15,27.55,258.34,73.07A174.18,174.18,0,0,1,920,191.86c97.74,0,177,80.37,177,179.51a184.9,184.9,0,0,1-1,18.78A180,180,0,0,1,1172,537.57Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M263.66,257.52v20.35h-19Q253.59,267.39,263.66,257.52Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect7 || (_rect7 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect8 || (_rect8 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect9 || (_rect9 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect10 || (_rect10 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect11 || (_rect11 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect12 || (_rect12 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect13 || (_rect13 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect14 || (_rect14 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect15 || (_rect15 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect16 || (_rect16 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect17 || (_rect17 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect18 || (_rect18 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect19 || (_rect19 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect20 || (_rect20 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect21 || (_rect21 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect22 || (_rect22 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M228.8,298.08v12.1h-8.18Q224.52,304,228.8,298.08Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\"\n })), _rect23 || (_rect23 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect24 || (_rect24 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect25 || (_rect25 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect26 || (_rect26 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect27 || (_rect27 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect28 || (_rect28 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect29 || (_rect29 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect30 || (_rect30 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect31 || (_rect31 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect32 || (_rect32 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect33 || (_rect33 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect34 || (_rect34 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect35 || (_rect35 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect36 || (_rect36 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect37 || (_rect37 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect38 || (_rect38 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect39 || (_rect39 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect40 || (_rect40 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect41 || (_rect41 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect42 || (_rect42 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect43 || (_rect43 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect44 || (_rect44 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect45 || (_rect45 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.06,324.67V342.5H133.55v-8.71A174.52,174.52,0,0,1,159.06,324.67Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"165.93 177.57 165.93 201.16 140.42 201.16 140.42 181.07 165.93 177.57\",\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect46 || (_rect46 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect47 || (_rect47 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect48 || (_rect48 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect49 || (_rect49 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect50 || (_rect50 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect51 || (_rect51 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect52 || (_rect52 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect53 || (_rect53 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect54 || (_rect54 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect55 || (_rect55 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect56 || (_rect56 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect57 || (_rect57 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect58 || (_rect58 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect59 || (_rect59 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect60 || (_rect60 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect61 || (_rect61 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect62 || (_rect62 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect63 || (_rect63 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect64 || (_rect64 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect65 || (_rect65 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect66 || (_rect66 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect67 || (_rect67 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect68 || (_rect68 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect69 || (_rect69 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect70 || (_rect70 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect71 || (_rect71 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect72 || (_rect72 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect73 || (_rect73 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect74 || (_rect74 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect75 || (_rect75 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect76 || (_rect76 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect77 || (_rect77 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect78 || (_rect78 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect79 || (_rect79 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect80 || (_rect80 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect81 || (_rect81 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect82 || (_rect82 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect83 || (_rect83 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect84 || (_rect84 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect85 || (_rect85 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect86 || (_rect86 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect87 || (_rect87 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect88 || (_rect88 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect89 || (_rect89 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect90 || (_rect90 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect91 || (_rect91 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect92 || (_rect92 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect93 || (_rect93 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect94 || (_rect94 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect95 || (_rect95 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect96 || (_rect96 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect97 || (_rect97 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect98 || (_rect98 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect99 || (_rect99 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect100 || (_rect100 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect101 || (_rect101 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect102 || (_rect102 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect103 || (_rect103 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect104 || (_rect104 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect105 || (_rect105 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect106 || (_rect106 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect107 || (_rect107 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect108 || (_rect108 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect109 || (_rect109 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect110 || (_rect110 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect111 || (_rect111 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect112 || (_rect112 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect113 || (_rect113 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect114 || (_rect114 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect115 || (_rect115 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect116 || (_rect116 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect117 || (_rect117 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect118 || (_rect118 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect119 || (_rect119 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect120 || (_rect120 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect121 || (_rect121 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect122 || (_rect122 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect123 || (_rect123 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect124 || (_rect124 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect125 || (_rect125 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect126 || (_rect126 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect127 || (_rect127 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect128 || (_rect128 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect129 || (_rect129 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect130 || (_rect130 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect131 || (_rect131 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect132 || (_rect132 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect133 || (_rect133 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect134 || (_rect134 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect135 || (_rect135 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect136 || (_rect136 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect137 || (_rect137 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect138 || (_rect138 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect139 || (_rect139 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect140 || (_rect140 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect141 || (_rect141 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect142 || (_rect142 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect143 || (_rect143 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect144 || (_rect144 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect145 || (_rect145 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect146 || (_rect146 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect147 || (_rect147 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect148 || (_rect148 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect149 || (_rect149 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect150 || (_rect150 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect151 || (_rect151 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect152 || (_rect152 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect153 || (_rect153 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect154 || (_rect154 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect155 || (_rect155 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect156 || (_rect156 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect157 || (_rect157 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect158 || (_rect158 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect159 || (_rect159 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect160 || (_rect160 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect161 || (_rect161 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect162 || (_rect162 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect163 || (_rect163 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect164 || (_rect164 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect165 || (_rect165 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect166 || (_rect166 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect167 || (_rect167 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect168 || (_rect168 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect169 || (_rect169 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect170 || (_rect170 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect171 || (_rect171 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect172 || (_rect172 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect173 || (_rect173 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 734.52,\n cy: 363.89,\n r: 34.87,\n fill: \"#767d9f\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M760.71,460.87q5.22,22.78,8.86,45.9c.73,4.58,1.38,9.41-.28,13.74-1.39,3.61-4.22,6.43-6.44,9.59s-3.9,7.21-2.55,10.83,5.29,5.6,9.05,6.62c10.76,2.9,22.23.79,32.94-2.35a53.29,53.29,0,0,0,13.81-5.72c4.54-2.88,8.26-6.88,11.68-11,15.61-18.93,25.83-41.65,35.45-64.23a39.12,39.12,0,0,1-33.11-13.34c-3.94-4.63-6.83-11.08-4.61-16.74-6.51,3.57-14.24,3.81-21.25,6.25a75.49,75.49,0,0,0-12.5,6.15q-7.18,4.15-14.28,8.46C772.07,458.29,767,461.19,760.71,460.87Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#ae6e79\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M833.64,487.05c-6.11,11.89-14.06,23.32-25.41,30.4s-26.63,9-38,2c-5.6-3.42-9.84-8.62-14.73-13s-11-8.13-17.57-7.56c-7.24.63-12.91,6.28-17.76,11.69-7.36,8.22-14.47,16.79-19.68,26.52-10,18.7-12.37,40.56-11.93,61.76s3.51,42.29,3.58,63.49c.1,26.08-4.32,51.95-8.79,77.64,41.1-5.06,82.25,6,123.44,10.19,26.36,2.71,52.92,2.65,79.42,2.58,4.66,0,9.62-.12,13.5-2.7a18.2,18.2,0,0,0,5.59-6.64c3.66-6.75,5.13-14.45,6.15-22.06,2.59-19.22,2.67-38.68,2.74-58.08.18-47,.35-94.17-5.62-140.8-1.47-11.47-3.35-23-7.75-33.73s-11.58-20.6-21.62-26.35c-6.45-3.7-21.4-10.14-29-6.41C841.67,460.15,837.73,479.09,833.64,487.05Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#767d9f\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M836.68,619.77c-1.55-29-7.86-59.95,5.57-85.69,3.3-6.32-8.54-14.21-4.88-20.33a92.08,92.08,0,0,0,10.06-23.93c.76-2.89,1.37-5.95.65-8.85-1.33-5.29-6.56-8.44-11-11.66-4.9-3.56-7.42-14.41-9-20.28s12.57,1.2,18.26-.89c7.9-2.89,17.94-1.07,25.82,1.86,4.4,1.62,9.18,1.76,13.87,1.88,9.11.24,18.25.47,27.29-.65,4.06-.51,8.13-1.28,12.21-1.05,10.41.59,19.46,7.71,25.62,16.13s10.08,18.23,15.13,27.35c4.21,7.6,9.23,14.78,12.82,22.69,3.18,7,5.19,14.52,7.18,22l5.13,19.19a25.58,25.58,0,0,1,1.26,8.51c-.26,3.07-1.62,5.93-3,8.66A164.12,164.12,0,0,1,971,603.2c-10.79,13.23-23.89,25.16-30.3,41-2.5,6.17-3.89,12.73-5.16,19.27a707.94,707.94,0,0,0-10.9,79.15,174.2,174.2,0,0,0-36.52-12.21,177.61,177.61,0,0,0-19-3c-5.59-.58-12.8.52-18.12-1-8.9-2.53-9.88-17.58-11.23-25.46-2.16-12.55-2.59-25.32-2.67-38C837,648.53,837.45,634.14,836.68,619.77Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M641.23,565.54c4.21,24,8.85,48.07,18,70.62-.23.22-.46.42-.69.62-.81.69-1.65,1.34-2.53,2-2.05,1.44-4.3,2.66-6,4.54a8,8,0,0,0-1.5,2.45,5.48,5.48,0,0,0,0,4.47c-4.77,2.11-10.31,1.46-15.66,1.26-4.61-.17-9.08,0-12.78,2.53-5.14,3.54-6.69,10.34-7.52,16.52q-.46,3.38-.79,6.77-.32,3.15-.52,6.32a188.61,188.61,0,0,0-.19,21q.08,1.92.21,3.84c-16.34-.39-31.23-8.91-45.32-17.19-3.22-1.89-6.54-3.88-8.63-7A15.8,15.8,0,0,1,555,674c0-.51.09-1,.16-1.52a41.58,41.58,0,0,1,2.29-8.68,107.2,107.2,0,0,1,19.19-32.65c3.58-4.18,7.61-8.27,9.28-13.52.73-2.29,1-4.72,1.74-7,3.32-9.88,15.3-14.55,19.4-24.14,1-2.29,1.46-4.8,2.7-7a17.63,17.63,0,0,1,4.25-4.75c.73-.61,1.49-1.2,2.24-1.79q10.54-8.26,20.31-17.45,1.82-1.71,3.6-3.46A59.48,59.48,0,0,0,641.23,565.54Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M742,494.56c-1.44,1.52-3,2.95-4.53,4.37l-.41.37-1.62,1.5a39,39,0,0,0-7.55,8.79l-.17.28c-5.1,9.13-3.21,20.37-1.79,30.74a261.55,261.55,0,0,1,2.37,39c-.26,18-2.38,35.88-2.42,53.86,0,4.08.09,8.15.27,12.23.29,6.63.79,13.25,1.39,19.87.65,7.26,1.43,14.51,2.16,21.76.58,5.61,1.13,11.21,1.59,16.81.23,2.9.45,5.79.63,8.69.21,3.4.38,6.81.48,10.21h0c.07,2.16.11,4.31.11,6.47,0,1.23,0,2.45,0,3.67q0,3.51-.19,7-.2,4.49-.61,9c-.31,3.27-.86,6.84-3.16,9.14-.14.14-.29.27-.44.4l-3.24-.4a332.72,332.72,0,0,0-67.3-1.2c.49-3.38.94-6.75,1.38-10.14.2-1.6.4-3.21.59-4.82q.33-2.76.63-5.52c.23-2,.44-4,.64-6q.78-7.73,1.37-15.47.87-11.29,1.32-22.62.22-5.41.34-10.83.17-6.72.16-13.45,0-6.54-.11-13.1c0-1.44-.06-2.88-.18-4.31a27.35,27.35,0,0,0-.53-3.83,49.87,49.87,0,0,0-3-8.48c-.22-.52-.43-1-.64-1.55-.12-.27-.23-.55-.34-.82,5.76-5.13,9.86-12,13.8-18.76,6.39-10.89,12.93-22.26,14-34.84s-5.18-26.71-17.2-30.55c-3.27-1-6.73-1.28-10.1-1.87-3.18-.56-9.81-1.83-13.49-4.11q-3,3.08-6,6.05a22.15,22.15,0,0,1,2.17-8.71l1.42.07a2.71,2.71,0,0,1-.16-1c0-1.07.74-2.28,2.32-3.62,4.71-4,12.12-4.89,15.09-10.3,1.24-2.25,1.45-4.93,2.45-7.29,2.87-6.73,11.11-9.21,16.07-14.59s6.2-13,10.21-19a28.62,28.62,0,0,1,12-10c.4-.19.81-.38,1.22-.55,8.3-3.55,18.16-4.36,26.76-4.34,3.34,0,12,.1,16.24,1.79a5.32,5.32,0,0,1,1.85,1.13C752.37,480.61,745.34,491,742,494.56Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M642.72,542.69a60.88,60.88,0,0,1,46.74,4.87c7.2,4,13.66,9.58,17.62,16.78,5.95,10.8,5.69,23.82,5.27,36.15-.21,6.17-.48,12.56-3.2,18.1C706,625,700.06,629.4,694,633a42.24,42.24,0,0,1-12.32,5.33c-6.72,1.46-13.7.22-20.47-1-7.36-1.36-15.26-3-20.37-8.48-3-3.18-4.64-7.31-6.26-11.35q-3.49-8.75-7-17.48c-4.05-10.11-5.42-18.52-.07-28.37,2.43-4.49,5.4-8.69,7.8-13.21C636.51,556.14,640.81,543.28,642.72,542.69Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1063,715.56v29.9a167.3,167.3,0,0,1-64.73,12.8H728.58c-.14.14-.29.27-.44.4l-3.24-.4H245.17c-40.25,0-77.55-10.86-108.14-29.36V683.25l230.72-26.63.18,0L502.29,668l34.77,3,18.06,1.53,37.38,3.17,19.23,1.63,28,2.38,3.94.33,20.18,1.71L691.23,684l38.5,3.26,64.18,5.45,45.15,3.83,74.14,6.29,14.1,1.19,1.52.13,1.32.11,18.62,1.58,20.44,1.74,2.37.2Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#504f60\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"764 573.12 474.86 523.77 463.65 580.46 596.19 596.33 637 601.44 749.26 579.33 764 573.12\",\n fill: \"#9c9ca1\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M642.33,739.94l144.86-27.23a5,5,0,0,1,5.94,4.93h0a5,5,0,0,1-4.09,4.93L647.57,749.06Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#9c9ca1\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M705.17,654.31c4.51-.42,9.08-1.13,13.14-3.13,5-2.49,8.89-6.78,13.52-9.94,10.18-7,23.8-7.94,35.47-3.92s21.41,12.63,28.23,22.91c4.53,6.85,7.93,15.59,4.73,23.15a30.51,30.51,0,0,1-4.12,6.44l-8.34,10.9a29,29,0,0,1-5.66,6.09c-3.12,2.27-7,3.2-10.82,3.76-10.15,1.48-20.48.64-30.71,1.32-17.57,1.17-34.73,6.83-52.34,6.64-10.12-.11-20.11-2.15-30-4.19l-43.77-9c-7.62-1.56-16.23-3.84-19.82-10.75-1.61-3.11-1.91-6.71-2.1-10.21-.52-9.64,0-20.36,6.68-27.31,6.28-6.52,16.21-8.58,23.71-13.4,9.18-5.91,12.21-4,21.89.44A120,120,0,0,0,705.17,654.31Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#ae6e79\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M705.17,654.31c4.51-.42,9.08-1.13,13.14-3.13,5-2.49,8.89-6.78,13.52-9.94,10.18-7,23.8-7.94,35.47-3.92s21.41,12.63,28.23,22.91c4.53,6.85,7.93,15.59,4.73,23.15a30.51,30.51,0,0,1-4.12,6.44l-8.34,10.9a29,29,0,0,1-5.66,6.09c-3.12,2.27-7,3.2-10.82,3.76-10.15,1.48-20.48.64-30.71,1.32-17.57,1.17-34.73,6.83-52.34,6.64-10.12-.11-20.11-2.15-30-4.19l-43.77-9c-7.62-1.56-16.23-3.84-19.82-10.75-1.61-3.11-1.91-6.71-2.1-10.21-.52-9.64,0-20.36,6.68-27.31,6.28-6.52,16.21-8.58,23.71-13.4,9.18-5.91,12.21-4,21.89.44A120,120,0,0,0,705.17,654.31Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.05\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M880.94,640.6c-12.28,4.75-24.63,9.52-37.49,12.35-21.56,4.75-44.12,4-65.51,9.43-11.3,2.88-22.53,7.52-34.14,6.58-5.19-.42-10.2-2-15.25-3.2-28.37-7-60.62-4.73-83.66,13.27-7.88,6.15-14.33,13.82-20.18,22a14.7,14.7,0,0,0,5.91,21.88A86.62,86.62,0,0,0,659,730.48c13.13,1.16,26.32-.7,39.38-2.56,19.38-2.75,38.77-5.51,58.1-8.6,6.94-1.11,13.88-2.26,20.86-3.14,50.23-6.35,101.37,1.37,151.73-3.93,5.09-.54,10.27-1.24,14.9-3.41,11.72-5.5,17.52-20,15.1-32.74s-11.76-23.33-23-29.83c-9.42-5.47-19.58-7.68-30.07-10C896.26,634,890.32,637,880.94,640.6Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#ae6e79\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M988.67,564.44c5.54,7.26,6.72,17,6.12,26.09s-2.76,18.08-3.08,27.21c-.44,12.52,2.58,25,2.07,37.48-.36,8.73-2.43,17.29-4.88,25.67-2.89,9.89-7.07,20.52-16.2,25.27-12.12,6.31-37.54,2.76-50.29,7.7,1.16-7.23,12.28-17.7,13.44-24.93.8-5,1.61-10.14.75-15.15-1.1-6.39-4.85-12.06-9.3-16.78-7.08-7.51-16.32-13.16-26.47-15s-35-.33-43.12,6.08c-1-6.62,17.6-13,24.14-14.43,3.26-.73,7-.32,9.61-2.39,5-3.92,1.37-11.73,1.61-18,.19-5,3.11-9.58,3.7-14.58,1-8-4.22-16.15-2.17-24,.76-2.9,2.45-5.45,3.62-8.21,3.56-8.45,2-18.09.1-27.07-1.18-5.64-2.33-12,.81-16.81,2.91-4.49,11.17,11.5,16.46,10.76,17.47-2.45,33.28-15.4,47.39-4.8,7.19,5.4,8.13,11,11,18.71C976.77,554.6,984,558.36,988.67,564.44Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.1\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M991.67,564.44c5.54,7.26,6.72,17,6.12,26.09s-2.76,18.08-3.08,27.21c-.44,12.52,2.58,25,2.07,37.48-.36,8.73-2.43,17.29-4.88,25.67-2.89,9.89-7.07,20.52-16.2,25.27-12.12,6.31-37.54,2.76-50.29,7.7,1.16-7.23,12.28-17.7,13.44-24.93.8-5,1.61-10.14.75-15.15-1.1-6.39-4.85-12.06-9.3-16.78-7.08-7.51-16.32-13.16-26.47-15s-35-.33-43.12,6.08c-1-6.62,17.6-13,24.14-14.43,3.26-.73,7-.32,9.61-2.39,5-3.92,1.37-11.73,1.61-18,.19-5,3.11-9.58,3.7-14.58,1-8-4.22-16.15-2.17-24,.76-2.9,2.45-5.45,3.62-8.21,3.56-8.45,2-18.09.1-27.07-1.18-5.64-2.33-12,.81-16.81,2.91-4.49,8.6-6.19,13.89-6.94a68.42,68.42,0,0,1,50,12.9c7.19,5.4,8.13,11,11,18.71C979.77,554.6,987,558.36,991.67,564.44Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M330,517.06,384.37,718a12.55,12.55,0,0,0,10.91,9.21L640,750.72a12.54,12.54,0,0,0,13.38-15.48L593.84,492.86a12.54,12.54,0,0,0-13.12-9.51L341.13,501.27A12.54,12.54,0,0,0,330,517.06Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#9c9ca1\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 787.11,\n cy: 387.68,\n rx: 26.9,\n ry: 27.25,\n fill: \"#fff\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M837.2,479.31s5.67,16.86-11.06,23.95L824,507l10.48,10.34S847.4,493.77,846,485.4C846,485.4,844,476.9,837.2,479.31Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#fff\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 790.2,\n cy: 388.99,\n r: 25.94,\n fill: \"#6c63ff\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M846.13,489.23l-4.12-6.8-6-.85c1.28-22.39-4.53-29.06-4.53-29.06l-1.35-.13-5.88-.57-11.06-11.48v-3.26c15.54,1.85,24.13,9.23,28.77,17.88C850.16,470.14,846.13,489.23,846.13,489.23Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M830.18,448.27v4.12l-5.88-.57-11.06-11.48S830.35,444.17,830.18,448.27Z\",\n transform: \"translate(-28 -141.34)\",\n stroke: \"#4c4981\",\n strokeMiterlimit: 10,\n opacity: 0.1\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M846.13,489.23l-4.12-6.8V455C850.16,470.14,846.13,489.23,846.13,489.23Z\",\n transform: \"translate(-28 -141.34)\",\n stroke: \"#4c4981\",\n strokeMiterlimit: 10,\n opacity: 0.1\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 757.11,\n cy: 518.2,\n rx: 14.43,\n ry: 26.32,\n transform: \"translate(-185.67 306.64) rotate(-30)\",\n fill: \"#fff\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M761,516c7.27,12.59,16.19,21,9.29,25s-27,2-34.27-10.6-.67-30,6.23-34S753.72,503.38,761,516Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M825.73,425.3c0,40.23-27.53,79-67.76,79a72.85,72.85,0,0,1,0-145.7C798.2,358.64,825.73,385.06,825.73,425.3Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.1\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 729.97,\n cy: 288.15,\n r: 72.85,\n fill: \"#ae6e79\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M751.57,397.21c8.67,3.19,13.8,12.15,21.58,17.14,11,7,25.32,5.19,37.88,1.73,7-1.91,14.32-4.24,21.21-2.12a6,6,0,0,0,3.23.46c1.5-.43,2.24-2.09,2.73-3.57,8.52-25.4,4.69-54.17-8.17-77.67-3.32-6.06-7.3-11.92-12.78-16.13-4.32-3.31-9.4-5.48-14.52-7.33a145,145,0,0,0-28.88-7.13,17.94,17.94,0,0,0-5.27-.17c-2.41.39-4.57,1.69-6.72,2.85A68.78,68.78,0,0,1,732,313.38c-14,.53-30-2.77-40.79,6.21-13,10.77-9.76,31.78-18.19,46.4-5.58,9.67-16.34,16.69-18.11,27.7a25.57,25.57,0,0,0,.63,10.07c4.12,16.94,20.52,30.06,38,30.37a14.42,14.42,0,0,0,7.76-1.59,17.55,17.55,0,0,0,4.09-3.89C716.84,415.09,729.94,389.25,751.57,397.21Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#444053\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M838.2,403.48c-.49,1.48-1.23,3.14-2.73,3.57a6,6,0,0,1-3.23-.46c-6.89-2.12-14.25.21-21.2,2.12-12.57,3.46-26.92,5.31-37.88-1.73-7.79-5-12.91-14-21.59-17.14-21.63-8-34.73,17.88-46.21,31.44a17.55,17.55,0,0,1-4.09,3.89,14.42,14.42,0,0,1-7.76,1.59c-17.42-.31-33.83-13.43-38-30.37-.23-1-.43-2-.58-3,0,.09,0,.17-.05.26a25.57,25.57,0,0,0,.63,10.07c4.12,16.94,20.53,30.06,38,30.37a14.42,14.42,0,0,0,7.76-1.59,17.55,17.55,0,0,0,4.09-3.89c11.48-13.56,24.58-39.4,46.21-31.44,8.68,3.19,13.8,12.15,21.59,17.14,11,7,25.31,5.19,37.88,1.73,7-1.91,14.31-4.24,21.2-2.12a6,6,0,0,0,3.23.46c1.5-.43,2.24-2.09,2.73-3.57a90.29,90.29,0,0,0,4.48-32.26A88.8,88.8,0,0,1,838.2,403.48Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.1\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeveloperActivity);\nexport default __webpack_public_path__ + \"static/media/developerActivity.2c0445cae86f4243433a2f5a22b2c031.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _polygon, _rect, _path7, _rect2, _polygon2, _path8, _path9, _path10, _path11, _path12, _path13, _rect3, _rect4, _rect5, _rect6, _rect7, _path14, _path15, _rect8, _rect9, _rect10, _path16, _path17, _rect11, _rect12, _rect13, _rect14, _rect15, _rect16, _rect17, _rect18, _rect19, _rect20, _rect21, _rect22, _rect23, _rect24, _rect25, _rect26, _polygon3, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _ellipse, _polygon4, _polygon5, _path26, _path27, _path28, _g, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _polygon6, _path36, _path37, _path38, _path39, _path40, _path41, _polygon7, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _circle, _path65, _circle2, _circle3, _path66, _rect27, _rect28, _circle4, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _circle5, _circle6, _circle7, _circle8, _circle9, _circle10, _path83, _path84, _path85, _g2, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _ellipse2, _path93, _path94, _path95, _path96, _path97, _path98, _path99, _path100, _path101, _path102, _path103, _path104, _path105, _path106, _path107, _path108, _path109, _path110, _path111, _rect29, _rect30, _rect31, _rect32, _rect33, _path112, _path113, _path114, _circle11, _circle12, _circle13, _circle14, _circle15, _circle16, _circle17, _circle18, _circle19, _circle20, _circle21, _circle22, _rect34, _rect35, _circle23, _circle24;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgManOnTable(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"bfc59778-adb9-4ded-81d5-12977ec092f3\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 996.46,\n height: 828.18,\n viewBox: \"0 0 996.46 828.18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"e507827f-2863-48fa-82fe-b741cb149057\",\n x1: -925.56,\n y1: 683.71,\n x2: -925.56,\n y2: 144.42,\n gradientTransform: \"matrix(-1, 0, 0, 1, -573.82, 0)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"gray\",\n stopOpacity: 0.25\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.54,\n stopColor: \"gray\",\n stopOpacity: 0.12\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"gray\",\n stopOpacity: 0.1\n })))), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"on the office\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1096.36,308.36h-91.94V419.81h85.22c.22,1.15.43,2.3.68,3.44h-85.9v89.86l.43-.14q3.64-1.28,7.23-2.72l1.54-.63q3.68-1.51,7.23-3.23c.85-.39,1.69-.8,2.52-1.22a149.83,149.83,0,0,0,36.17-25c.31-.27.6-.55.88-.82,1.47-1.42,2.91-2.85,4.31-4.32l1.54-1.64c1.65-1.79,3.24-3.64,4.79-5.51l.68-.82a116.4,116.4,0,0,0,15.58-25c.13-.27.24-.55.36-.82,1.25-2.82,2.38-5.68,3.36-8.59.42-1.23.82-2.46,1.17-3.69.12-.37.23-.73.33-1.09,5.1-17.85,5.69-36.4,5.69-54.85,0-2.15,0-4.31,0-6.45,0-7.45-.11-15-.25-22.45,0-1.94-.09-3.87-.14-5.82q-.18-7.43-.54-14.84c-.06-1.38-.12-2.75-.21-4.11,0-.79-.08-1.58-.13-2.37C1096.76,314.05,1096.58,311.21,1096.36,308.36Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,184.29h50.43A344.83,344.83,0,0,0,1028,151.45c-7.5-8.18-15.37-16.16-23.61-23.84Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,187.73V304.92h91.65c0-.34-.06-.69-.09-1-.08-.92-.16-1.84-.25-2.77s-.21-2.16-.33-3.25-.24-2.35-.38-3.51-.26-2.35-.41-3.52-.29-2.34-.45-3.5-.31-2.34-.49-3.5c-.14-1-.27-1.92-.42-2.89-.21-1.36-.43-2.73-.66-4.08a5.78,5.78,0,0,0-.11-.6,251.24,251.24,0,0,0-6.74-29.43A202.47,202.47,0,0,0,1074.37,217a216.88,216.88,0,0,0-17.11-29.3Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M786.08,308.36V419.81H982.46V308.36Zm0,114.89v75.47c22.86-7.31,49-4.36,72.7,1.64,18.35,4.66,36.23,11,54.55,15.56a200.08,200.08,0,0,0,24.87,4.7l2.06.22c1,.1,2,.2,3,.28l3,.21.31,0,1.34,0a3.55,3.55,0,0,0,.46,0l1.62.06h.05c.77,0,1.55,0,2.33.06h1c.77,0,1.55,0,2.33,0l1.71,0,1.38,0c.59,0,1.17,0,1.75-.06.94,0,1.88-.08,2.83-.15a0,0,0,0,0,0,0l1.75-.11,2.16-.17c1.53-.12,3-.28,4.55-.46.6-.07,1.21-.14,1.81-.23l.89-.11c1.51-.2,3-.44,4.51-.69,1.11-.17,2.22-.38,3.34-.58V423.25Zm146.06-239v3.44H786.08V304.92H982.46V187.73h-9.85v-3.44h9.85V108.55c-38.2-30.77-82.85-54.87-132.58-66a282,282,0,0,0-63.8-6.65V184.29Zm-449-.66.69.66H764.11V36.93c-49.9,4.15-98.56,20.91-137.79,48.68-18.85,13.33-35.78,29.13-56.93,39.36a89.15,89.15,0,0,1-35.6,9.2Zm-1.93-60.44v33.35l27.08-26.43C498.22,126.59,490.28,124.21,481.17,123.19Zm-.9,419.56.9,0v73.1q15.33-1.14,30.54-3.14A546.44,546.44,0,0,0,644,578.41h0q6.84-2.74,13.58-5.66,4.49-1.95,8.93-4,6.66-3.06,13.22-6.29A465.15,465.15,0,0,0,735.6,530c1.11-.75,2.23-1.51,3.33-2.28q3.32-2.3,6.59-4.64c1.09-.79,2.18-1.58,3.26-2.38L751,519c2.24-1.67,4.47-3.35,6.73-5h0c2.09-1.5,4.2-3,6.34-4.4v-86.4H538.92c.16-.51.31-1,.48-1.54-.18.52-.34,1-.49,1.54H481.17V542.69Zm.9-355V304.92H764.11V187.73Zm0,120.63V419.81H764.11V308.36ZM424.65,126.58l34.56,33.73V123Q441.84,124.08,424.65,126.58ZM184,308.36V419.81H459.21V308.36Zm66.52,275.25a511.15,511.15,0,0,0,129.73,30.78l.19,0q12.59,1.33,25.25,2.06l.31,0h0c17.69,1,35.45,1.23,53.18.57V423.25H184l1,128.32M107.77,419.81h54.28V308.36H140.58c-2.23,3.92-4.39,7.86-6.44,11.86q-1.65,3.19-3.21,6.45C116.8,356,107.82,388.24,107.77,419.81Zm0,3.44c.44,22.64,5.54,44.86,16.73,65.39,9.3,17.05,22.22,32,37.51,45V423.25Zm34.78-118.33h19.46v-29A309.35,309.35,0,0,0,142.59,304.92ZM264.48,184.29H452.72l.68-.66-1-1h0L399.47,131A429.83,429.83,0,0,0,353,143.45c-1.44.47-2.88,1-4.31,1.45A421.47,421.47,0,0,0,264.48,184.29ZM184,249.66v55.26H425.36l0,0,.05,0h33.83v-114l-3.86-3.14H258.94A377.73,377.73,0,0,0,184,249.66Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,246.84v58.08h91.65c0-.34-.06-.69-.09-1-.08-.92-.16-1.84-.25-2.77s-.21-2.16-.33-3.25-.24-2.35-.38-3.51-.26-2.35-.41-3.52-.29-2.34-.45-3.5-.31-2.34-.49-3.5c-.14-1-.27-1.92-.42-2.89-.21-1.36-.43-2.73-.66-4.08a5.78,5.78,0,0,0-.11-.6,251.24,251.24,0,0,0-6.74-29.43Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1096.36,308.36h-91.94V419.81h85.22c.22,1.15.43,2.3.68,3.44h-85.9v89.86l.43-.14q3.64-1.28,7.23-2.72l1.54-.63q3.68-1.51,7.23-3.23c.85-.39,1.69-.8,2.52-1.22a149.83,149.83,0,0,0,36.17-25c.31-.27.6-.55.88-.82,1.47-1.42,2.91-2.85,4.31-4.32l1.54-1.64c1.65-1.79,3.24-3.64,4.79-5.51l.68-.82a116.4,116.4,0,0,0,15.58-25c.13-.27.24-.55.36-.82,1.25-2.82,2.38-5.68,3.36-8.59.42-1.23.82-2.46,1.17-3.69.12-.37.23-.73.33-1.09,5.1-17.85,5.69-36.4,5.69-54.85,0-2.15,0-4.31,0-6.45,0-7.45-.11-15-.25-22.45,0-1.94-.09-3.87-.14-5.82q-.18-7.43-.54-14.84c-.06-1.38-.12-2.75-.21-4.11,0-.79-.08-1.58-.13-2.37C1096.76,314.05,1096.58,311.21,1096.36,308.36Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"811.56 168.6 811.56 269.01 880.69 269.01 880.69 168.6 870.84 168.6 870.84 134.6 830.37 134.6 830.37 168.6 811.56 168.6\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 811.56,\n y: 272.45,\n width: 69.13,\n height: 111.44,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982.46,423.25H913.34v92.67a201.42,201.42,0,0,0,24.86,4.7l2.06.22c1,.11,2,.2,3,.28l3,.21c.1,0,.21,0,.31,0,.44,0,.89,0,1.34.06l.46,0c.54,0,1.08,0,1.63.06h0c.77,0,1.55,0,2.33.06h1c.78,0,1.55,0,2.33,0l1.71,0,1.38,0,1.76-.06c.93,0,1.88-.08,2.82-.15a0,0,0,0,0,0,0l1.74-.11,2.17-.17c1.52-.13,3-.28,4.54-.46l1.81-.23.89-.11c1.51-.21,3-.43,4.51-.69,1.12-.17,2.22-.38,3.34-.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 156.74,\n width: 57.01,\n height: 112.26,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"379.4 272.45 379.4 383.9 662.34 383.9 662.34 335.83 511.63 335.83 511.63 364.19 436.4 364.19 436.4 272.45 379.4 272.45\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M480.27,542.75l.9,0v73.11q15.33-1.16,30.54-3.14A547.41,547.41,0,0,0,644,578.41q18.24-7.32,35.73-15.94A465.15,465.15,0,0,0,735.6,530q6.69-4.54,13.17-9.29c3-2.21,6-4.46,9-6.65,2.09-1.5,4.2-3,6.34-4.41V423.25H538.93c.16-.51.31-1,.47-1.53-.17.51-.34,1-.49,1.53H481.17V542.7Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M332.5,184.29h37.14V174H353V143.45c-1.44.47-2.88,1-4.31,1.45V174H332.5Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M243,304.92H425.36l-.06,0,.09,0h33.82V192.65h-9.58v83h-43.8V226.53H369.64v-38.8H332.5v38.8H296.32v49.11H243Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M243,308.36V419.81H459.21V308.36Zm7.55,275.25a511.15,511.15,0,0,0,129.73,30.78l.19,0q12.59,1.33,25.25,2.06l.31,0h0c17.69,1,35.45,1.23,53.18.57V423.25H243v39.51H184l.31,88.21\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.24,423.25H107.81c.44,22.64,5.55,44.86,16.73,65.39,9.3,17.06,22.23,32,37.51,45V462.76h-3.81Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.77,419.81h50.47V326.67H130.93C116.8,356,107.82,388.24,107.77,419.81Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 187.95,\n width: 30.54,\n height: 35.2,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 260.91,\n width: 30.54,\n height: 8.1,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 272.45,\n width: 30.54,\n height: 23.65,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 333.86,\n width: 30.54,\n height: 35.2,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect7 || (_rect7 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 406.82,\n width: 30.54,\n height: 35.2,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M481.17,542.7l-.9,0,.9,0v8.17h30.54v-35.2H481.17Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M481.17,588.63v27.19q15.33-1.16,30.54-3.14v-24Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect8 || (_rect8 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.46,\n y: 381.31,\n width: 130.88,\n height: 2.58,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect9 || (_rect9 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.46,\n y: 387.34,\n width: 130.88,\n height: 9.91,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect10 || (_rect10 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.46,\n y: 429.73,\n width: 130.88,\n height: 15.94,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M633.23,514.06V530H735.61q6.67-4.53,13.17-9.3c3-2.2,6-4.45,9-6.63Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M633.23,562.47v15.94H644q18.23-7.3,35.72-15.94Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect11 || (_rect11 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 319.16,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 625.33) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect12 || (_rect12 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 212.41,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 411.82) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect13 || (_rect13 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 265.63,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 518.26) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect14 || (_rect14 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 318.85,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 624.69) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect15 || (_rect15 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 372.07,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 731.13) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect16 || (_rect16 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 425.28,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 837.57) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect17 || (_rect17 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 478.5,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 944) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect18 || (_rect18 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 319.16,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 625.33) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect19 || (_rect19 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 375.68,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 738.35) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect20 || (_rect20 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 375.68,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 738.35) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect21 || (_rect21 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 432.19,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 851.37) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect22 || (_rect22 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 432.19,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 851.37) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect23 || (_rect23 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 488.7,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 964.39) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect24 || (_rect24 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 488.7,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 964.39) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect25 || (_rect25 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 545.21,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 1077.42) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect26 || (_rect26 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 545.21,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 1077.42) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon3 || (_polygon3 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"304.25 580.58 304.25 565.81 278.5 565.81 278.5 578.48 304.25 580.58\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,276.26v13.11h88.17V276.26Zm79.39.83H1091v11.46h-7.23Zm-8.78,0h7.23v11.46H1075Zm-8.76,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0H1056v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,314.42v13.11h88.17V314.42Zm79.39.83H1091V326.7h-7.23Zm-8.78,0h7.23V326.7H1075Zm-8.76,0h7.23V326.7h-7.23Zm-8.78,0h7.23V326.7h-7.23Zm-8.77,0H1056V326.7h-7.23Zm-8.78,0h7.23V326.7h-7.23Zm-8.78,0h7.23V326.7h-7.23Zm-8.77,0h7.23V326.7h-7.23Zm-8.77,0h7.23V326.7h-7.23Zm-8.77,0h7.23V326.7h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,352.57v13.1h88.17v-13.1Zm79.39.82H1091v11.46h-7.23Zm-8.78,0h7.23v11.46H1075Zm-8.76,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0H1056v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,390.72v13.1h88.17v-13.1Zm79.39.82H1091V403h-7.23Zm-8.78,0h7.23V403H1075Zm-8.76,0h7.23V403h-7.23Zm-8.78,0h7.23V403h-7.23Zm-8.77,0H1056V403h-7.23Zm-8.78,0h7.23V403h-7.23Zm-8.78,0h7.23V403h-7.23Zm-8.77,0h7.23V403h-7.23Zm-8.77,0h7.23V403h-7.23Zm-8.77,0h7.23V403h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,428.87V442h82.9c.12-.27.24-.55.35-.82h-3.86V429.7H1091v2.85c.42-1.22.82-2.44,1.17-3.68Zm70.61.83h7.23v11.45H1075Zm-8.76,0h7.23v11.45h-7.23Zm-8.78,0h7.23v11.45h-7.23Zm-8.77,0H1056v11.45h-7.23Zm-8.78,0h7.23v11.45h-7.23Zm-8.78,0h7.23v11.45h-7.23Zm-8.77,0h7.23v11.45h-7.23Zm-8.77,0h7.23v11.45h-7.23Zm-8.77,0h7.23v11.45h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,467v13.1h55.11c.32-.27.6-.56.89-.82h-2.93V467.85h7.23V475l1.55-1.65v-5.5h4.79c.23-.28.45-.56.68-.82Zm44.3.82H1056v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,505.18v7.93a3.12,3.12,0,0,0,.43-.15v-7h7.23v4.26l1.54-.63V506h7.23v.4c.85-.39,1.69-.8,2.52-1.21Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M425.33,304.94l.05,0h0Zm54.94,237.81.9,0v0Zm58.64-119.5h0c.16-.51.31-1,.48-1.54C539.22,422.23,539.06,422.74,538.91,423.25ZM425.33,304.94l.05,0h0ZM932.14,184.29v3.44h40.47v-3.44ZM480.27,542.75l.9,0v0Zm58.64-119.5h0c.16-.51.31-1,.48-1.54C539.22,422.23,539.06,422.74,538.91,423.25ZM425.33,304.94l.05,0h0Zm54.94,237.81.9,0v0Zm58.64-119.5h0c.16-.51.31-1,.48-1.54C539.22,422.23,539.06,422.74,538.91,423.25Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 902.95,\n cy: 820.59,\n rx: 34.58,\n ry: 3.83,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon4 || (_polygon4 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"668.32 535.25 651.04 534.3 649.87 484.67 649.6 472.85 667.83 469.49 667.95 484.73 668.32 535.25\",\n fill: \"#d48a9b\"\n })), _polygon5 || (_polygon5 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"654.87 526.61 566.07 581.82 564.15 598.62 573.75 599.1 573.75 587.1 631.83 554.46 561.75 641.34 561.75 654.78 573.27 654.78 572.31 639.9 653.43 547.74 663.51 548.7 748.96 645.66 750.88 661.99 762.4 662.47 760.48 645.66 692.8 561.18 737.92 592.38 738.88 605.82 748 606.3 747.04 589.98 661.11 523.73 654.87 526.61\",\n fill: \"#d48a9b\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M645.08,468.09A158.41,158.41,0,0,0,666,434c6.11-13.52,12.81-29.13,13.32-33.75,1-8.64,25.44-25.92,52.32-26.88,17.53-.63,44.84-14.31,61.74-23.76a125.67,125.67,0,0,1,51.8-16c19.77-1.49,38.36,2.39,29,25.33L748.48,511.16s-107.2,18.89-113.81-11.48a25.26,25.26,0,0,0-1.53-4.46C631.89,492.35,631.56,484.86,645.08,468.09Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M654.52,471.11a163.07,163.07,0,0,0,21.13-34.4c5.7-12.64,11.75-26.81,12.23-31.1.92-8.25,24.34-24.76,50.06-25.68,16.77-.6,42.9-13.66,59.06-22.69A120.41,120.41,0,0,1,846.58,342c18.91-1.42,36.7,2.29,27.78,24.2l-99.71,146s-123,17.45-129.51-11.42a28.87,28.87,0,0,0-1.53-4.48C642.47,493.44,642.31,486.43,654.52,471.11Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dda2a6\",\n opacity: 0.2\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M769.72,520.64c-5.78,0-11.87,0-18.08-.06l-.27-11.82,18.23-3.35Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"737.92 589.5 692.8 558.3 697.97 564.75 737.92 592.38 738.88 605.82 748 606.3 747.83 603.41 738.88 602.94 737.92 589.5\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"573.75 584.22 573.75 587.1 627.58 556.85 631.83 551.58 573.75 584.22\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"561.75 651.9 561.75 654.78 573.27 654.78 573.08 651.9 561.75 651.9\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"573.75 596.22 564.47 595.76 564.15 598.62 573.75 599.1 573.75 596.22\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"750.88 659.11 748.96 642.78 663.51 545.82 653.43 544.86 572.31 637.02 572.48 639.71 653.43 547.74 663.51 548.7 748.96 645.66 750.88 661.99 762.4 662.47 762.07 659.57 750.88 659.11\"\n }))), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M759.52,426.06S782,442.5,772.16,442.69,759.52,426.06,759.52,426.06Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M665.2,516s37.2-2.88,51.12-29.76c0,0,28.32-56.17,51.37-62.41s65.76-20.16,83.52-41.76,25.21-38.16,25.21-38.16S881,361.39,866.57,382,846.89,434.35,836.81,468s-13.92,47-32.16,49c-13.75,1.45-86.45.72-121.21,0C672.07,516.69,665.2,516,665.2,516Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M665.2,516s37.2-2.88,51.12-29.76c0,0,28.32-56.17,51.37-62.41s65.76-20.16,83.52-41.76,25.21-38.16,25.21-38.16S881,361.39,866.57,382,846.89,434.35,836.81,468s-13.92,47-32.16,49c-13.75,1.45-86.45.72-121.21,0C672.07,516.69,665.2,516,665.2,516Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dda2a6\",\n opacity: 0.2\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M674.56,516s35.56-2.79,48.86-28.82c0,0,27.08-54.38,49.1-60.42s62.86-19.53,79.84-40.44,24.09-36.95,24.09-36.95,4.35,17-9.41,36.95-18.81,50.66-28.45,83.2-13.3,45.55-30.74,47.41c-13.14,1.4-82.63.69-115.86,0C681.13,516.72,674.56,516,674.56,516Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M645.76,502s19.44,7.44,30.48,3.36,38.4-16.08,38.4-16.08S668.56,492.2,645.76,502Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M775.74,851.35s-55.88-3-69.5-11-32.9-8-33-8l-222.5-48.5-92.5-22-16.5-2.17,54.5-62.36,1.66-.72,80.34-34.75s36,2,43.11,25.46a28.33,28.33,0,0,1,1,5.06,29.36,29.36,0,0,1-5.68,20.54c-2.84,3.88-6.33,9.39-7.43,14.24-.62,2.74-.48,5.27,1,7.2a58.69,58.69,0,0,0,9.88,7.89c19.59,13,69.11,34.42,155.62,1.61,0,0,37-36.5,65-21S775.74,851.35,775.74,851.35Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#e1dee5\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M509.28,727.15c-.62,2.74-.48,5.27,1,7.2a58.69,58.69,0,0,0,9.88,7.89L351.74,754.85,397.9,696.6l80.34-34.75s36,2,43.11,25.46a28.33,28.33,0,0,1,1,5.06,29.36,29.36,0,0,1-5.68,20.54C513.87,716.79,510.38,722.3,509.28,727.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _polygon6 || (_polygon6 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"242.97 461.94 380.97 464.94 380.97 630.13 249.97 718.94 218.47 689.94 224.97 593.94 218.47 504.44 242.97 461.94\",\n fill: \"#a36468\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M266.24,470.85,427.36,421.2a24.41,24.41,0,0,1,8.95-1l384.9,28.09a181.82,181.82,0,0,1,91.66,32.33c24.91,17.57,49.58,44.54,61,85.38a163.05,163.05,0,0,1-1.65,91.83l-34,110s25.5-239-229-251Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d9d6df\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.74,494.35V759.68s-44.15-6.21-52-14.83c-6.44-7.07-43.75-27-59.94-47.53-3.55-4.5-6.09-9-7.06-13.47-5.42-24.68-27.5-83-27.5-83l6-57,25-37,48.5-22h37.5Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#b8797d\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M281.74,497.85s-71.76,45-56.06,117.41c1.28,5.9,2.39,11.83,3.12,17.83,2.87,23.42,20.09,90.72,122.94,121.76v7l-43.63-12.17-29.62-16.33-22.61-20.28-27.64-33.72-12.83-27.5-4.7-36.22L208,574.28l6.61-35.47,15.59-23.08,19-14.77Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d9d6df\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.74,494.35v42.21c-31.3,3.4-128.21,23-111,135l-.95,25.72c-3.55-4.5-6.09-9-7.06-13.47-5.42-24.68-27.5-83-27.5-83l6-57,25-37,48.5-22h37.5Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M516.71,712.91c-2.84,3.88-6.33,9.39-7.43,14.24-4.36-5-5.3-10.75,1-15.3,7.89-5.74,10.52-15.7,11.11-24.54a28.33,28.33,0,0,1,1,5.06A29.36,29.36,0,0,1,516.71,712.91Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#fff\",\n opacity: 0.1\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M920.74,739.85l-19,64.5-43,42-54,11-84-15V543.85s14.5-9.5,16-9.5,42,6.5,42,6.5l91.7,65.77,3.8,2.73,41,61Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#b8797d\"\n })), _polygon7 || (_polygon7 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"618.97 495.44 618.97 806.44 627.07 807.89 627.07 495.44 618.97 495.44\",\n fill: \"#a36468\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M872.24,627.35c-60-49.3-126.7-56.55-151.5-57.45v-26s14.5-9.5,16-9.5,42,6.5,42,6.5l91.7,65.77Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M708.07,511.35l-375.83-41L290,468.11a86.81,86.81,0,0,0-70.21,29.35c-22,25.3-38.63,69.93-14.34,146.56,0,0,25.33,99.33,148,120.67l356.44,80.77c7.9,1.79,15.7,4,23.4,6.51,32.36,10.63,142,38.17,193.65-55.45,17.7-32.1,23-69.53,16.18-105.56C930.69,625.06,883.76,513.23,708.07,511.35ZM892.2,792.24C844,870.76,744.68,847.39,714.82,838.17c-7.31-2.26-14.71-4.23-22.2-5.83L363.36,761.9C249.92,743.27,226.49,656.54,226.49,656.54c-19.15-57-10.78-93.78,4.7-117.06,16.21-24.37,44.43-38,73.67-36.52l38.92,2,336.16,44.91c6.8.91,13.65,1.51,20.51,1.74,149.49,5.07,196,87.27,207.82,143.92C915.21,728.64,909.93,763.38,892.2,792.24Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#e1dee5\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106,678.46c12.31,8.24,31,4.32,31,4.32s28.19-13.35,36.52-13.35,28.59-8.25,28.59-8.25l-.69-5.56-2.06-16.75c12.83,10,27.09,6.55,34.11,5.82,7.54-.78,47.83-24.73,51.71-26.31,1.05-.42,2.28-1.79,3.53-3.56h0a90.77,90.77,0,0,0,6.82-12.46h0c2.52-2.22,4.36-4,4.23-4.39s1-3.31,2.47-6.6c5.72-1,10.65-3.12,12.22-4.4a10.67,10.67,0,0,0,4-8.64s39.31-39.65,34.14-56.14,12.71-16.89,12.71-16.89,27.39-11.78,31.2-18.84c2.35-4.35,22.9-13.9,38.36-20.6l1.9-.82c6,13.15,36.48,3,42.48-2.53,6.35-5.89,25-8.64,25-8.64s.8-77,6.75-86.78c2.83-4.65,3.51-19.85,3.44-34.53,0-.52,0-1,0-1.56,8.34-1.63,28.18-5.4,37.39-6.31,5.84-.58,11.93-4.22,16.6-7.76l.55.69a11.4,11.4,0,0,0,5.07.83,7.76,7.76,0,0,0,4.45-.83c3.58-2,16.68-5.89,21.44-7.85s-.79-16.1-4.36-18.85-6-6.28-4-7.85-4.76-5.5-8.73-6.29-15.88-6.28-15.88-6.28-4.37-9-11.51-9-16.68-7.07-16.68-7.07c-.39-3.14-7.94-3.53-7.94-3.53s-28.58-22-33.35-19.24-17.86-4.32-17.86-4.32-16.07,1.8-19.85-1.16v0a4.46,4.46,0,0,0-1-2.66c-.85-2.66-5-6.3-9-9.33a35.4,35.4,0,0,0,.46-5.68c0-.82,0-1.64-.09-2.45,0-.14,0-.27,0-.41l.57-5.53a11.42,11.42,0,0,1,1.38-5.2c.67-1,1.66-1.85,2.41-2.84a7.06,7.06,0,0,0,.48-.73l.12-.21a6.54,6.54,0,0,0,.3-.59l.09-.2a9.6,9.6,0,0,0,.51-1.68l0-.13c.05-.26.09-.52.12-.79a.45.45,0,0,1,0-.11,16.75,16.75,0,0,0-.9-6.74c-1.19-3.71-3.05-7.29-3.25-11.16-.1-1.92.22-3.88-.2-5.76-1-4.29-5.37-7-9.62-8.8-5.87-2.46-8.83-5.15-13.54-8.81-4-3.1-10.62-1.54-15.66-1.22-11.52.74-22.89,4.21-33.73,7.79-4.21,1.4-8.5,3-11.78,5.85a13,13,0,0,0-4.31,7.28h0a9.52,9.52,0,0,0-.13,2c0,.06,0,.12,0,.17,0,.26,0,.51.09.76a1.87,1.87,0,0,0,0,.25,5.9,5.9,0,0,0,.22.9v0c.46,1.45,1.31,2.76,1.8,4.2a8.21,8.21,0,0,1,.27,1s0,.07,0,.1c.07.32.12.63.16,1h0c.44,3.57-.88,7.3-1.46,10.94-.08.51-.14,1-.18,1.56h0v0a18.64,18.64,0,0,0,.55,6.27.19.19,0,0,0,0,.07c.06.25.15.5.23.74a3,3,0,0,0,.1.32c.07.21.16.42.24.62l.17.42c.08.18.17.36.26.54s.15.3.23.44a5.46,5.46,0,0,0,.27.48c.09.16.19.31.29.46s.19.29.3.43.23.31.35.46l.31.38.42.44.33.33.49.42c.12.09.22.19.34.27s.41.29.62.42l.29.2c.32.19.66.36,1,.52,2.28,1,5.16,1.41,6.53,3.42a4.22,4.22,0,0,1,.67,1.56c0,.13,0,.27,0,.4v.35c0,1.16.08,2.31.2,3.44a12.73,12.73,0,0,0,.11,1.86,5.33,5.33,0,0,0,.38,1.35,35.68,35.68,0,0,0,12,20.22c.12.61.26,1.32.41,2.12a39.71,39.71,0,0,1-11.55,6c-9.53,2.79-23,15.66-23,15.66s-6.7,48.29-8.31,54.18-2.8,28.67-2.8,28.67-1.59,9.42-4,14.13c-1.69,3.32-1.38,17.59,3.32,26.26a21.9,21.9,0,0,1-2.92,4.76c-9.53,11-38.12,10.6-47.65,10.6-8.77,0-11.48,5.32-11.85,6.16-17.45,5-73.95,21.08-80.65,24-7.94,3.47-12.31,37.76-12.31,37.76S172.68,523,173.47,530.46s-5.56,28.24-5.56,28.24,0,23.49-2.69,25.08a.25.25,0,0,1-.08.05c-2.78,1.18-2.39,12.57-2.39,12.57s2.05.59,5.24,1.4c-.85,5.75-4,13.8-6.43,19.52-1.24-1.57-2.45-2.22-3.17-.4-2,5-31.76,40.34-39.31,40.34-3.59,0-9.53,2.94-13.44,6.91C101.36,668.54,99.54,674.15,106,678.46ZM242.55,473.89c33.75,3.14,69.88-2.39,69.88-2.39s-2.78,9.85-5.16,13.78-9.14,26.31-9.14,31-10.72,45.15-13.89,47.11c-1.33.83-2.52,2.89-3.46,5a46.94,46.94,0,0,0-2.1,6q.07,1.53.27,2.91c-2.37,2.17-4.88,4.45-7.11,6.47h0s-14.2,7.9-19,12.22-27,9.62-27,9.62a138.21,138.21,0,0,0-16,8.15c-6.89,4.15-13.78,9.43-15.58,14.64.78-8.78,2.05-19.35,2.9-26.07l1.26-.05c11.13-.69,9.47-11.31,8.88-13.94-.08-.38-.14-.59-.14-.59,7.94-8.64,25.8-73,23.42-80.1s2-13.35,2.93-13.35,2.23-7.85.25-12.17S242.55,473.89,242.55,473.89Zm272.9-173.22-2.11.52,0-.45S514.11,300.74,515.45,300.67ZM400.09,241.42c-.32.4-.64.78-1,1.15l-.41.42c0-.73,0-1.47,0-2.18C399.16,241,399.62,241.23,400.09,241.42ZM360.32,317.6l.14,2.21s-.21,1.35-.61,3.66Zm182.45-21.94-6.93,1.19c1-.37,1.95-.77,2.89-1.22a6.65,6.65,0,0,1,2.21-.6,12.69,12.69,0,0,1,2.58.55A4.78,4.78,0,0,0,542.77,295.66Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"url(#e507827f-2863-48fa-82fe-b741cb149057)\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M308.48,579.14s-8,16.51-7.59,17.68S283.74,612,283.74,612l-19.09-13.63,2-9.36s21.43-19.31,23-21.54S308.48,579.14,308.48,579.14Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.58,635c13.25,12.86,28.83,9,36.24,8.19s46.94-24.55,50.74-26.11c1-.42,2.25-1.78,3.47-3.54h0a89.92,89.92,0,0,0,6.69-12.37c-.26.07-13.22,3.78-16.49,0,0,0-5.46-6.69-6.63-6.69s-.09-11.74-.09-11.74-13.94,7.84-18.61,12.13-26.5,9.54-26.5,9.54a134,134,0,0,0-15.68,8.09C202.4,618.8,192,627.69,199.58,635Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.58,635c13.25,12.86,28.83,9,36.24,8.19s46.94-24.55,50.74-26.11c1-.42,2.25-1.78,3.47-3.54-4.61-2.75-34.73,16.4-43.16,19.91S217.11,635,205,629.94c-6-2.53.08-10.3,7.7-17.44C202.4,618.8,192,627.69,199.58,635Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201.14,594.48s-5.55,41.69-4.14,47.15-34.83-18.7-34.83-18.7,12.68-26.13,9-32.13S201.14,594.48,201.14,594.48Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.46,595.26s22.6,6.62,35.06,5.84c10.92-.68,9.29-11.22,8.72-13.83-.08-.37-.14-.58-.14-.58,7.79-8.58,25.33-72.48,23-79.49S235,494,236,494s2.19-7.8.24-12.08,8.58-8.18,8.58-8.18c33.12,3.11,68.58-2.38,68.58-2.38s-2.73,9.78-5.07,13.68-9,26.1-9,30.78-10.52,44.81-13.64,46.76c-1.3.82-2.47,2.86-3.39,5a46.75,46.75,0,0,0-2.06,6c1.17,26.11,30.78,16,35.07,12.47a11.5,11.5,0,0,0,1.66-1.7,10.9,10.9,0,0,0,2.23-6.88s38.58-39.35,33.51-55.72,12.47-16.75,12.47-16.75,26.89-11.69,30.63-18.71c2.31-4.31,22.47-13.78,37.65-20.44,9.51-4.17,17.06-7.22,17.06-7.22l-6.32-22.66-5-17.87-9.38-3.52-30-11.28L346,395.75l-4.93.64-52.29,6.77S212.44,425,204.64,428.42s-12.08,37.47-12.08,37.47S176.2,522.39,177,529.83s-5.46,28-5.46,28,0,23.31-2.65,24.89a.14.14,0,0,1-.08,0C166.07,584,166.46,595.26,166.46,595.26Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#444053\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M244.78,473.69c33.12,3.11,68.58-2.38,68.58-2.38,2.34-7.37,35.09-27.63,35.09-27.63C321.58,437.06,244.78,473.69,244.78,473.69Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M280.24,573.44c1.17,26.11,30.78,16,35.07,12.47a11.5,11.5,0,0,0,1.66-1.7c-10.35,3.81-28.7,6.76-34.67-16.73A46.75,46.75,0,0,0,280.24,573.44Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#444053\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.46,595.26s22.6,6.62,35.06,5.84c10.92-.68,9.29-11.22,8.72-13.83-11.44-.36-31.14-1.43-41.37-4.53a.14.14,0,0,1-.08,0C166.07,584,166.46,595.26,166.46,595.26Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#444053\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M280.24,573.44c1.17,26.11,30.78,16,35.07,12.47a11.5,11.5,0,0,0,1.66-1.7c-10.35,3.81-28.7,6.76-34.67-16.73A46.75,46.75,0,0,0,280.24,573.44Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.46,595.26s22.6,6.62,35.06,5.84c10.92-.68,9.29-11.22,8.72-13.83-11.44-.36-31.14-1.43-41.37-4.53a.14.14,0,0,1-.08,0C166.07,584,166.46,595.26,166.46,595.26Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.73,676.7c12.08,8.18,30.4,4.28,30.4,4.28s27.66-13.24,35.85-13.24S205,659.55,205,659.55l-.67-5.51-3.22-26.44s-30.35-.78-31.57-3.51c0,0-5.45-13.42-7.4-8.46s-31.17,40-38.58,40c-3.53,0-9.36,2.92-13.19,6.86C106.2,666.86,104.41,672.42,110.73,676.7Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.55,446.41s25.33,16,18.32,19.48S215.55,446.41,215.55,446.41Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205,477.19s21.82,20.72,13.64,21.27S205,477.19,205,477.19Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.65,543s11.08,20.83,6.91,24.44S181.65,543,181.65,543Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M303.62,564.09c-3.9,3.89,37-12.86,27.66-13.64S303.62,564.09,303.62,564.09Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.44,271.84l1.31-.19c4.84-.74,22.41-3.5,38.17-6.92,3.84-.84,7.56-1.71,11-2.61,12.07-3.16,20.17-6.57,15-9.37-6.84-3.71-10.44-10.45-12.34-16.25-.18-.57-.35-1.12-.51-1.67a43.31,43.31,0,0,1-1.57-9s-44-15.59-35.46,0c4.21,7.65,1.38,13.89-2.59,18.26a34.28,34.28,0,0,1-9.49,7.07Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M432.59,259.76s-15.75,11.3-31.84,1.95-37.13,82.61-37.13,82.61L341.8,398.09s-14.13,11.69,3.46,16.76,56.61-5.07,66.52,9.74,28.67,17.14,30.59,17.14S451.71,386,451.71,386l1.93-80.66Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,411.73c17.59,5.06,56.62-5.07,66.53,9.74A38.06,38.06,0,0,0,429.32,435a44,44,0,0,0,13.83,3.66c.25,0,.62-1,1.05-2.79,2.74-11.28,8.29-52.94,8.29-52.94l1.92-80.66L435.9,262.12l-2.53-5.48a33.39,33.39,0,0,1-8,3.91c-6.09,2.06-14.9,3.22-23.82-2-4.72-2.74-9.87,3.24-14.78,13.06-11.84,23.64-22.35,69.55-22.35,69.55L342.58,395a18.52,18.52,0,0,0-1.48,1.42C338,399.66,332.19,407.75,346,411.73Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#f3f5f9\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M429.84,414.44a102.22,102.22,0,0,0-.52,20.52,240.33,240.33,0,0,0,3.66,29,11.43,11.43,0,0,0,.48,1.77c9.51-4.17,17.06-7.22,17.06-7.22l-6.32-22.66c2.74-11.28,8.29-52.94,8.29-52.94l1.92-80.66L435.9,262.12c12.07-3.16,20.17-6.57,15-9.37-7.5-4.07-11.11-11.79-12.85-17.92A65.05,65.05,0,0,1,427,246.75l-.24.2-1.4,13.6-.43,4.18-.9,8.67s4.29,102.48,7.4,108.33,1.56,17.14-1.16,30.39C430.1,412.87,430,413.64,429.84,414.44Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M431.81,410.56c-2.72,13.25-.39,35.07,2.73,51.82s36.24,5.85,42.48,0,24.54-8.57,24.54-8.57.78-76.37,6.63-86.11c2.77-4.62,3.44-19.7,3.37-34.27-.05-13.08-.7-25.75-.94-30-.06-1-.09-1.55-.09-1.55s25.32-42.86,24.93-46-7.79-3.5-7.79-3.5-28-21.82-32.73-19.1S477.4,229,477.4,229s-16.29,1.85-19.66-1.3a1.72,1.72,0,0,1-.6-1.43c.38-5-16.6-15.64-17.13-16,14.32,12.88-8.83,32.73-11.46,34.91l-.24.2-2.73,26.45s4.29,102.48,7.4,108.33S434.54,397.31,431.81,410.56Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 331.55,\n cy: 263.33,\n r: 1.95,\n fill: \"#444053\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M429.33,246.75l11.84,11.45,17.35-29a1.72,1.72,0,0,1-.6-1.43c.38-5-16.61-15.64-17.13-16C455.11,224.72,432,244.57,429.33,246.75Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 325.67,\n r: 1.95,\n opacity: 0.1\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 324.89,\n r: 1.95,\n fill: \"#444053\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M428.55,245.19l11.84,11.45,17.35-29a1.72,1.72,0,0,1-.6-1.43c.38-5-16.6-15.64-17.13-16C454.33,223.16,431.18,243,428.55,245.19Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _rect27 || (_rect27 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 416.9,\n y: 297.32,\n width: 27.12,\n height: 57.3,\n rx: 1.7,\n ry: 1.7,\n transform: \"translate(751.61 625.75) rotate(-178.69)\",\n fill: \"#d1d9ec\"\n })), _rect28 || (_rect28 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 417.05,\n y: 298.58,\n width: 27.12,\n height: 57.3,\n rx: 1.7,\n ry: 1.7,\n transform: \"translate(751.87 628.28) rotate(-178.69)\",\n fill: \"#dfe6f5\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 329.56,\n cy: 279.43,\n r: 4.26,\n fill: \"#fff\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M284.52,407.05c9.74,4.29,73.65-7,83-9.74s23-23.77,16.37-39,2.33-30,2.33-30,14-30,17.15-35.85,9.62-22.86,10.52-25.71a2.34,2.34,0,0,0-.55-1.79C410.8,261.13,401,254.31,401,254.31c-2.75,1-3.09-6.89-3-12.68.06-3.24.25-5.82.25-5.82s-1.29,1.31-3.4,3.1c-.77.65-1.65,1.37-2.63,2.11A40.43,40.43,0,0,1,380,247.73c-9.35,2.77-22.6,15.54-22.6,15.54l3.9,59.84s-9,56.28-18.32,67.19-37.41,10.52-46.76,10.52S284.52,407.05,284.52,407.05Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M283.74,404.72c9.74,4.28,73.65-7,83-9.75s23-23.77,16.37-39,2.33-30,2.33-30,14-30,17.15-35.85,9.62-22.86,10.52-25.71a2.35,2.35,0,0,0-.55-1.79C410,258.8,400.25,252,400.25,252c-2.75,1-3.09-6.88-3-12.67.06-3.25.25-5.83.25-5.83s-1.29,1.31-3.4,3.11c-.77.64-1.65,1.36-2.63,2.1a40.43,40.43,0,0,1-12.28,6.71c-9.35,2.77-22.6,15.54-22.6,15.54l3.9,59.84s-9,56.28-18.32,67.19-37.4,10.52-46.76,10.52S283.74,404.72,283.74,404.72Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M389.73,235s.37,2.05,1,5.21c2.1,10.7,7.1,34.06,10.71,33.16,2.59-.65,7-5.23,10.36-9.19-2.53-3.86-12.31-10.68-12.31-10.68-2.75,1-3.09-6.88-3-12.67l-3.15-2.72Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.51,233.47s.37,2.05,1,5.21c2.1,10.7,7.1,34.06,10.71,33.16,2.59-.65,7-5.23,10.36-9.19C410,258.8,400.25,252,400.25,252c-2.75,1-3.09-6.88-3-12.67l-3.15-2.72Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M365.57,348.21s19.49-3.89,24.94-12.46,42.57-16,38-7-38,38.29-38,38.29L376,387.81l-19.38-4.92L348.45,367Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M411.67,370.45s-18.87,7-21.71,16.36S411.67,370.45,411.67,370.45Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M423.24,381.34s1.72,9.73-21.93,9Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M525.33,256.64l8.58-.78s9.35,7,16.36,7,11.3,9,11.3,9,11.69,5.46,15.59,6.24,10.52,4.67,8.57,6.23.39,5.07,3.9,7.79,9,16.76,4.28,18.71-17.53,5.84-21,7.79-7.79,0-7.79,0-20.64-26.89-31.17-21.82S509,301.84,509,301.84l-11.3-23.76Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,384.86c1.84,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1s-39.25-12.47-1.46-42.79H364.4L361,343.74l1.54-8.07,2.22-72.79-8.18-1.95s-6.59,47.93-8.16,53.77-2.75,28.45-2.75,28.45-1.56,9.35-3.9,14C340,360.69,340.49,376.54,346,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M347.59,384.86c1.83,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1S338.3,375.34,376.09,345H366l-3.37-1.28C357,353.57,348.3,371.06,347.59,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,384.86c1.84,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1s-39.25-12.47-1.46-42.79H364.4L361,343.74C355.48,353.57,346.74,371.06,346,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"none\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,384.86c1.84,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1s-39.25-12.47-1.46-42.79H364.4L361,343.74C355.48,353.57,346.74,371.06,346,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M398.44,244.12a35.47,35.47,0,0,0,40.13-7.62c-.18-.57-.35-1.12-.51-1.67a43.31,43.31,0,0,1-1.57-9s-44-15.59-35.46,0C405.24,233.51,402.41,239.75,398.44,244.12Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M377.65,210.27v.35c0,1.15.08,2.29.2,3.41s.28,2.14.48,3.19a35.47,35.47,0,0,0,68.32,4.58c.24-.69.45-1.38.64-2.08a35.06,35.06,0,0,0,1.28-9.45c0-.81,0-1.63-.09-2.43a35.46,35.46,0,0,0-70.83,2.43Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M377.65,210.62a15.27,15.27,0,0,1,.2,3.41,12.67,12.67,0,0,0,.1,1.85,5.25,5.25,0,0,0,.38,1.34c1.43,3.36,6.11,5.54,9.2,3.37a9.86,9.86,0,0,0,2.76-3.62c3.28-6.09,7.83-13.09,15-13.21,3.06-.06,5.93,1.23,8.89,2s6.46.84,8.66-1.17c1.7-1.55,2.5-4.19,4.77-4.73s4.37,1.54,5.41,3.58,1.87,4.44,4,5.5c.94.46,2,.6,3,1.1,4.24,2.32,2.29,10.45,6.69,11.77a3.2,3.2,0,0,0,.42.1c.07-.72.15-1.46.22-2.18q.6-5.94,1.19-11.88a35.46,35.46,0,0,0-70.83,2.43Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M440.64,157.34c4.17,1.77,8.51,4.49,9.44,8.74.41,1.87.1,3.81.2,5.71.2,3.84,2,7.4,3.19,11.08s1.59,8-.75,11.1c-.73,1-1.7,1.79-2.36,2.81A11.5,11.5,0,0,0,449,202l-1.93,19.18c-4.94-.93-2.74-9.5-7.12-11.88-.91-.5-2-.64-2.95-1.11-2.11-1-2.93-3.45-4-5.49s-3.1-4.13-5.41-3.58-3.07,3.19-4.76,4.73c-2.21,2-5.72,1.92-8.67,1.17s-5.83-2-8.88-2c-7.18.12-11.74,7.12-15,13.21a9.89,9.89,0,0,1-2.77,3.63c-3.48,2.44-9-.64-9.57-4.72-.34-2.29.38-4.84-.94-6.78s-4.18-2.35-6.41-3.39c-5.7-2.62-7.46-9.73-6.52-15.69.69-4.3,2.4-8.72,1-12.86-.49-1.43-1.32-2.73-1.77-4.16-1.25-4,.79-8.44,4-11.29s7.42-4.42,11.56-5.8c10.63-3.57,21.79-7,33.1-7.74,4.95-.32,11.44-1.87,15.37,1.22C432,152.23,434.88,154.9,440.64,157.34Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#585268\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 329.6,\n cy: 232.54,\n r: 1.95,\n opacity: 0.1\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 329.6,\n cy: 231.76,\n r: 1.95,\n fill: \"#444053\"\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 342.07,\n cy: 354.9,\n r: 1.95,\n opacity: 0.1\n })), _circle8 || (_circle8 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 342.07,\n cy: 354.12,\n r: 1.95,\n fill: \"#444053\"\n })), _circle9 || (_circle9 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 387.24,\n r: 1.95,\n opacity: 0.1\n })), _circle10 || (_circle10 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 386.46,\n r: 1.95,\n fill: \"#444053\"\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M370.25,299.24s-4.29,29.1,0,34.17S370.25,299.24,370.25,299.24Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M497.67,353.28s8.18,17.63,0,34.53-13.25,23.77-10.52,34.56S497.67,353.28,497.67,353.28Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.73,676.7c12.08,8.18,30.4,4.28,30.4,4.28s27.66-13.24,35.85-13.24S205,659.55,205,659.55l-.67-5.51c-8.07,1.55-26.43,5.26-28.55,7.07-2.73,2.34-36.24,13.64-36.24,13.64s-22.82-2.85-29.17-12.23C106.2,666.86,104.41,672.42,110.73,676.7Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M450.28,168.67c0-.42,0-.84,0-1.27,0,.49,0,1,0,1.46C450.3,168.8,450.28,168.74,450.28,168.67Z\",\n transform: \"translate(-101.77 -35.91)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M370.6,201.82c2.23,1,5,1.4,6.41,3.38s.6,4.49.94,6.78c.59,4.08,6.09,7.17,9.57,4.72a9.89,9.89,0,0,0,2.77-3.63c3.27-6.09,7.83-13.09,15-13.21,3.06-.05,5.93,1.24,8.89,2s6.46.84,8.67-1.17c1.69-1.54,2.49-4.19,4.76-4.73s4.36,1.54,5.41,3.58,1.87,4.44,4,5.5c.94.46,2,.6,2.95,1.1,4.38,2.39,2.18,11,7.12,11.88q1-9.6,1.93-19.18a11.46,11.46,0,0,1,1.36-5.16c.66-1,1.63-1.84,2.36-2.82a8.59,8.59,0,0,0,1.6-4.12,10,10,0,0,1-1.6,7.24c-.73,1-1.7,1.79-2.36,2.81A11.5,11.5,0,0,0,449,202q-1,9.59-1.93,19.18c-4.94-.93-2.74-9.5-7.12-11.88-.91-.5-2-.64-2.95-1.11-2.11-1-2.93-3.45-4-5.49s-3.1-4.13-5.41-3.58-3.07,3.19-4.76,4.73c-2.21,2-5.72,1.92-8.67,1.17s-5.83-2-8.89-2c-7.17.12-11.73,7.12-15,13.21a9.89,9.89,0,0,1-2.77,3.63c-3.48,2.44-9-.64-9.57-4.72-.34-2.29.38-4.84-.94-6.78s-4.18-2.35-6.41-3.39c-5.21-2.4-7.13-8.55-6.69-14.14C364.29,195.4,366.35,199.86,370.6,201.82Z\",\n transform: \"translate(-101.77 -35.91)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M363.31,169.1c.45,1.43,1.28,2.74,1.77,4.16a12,12,0,0,1,.44,5.13,10,10,0,0,0-.44-2c-.49-1.43-1.32-2.73-1.77-4.16a8.78,8.78,0,0,1-.23-4.07A8.2,8.2,0,0,0,363.31,169.1Z\",\n transform: \"translate(-101.77 -35.91)\"\n }))), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M583.14,490.05,502.82,480a3.07,3.07,0,0,1-1.83-5.18l33.69-35a3.06,3.06,0,0,1,2.56-.92l61.41,6.88a3.07,3.07,0,0,1,2.52,4.16l-14.78,38.19A3.08,3.08,0,0,1,583.14,490.05Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#746d83\"\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M583.14,490.05,502.82,480a3.07,3.07,0,0,1-1.83-5.18l33.69-35a3.06,3.06,0,0,1,2.56-.92l61.41,6.88a3.07,3.07,0,0,1,2.52,4.16l-14.78,38.19A3.08,3.08,0,0,1,583.14,490.05Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M582.23,489.15l-80.31-10.09a3.08,3.08,0,0,1-1.83-5.19l33.69-35a3.1,3.1,0,0,1,2.56-.93l61.4,6.88a3.08,3.08,0,0,1,2.53,4.17l-14.79,38.19A3.09,3.09,0,0,1,582.23,489.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#746d83\"\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M534.37,452.58l24.12,1.94,34.4-2.24-.59,0-31.87-3.08c-7.3-2.68-2.24-18.46-2.24-18.46l-24.41,1.24-1.95.1C523.2,452.28,534.37,452.58,534.37,452.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d1d9ec\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M534.37,452.58l24.12,1.94,34.4-2.24-.59,0-34.78,1.24-23.3-2.53c-6.62-1.74-2.83-13.22-.44-19l-1.95.1C523.2,452.28,534.37,452.58,534.37,452.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.12,309.15,499.5,415l1,13.89a6,6,0,0,0,6.06,5.61h2.24l111.1-.67a3.13,3.13,0,0,0,3.08-3.43l-1-13.9-7.82-93.08a6.39,6.39,0,0,0-4.27-5.4L504,302.14c-3.6-1.25-7.27-.81-9.56,1.1A6.72,6.72,0,0,0,492.12,309.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#4c4c56\"\n })), _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M499.5,415l1,13.89a6,6,0,0,0,6.06,5.61h2.24l111.1-.67a3.13,3.13,0,0,0,3.08-3.43l-1-13.9Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dfe6f5\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 472.21,\n cy: 390.61,\n rx: 1.49,\n ry: 2.98,\n fill: \"#fff\"\n })), _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M569.66,466.13s-30.38-11.47-38.57-3.13c0,0-1.34,2.54,4.17,3.13l22.26,1.79S566.68,468.81,569.66,466.13Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d1d9ec\"\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M568.85,463.15c-6-2.44-23.93-8.75-35.43-1.77,0,0,12.72-1.41,19.71,2.63s16.53,2.12,16.53,2.12l.14-.25A1.93,1.93,0,0,0,568.85,463.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dfe6f5\"\n })), _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.12,309.15l8.34,119.76a6,6,0,0,0,6.06,5.61h2.24a21.34,21.34,0,0,1-3.88-5s-8.19-120.34-8.79-123.32a6.1,6.1,0,0,0-1.65-2.94A6.72,6.72,0,0,0,492.12,309.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dfe6f5\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.12,309.15l8.34,119.76a6,6,0,0,0,6.06,5.61h2.24a21.34,21.34,0,0,1-3.88-5s-8.19-120.34-8.79-123.32a6.1,6.1,0,0,0-1.65-2.94A6.72,6.72,0,0,0,492.12,309.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M477.79,342.35c9-2,30-8.16,30-8.16l3.76-.76c-.05-13.08-.7-25.75-.94-30h-.09s-17.93,5.85-22.21,9-17.54,2.33-17.54,2.33S450.13,315.87,433,335,468.83,344.32,477.79,342.35Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M565.38,307.58a5.21,5.21,0,0,1,1.17,8.74c-4.75,3.93-11.68,8.63-18.3,9.29-11,1.11-37.6,6.44-40.24,7a3.2,3.2,0,0,0-.42.1c-2.19.64-21.35,6.25-29.8,8.1-9,2-62,11.71-44.81-7.38,15.78-17.58,34.53-20,37.42-20.23a4,4,0,0,1,.69,0c2,.09,13.32.48,17.23-2.35a36.81,36.81,0,0,1,6.44-3.21,123.2,123.2,0,0,1,26.35-7.6l18.33-3.2a5.26,5.26,0,0,1,3.08.4Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M526.89,256.64l8.57-.78s9.36,7,16.37,7,11.3,9,11.3,9,11.69,5.46,15.59,6.24,10.52,4.67,8.57,6.23.39,5.07,3.9,7.79,9,16.76,4.28,18.71-17.53,5.84-21,7.79-7.79,0-7.79,0S546,291.71,535.47,296.78s-24.94,5.06-24.94,5.06l-11.3-23.76Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1040,746.64a16.86,16.86,0,0,0-2.27,4.29c-.15.37-.28.8-.42,1.21a4.65,4.65,0,0,0-.79-.28,11,11,0,0,0-3.57-.3c0-.47,0-.95.07-1.47.14-5.27-.48-12.61-5.5-9.5-4.83,3-1.39,8,1.72,11.2l.8.79c-2.83,2-3.37,6.73-3.85,11.64s-4.64,10.28-7.4,13.33c-.28.32-.54.59-.78.85a10.15,10.15,0,0,0-8-2.07l-.37-1.35c-2.24-8.09-6.89-22.1-12.82-25.17.25-.31.51-.63.78-1,2.52-3.29,5.35-8.19,1.16-9.44s-4.56,4.25-4.33,8.36q0,.78.12,1.47a6.15,6.15,0,0,0-4.39,2.14l-.64-.77c-3.4-4-9.64-10.37-11.52-5.56-1.76,4.48,3.73,10.3,7.59,13.67l.24.21c-2.6,10.51,8.72,19.08,14.81,22.83l.78.48c-8.4,9.9-13.58,28.46-13.58,28.46l23.52,4.2s15.59-13.46,13.6-26.1l.16,0c15.58-3.12,19.13-19.74,16.7-29.6l.28-.12a17.69,17.69,0,0,0,7.21-5.46C1053.62,747.53,1044.47,740.69,1040,746.64Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1040,746.64a16.86,16.86,0,0,0-2.27,4.29c-.15.37-.28.8-.42,1.21a4.65,4.65,0,0,0-.79-.28,11,11,0,0,0-3.57-.3c0-.47,0-.95.07-1.47.14-5.27-.48-12.61-5.5-9.5-4.83,3-1.39,8,1.72,11.2l.8.79c-2.83,2-3.37,6.73-3.85,11.64s-4.64,10.28-7.4,13.33c-.28.32-.54.59-.78.85a10.15,10.15,0,0,0-8-2.07l-.37-1.35c-2.24-8.09-6.89-22.1-12.82-25.17.25-.31.51-.63.78-1,2.52-3.29,5.35-8.19,1.16-9.44s-4.56,4.25-4.33,8.36q0,.78.12,1.47a6.15,6.15,0,0,0-4.39,2.14l-.64-.77c-3.4-4-9.64-10.37-11.52-5.56-1.76,4.48,3.73,10.3,7.59,13.67l.24.21c-2.6,10.51,8.72,19.08,14.81,22.83l.78.48c-8.4,9.9-13.58,28.46-13.58,28.46l23.52,4.2s15.59-13.46,13.6-26.1l.16,0c15.58-3.12,19.13-19.74,16.7-29.6l.28-.12a17.69,17.69,0,0,0,7.21-5.46C1053.62,747.53,1044.47,740.69,1040,746.64Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M993.17,753.42l-2.75,8.05s-1.52-1.08-3.45-2.78c-3.86-3.37-9.35-9.19-7.59-13.67,1.88-4.81,8.12,1.54,11.52,5.56C992.27,752.18,993.17,753.42,993.17,753.42Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M999,748.82A38.1,38.1,0,0,1,996.3,752a39,39,0,0,1-.49-4.24c-.23-4.11.2-9.59,4.33-8.36S1001.5,745.53,999,748.82Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1034.45,750.09c-.09,2.65-.35,4.77-.35,4.77a34.68,34.68,0,0,1-3.43-3.07c-3.11-3.22-6.55-8.21-1.72-11.2C1034,737.48,1034.59,744.82,1034.45,750.09Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1050.69,753.56a17.69,17.69,0,0,1-7.21,5.46,19.38,19.38,0,0,1-2.42.88l-3.24-4.55a32.17,32.17,0,0,1,1.34-4.42,16.86,16.86,0,0,1,2.27-4.29C1045.91,740.69,1055.06,747.53,1050.69,753.56Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M990.9,750.58c1.37,1.6,2.27,2.84,2.27,2.84l-2.75,8.05s-1.52-1.08-3.45-2.78a15.68,15.68,0,0,1,3.09-7.07C990.34,751.24,990.63,750.9,990.9,750.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M999,748.82A38.1,38.1,0,0,1,996.3,752a39,39,0,0,1-.49-4.24A5.55,5.55,0,0,1,999,748.82Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1012.5,780.78l-6.84,3a41.38,41.38,0,0,1-3.64-2.06c-7.19-4.42-21.65-15.55-12-28.67s17.77,10.41,21,21.92C1012,778.42,1012.5,780.78,1012.5,780.78Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1030.67,751.79a5.67,5.67,0,0,1,3.78-1.7c-.09,2.65-.35,4.77-.35,4.77A34.68,34.68,0,0,1,1030.67,751.79Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1043.48,759a19.38,19.38,0,0,1-2.42.88l-3.24-4.55a32.17,32.17,0,0,1,1.34-4.42C1041.25,752.15,1042.79,755.19,1043.48,759Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path111 || (_path111 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1026.5,788.74c-.38.08-.76.15-1.15.21-22.93,3.48-7.56-8.89-7.56-8.89s1-.95,2.43-2.51c2.76-3,6.93-8.39,7.4-13.33.72-7.43,1.56-14.4,10.33-12.36C1046.56,753.88,1048.2,784.4,1026.5,788.74Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _rect29 || (_rect29 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 880.49,\n y: 809.92,\n width: 43.81,\n height: 11.52,\n fill: \"#d4dfec\"\n })), _rect30 || (_rect30 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 873.53,\n y: 772.48,\n width: 57.24,\n height: 40.2,\n fill: \"#d4dfec\"\n })), _rect31 || (_rect31 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 880.49,\n y: 809.92,\n width: 43.81,\n height: 11.52,\n opacity: 0.1\n })), _rect32 || (_rect32 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 873.53,\n y: 772.48,\n width: 57.24,\n height: 40.2,\n opacity: 0.1\n })), _rect33 || (_rect33 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 883.37,\n y: 809.92,\n width: 43.81,\n height: 11.52,\n fill: \"#d4dfec\"\n })), _path112 || (_path112 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1011,775c1,3.44,1.48,5.8,1.48,5.8l-6.84,3a41.38,41.38,0,0,1-3.64-2.06C1004.7,778.33,1007.72,775.77,1011,775Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path113 || (_path113 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1026.5,788.74c-.38.08-.76.15-1.15.21-22.93,3.48-7.56-8.89-7.56-8.89s1-.95,2.43-2.51C1024.5,781,1026.27,784.84,1026.5,788.74Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path114 || (_path114 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M989.22,810.67s12.84-46,30.84-31.8-7.32,36-7.32,36Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _circle11 || (_circle11 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 893.93,\n cy: 724.35,\n r: 1.44,\n opacity: 0.1\n })), _circle12 || (_circle12 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 893.81,\n cy: 731.07,\n r: 1.44,\n opacity: 0.1\n })), _circle13 || (_circle13 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 935.57,\n cy: 725.67,\n r: 1.44,\n opacity: 0.1\n })), _circle14 || (_circle14 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 901.97,\n cy: 760.12,\n r: 1.44,\n opacity: 0.1\n })), _circle15 || (_circle15 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 932.57,\n cy: 736.83,\n r: 1.44,\n opacity: 0.1\n })), _circle16 || (_circle16 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 917.69,\n cy: 751.72,\n r: 1.44,\n opacity: 0.1\n })), _circle17 || (_circle17 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 898.85,\n cy: 727.23,\n r: 1.44,\n opacity: 0.1\n })), _circle18 || (_circle18 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 931.61,\n cy: 729.99,\n r: 1.44,\n opacity: 0.1\n })), _circle19 || (_circle19 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 926.69,\n cy: 741.15,\n r: 1.44,\n opacity: 0.1\n })), _circle20 || (_circle20 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 911.57,\n cy: 759.04,\n r: 1.44,\n opacity: 0.1\n })), _circle21 || (_circle21 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 908.45,\n cy: 751.96,\n r: 1.44,\n opacity: 0.1\n })), _circle22 || (_circle22 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 901.01,\n cy: 735.99,\n r: 1.44,\n opacity: 0.1\n })), _rect34 || (_rect34 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 883.37,\n y: 809.92,\n width: 43.81,\n height: 4.21,\n opacity: 0.1\n })), _rect35 || (_rect35 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 876.41,\n y: 772.48,\n width: 57.24,\n height: 40.2,\n fill: \"#d4dfec\"\n })), _circle23 || (_circle23 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 913.49,\n cy: 765.52,\n r: 1.44,\n opacity: 0.1\n })), _circle24 || (_circle24 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 904.85,\n cy: 767.32,\n r: 1.44,\n opacity: 0.1\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgManOnTable);\nexport default __webpack_public_path__ + \"static/media/manOnTable.8f117eb207e57ed8f89d67d595aceb45.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _circle, _circle2, _circle3, _circle4, _rect, _ellipse, _ellipse2, _path7, _circle5, _path8, _circle6, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSkill(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"a36694c7-9e7e-4fa0-bd34-1ff06c34a584\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 1089.86663,\n height: 822.50661,\n viewBox: \"0 0 1089.86663 822.50661\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"certificate\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M988.80331,484.3133c0,126.51-74.17,238.43-187.87,306.56-72.9,43.69-162.06,69.38-258.33,69.38-128.25,0-226.08-48.47-299.67-122.72-67.83-68.42-115.06-158.75-146.53-253.22-140.49-421.79,94.2-536.86,446.2-375.94C766.72329,210.84327,988.80331,276.69331,988.80331,484.3133Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#6c63ff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M800.93331,263.50331v528.37c-72.9,43.69-162.06,69.38-258.33,69.38-128.25,0-226.08-48.47-299.67-122.72v-475.03Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#f2f2f2\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.60406,520.9551a349.10769,349.10769,0,0,1,90.1557-16.07316,282.15087,282.15087,0,0,1,45.97047,1.7986,287.56233,287.56233,0,0,1,44.61626,9.55207c14.4206,4.17522,28.64209,8.99849,43.01405,13.33329a401.17806,401.17806,0,0,0,44.45525,10.84819,376.87356,376.87356,0,0,0,45.16986,5.38371c15.00305.87194,30.15309,1.0421,45.11414-.55621a138.0256,138.0256,0,0,0,40.59011-10.28933A123.97053,123.97053,0,0,0,728.70055,513.779q3.67222-3.2781,7.06609-6.84515c1.33469-1.39522-.78353-3.51978-2.12132-2.12132-19.12461,19.99191-44.26195,32.38806-71.527,36.52762-14.853,2.25509-29.98981,2.38592-44.97348,1.80438a370.06082,370.06082,0,0,1-45.71483-4.619A382.03123,382.03123,0,0,1,527.155,528.4477c-14.28794-4.13931-28.38132-8.91171-42.61931-13.21479a320.72782,320.72782,0,0,0-43.87857-10.45407,275.93839,275.93839,0,0,0-45.01855-3.12473A344.20143,344.20143,0,0,0,306.666,514.82967q-5.45484,1.53164-10.85948,3.23259c-1.836.5756-1.05209,3.47271.79752,2.89284Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.60406,596.9551a349.10769,349.10769,0,0,1,90.1557-16.07316,282.15087,282.15087,0,0,1,45.97047,1.7986,287.56233,287.56233,0,0,1,44.61626,9.55207c14.4206,4.17522,28.64209,8.99849,43.01405,13.33329a401.17806,401.17806,0,0,0,44.45525,10.84819,376.87356,376.87356,0,0,0,45.16986,5.38371c15.00305.87194,30.15309,1.0421,45.11414-.55621a138.0256,138.0256,0,0,0,40.59011-10.28933A123.97053,123.97053,0,0,0,728.70055,589.779q3.67222-3.2781,7.06609-6.84515c1.33469-1.39522-.78353-3.51978-2.12132-2.12132-19.12461,19.99191-44.26195,32.38806-71.527,36.52762-14.853,2.25509-29.98981,2.38592-44.97348,1.80438a370.06082,370.06082,0,0,1-45.71483-4.619A382.03123,382.03123,0,0,1,527.155,604.4477c-14.28794-4.13931-28.38132-8.91171-42.61931-13.21479a320.72782,320.72782,0,0,0-43.87857-10.45407,275.93839,275.93839,0,0,0-45.01855-3.12473A344.20143,344.20143,0,0,0,306.666,590.82967q-5.45484,1.53164-10.85948,3.23259c-1.836.5756-1.05209,3.47271.79752,2.89284Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.60406,451.9551a349.10769,349.10769,0,0,1,90.1557-16.07316,282.15087,282.15087,0,0,1,45.97047,1.7986,287.56233,287.56233,0,0,1,44.61626,9.55207c14.4206,4.17522,28.64209,8.99849,43.01405,13.33329a401.17806,401.17806,0,0,0,44.45525,10.84819,376.87356,376.87356,0,0,0,45.16986,5.38371c15.00305.87194,30.15309,1.0421,45.11414-.55621a138.0256,138.0256,0,0,0,40.59011-10.28933A123.97053,123.97053,0,0,0,728.70055,444.779q3.67222-3.2781,7.06609-6.84515c1.33469-1.39522-.78353-3.51978-2.12132-2.12132-19.12461,19.99191-44.26195,32.38806-71.527,36.52762-14.853,2.25509-29.98981,2.38592-44.97348,1.80438A370.06082,370.06082,0,0,1,571.43,469.52557,382.03123,382.03123,0,0,1,527.155,459.4477c-14.28794-4.13931-28.38132-8.91171-42.61931-13.21479a320.72782,320.72782,0,0,0-43.87857-10.45407,275.93839,275.93839,0,0,0-45.01855-3.12473A344.20143,344.20143,0,0,0,306.666,445.82967q-5.45484,1.53163-10.85948,3.23259c-1.836.5756-1.05209,3.47271.79752,2.89284Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M293.02966,321.49617c7.25838-3.21556,15.5732-2.65483,23.1061-.79035,8.12236,2.01037,15.771,5.50661,23.76662,7.924a82.27145,82.27145,0,0,0,43.97788.83424,81.06329,81.06329,0,0,0,23.03191-9.8719c1.63065-1.025.12677-3.62188-1.51415-2.59041a79.4874,79.4874,0,0,1-42.31964,12.06472,77.64725,77.64725,0,0,1-22.15352-3.262c-7.93732-2.3799-15.52474-5.83513-23.56552-7.88447-8.51912-2.17125-17.65485-2.6421-25.84384.98574-1.76158.7804-.237,3.36618,1.51416,2.59041Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 460.86663,\n cy: 696.75661,\n r: 46,\n fill: \"#3f3d56\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 212.86663,\n cy: 105.75661,\n r: 25,\n fill: \"#f2f2f2\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 431.86663,\n cy: 176.75661,\n r: 17,\n fill: \"#f2f2f2\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 155.86663,\n cy: 339.75661,\n r: 17,\n fill: \"#f2f2f2\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 85.547,\n y: 213.46424,\n width: 1.8747,\n height: 335.24432,\n fill: \"#3f3d56\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 86.84593,\n cy: 436.55402,\n rx: 36.55673,\n ry: 83.42433,\n fill: \"#3f3d56\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 86.84593,\n cy: 246.27156,\n rx: 36.55673,\n ry: 83.42433,\n fill: \"#3f3d56\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M142.81061,216.86068l-1.796-.53824c.1135-.379,11.13471-38.14721-6.962-62.4607-10.22116-13.73165-27.76036-20.69451-52.13059-20.69451v-1.87471c24.9991,0,43.04588,7.21917,53.6396,21.457C154.21857,177.82509,142.92686,216.47347,142.81061,216.86068Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.8554,\n cy: 93.48318,\n r: 23.4338,\n fill: \"#3f3d56\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M825.8065,663.424,808.274,824.72309H929.24832l5.25976-12.27276,7.013,12.27276h113.96133s-8.76625-166.55887-24.54551-171.81863S825.8065,663.424,825.8065,663.424Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#2f2e41\"\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 874.18164,\n cy: 209.15673,\n r: 61.36379,\n fill: \"#ffb8b8\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M894.1833,286.475s5.25975,56.104,0,59.61054,84.15606,1.75326,84.15606,1.75326-12.27276-50.84429,0-75.38981Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#ffb8b8\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M925.74182,333.81273s45.11322,7.02643,48.85538-7.00629l23.02792,31.55181,1.75325,315.58523s-187.59788,22.79227-194.61089-14.026,71.88331-327.858,71.88331-327.858l19.86216-1.28572S922.23532,333.81273,925.74182,333.81273Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#d0cde1\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M896.21439,316.37533l-30.08311,10.4244-85.90931,21.039,3.5065,210.39015s-73.63655,210.39015-40.32478,226.16941,80.64956-21.039,94.67557-47.33779,63.117-390.975,63.117-397.988S896.21439,316.37533,896.21439,316.37533Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M973.47025,316.37533l11.88211,10.4244,84.15606,38.57153-42.078,212.1434s56.104,192.85764,35.065,203.37715-52.59754,40.32478-59.61054,22.79226S954.57513,335.7562,973.47025,316.37533Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1022.17064,596.80042s-78.89631-33.31177-80.64956-3.5065,89.41582,50.84429,89.41582,42.078S1022.17064,596.80042,1022.17064,596.80042Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#ffb8b8\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M829.313,584.52767s91.16907,68.37679,56.104,85.90931-80.64956-61.3638-80.64956-61.3638Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#ffb8b8\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M956.49132,158.01513a3.38451,3.38451,0,0,1,3.25676-1.93273c-28.09345-1.68046-57.68462,1.59391-81.18765,17.0753-6.58229,4.33573-12.72923,9.6376-20.22289,12.081l6.08267,4.77011-7.26763,2.21543,10.69544,6.91263a9.27045,9.27045,0,0,1-8.82861,2.95773c4.64818,1.358,8.07046,5.49439,9.80869,10.01416s2.05052,9.44217,2.34418,14.27575c1.79656-6.9743,9.408-11.07972,16.59785-11.49687s14.2019,1.95512,21.19907,3.66045a117.27154,117.27154,0,0,0,46.548,1.79065c-5.25649,10.54877-.82242,23.13119,3.63955,34.03981L968.066,276.1598c4.94626.49749,8.44239-4.42141,12.16886-7.71176,3.39641-2.99892-10.12543,23.37638-8.03185,22.41,2.71982-1.25539,31.42131-32.94373,32.76537-35.62084,6.13213-12.21409,9.81123-25.8377,9.25789-39.4935s-5.55-27.31832-14.96291-37.2275c-6.39033-6.72714-15.23132-7.90529-21.746-13.49635-2.56408-2.20055-2.57349-3.91969-6.09717-5.20273C970.24979,159.391,956.68486,157.58563,956.49132,158.01513Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#2f2e41\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M792.49472,353.0985,780.222,347.83875,682.0399,509.13786s-17.53252,42.078,14.026,61.3638S801.261,647.64471,801.261,647.64471l42.078-64.8703s-85.90931-40.32478-80.64956-56.104,33.31178-57.85729,33.31178-57.85729Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1046.71616,361.86476l22.79226,3.5065s94.67557,185.84463,71.88331,220.90966S1025.67714,670.437,1025.67714,670.437s-1.75325-57.85729-17.53251-78.89631l54.35079-21.039-29.80527-115.71459Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSkill);\nexport default __webpack_public_path__ + \"static/media/skill.35a147662ab0a1d15e579690446e0258.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport \"./SocialMedia.scss\";\nimport {socialMediaLinks} from \"../../portfolio\";\n\nexport default function socialMedia() {\n if (!socialMediaLinks.display) {\n return null;\n }\n return (\n
\n {socialMediaLinks.github ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.linkedin ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.gmail ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.whatsapp ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.instagram ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.telegram ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.gitlab ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.facebook ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.twitter ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.medium ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.stackoverflow ? (\n \n \n \n \n ) : null}\n\n {socialMediaLinks.kaggle ? (\n \n \n \n \n ) : null}\n
\n );\n}\n","/* Change this file to get your personal Portfolio */\n\n// To change portfolio colors globally go to the _globalColor.scss file\n\nimport emoji from \"react-easy-emoji\";\nimport splashAnimation from \"./assets/lottie/splashAnimation\"; // Rename to your file name for custom animation\n\n// Splash Screen\n\nconst splashScreen = {\n enabled: true, // set false to disable splash screen\n animation: splashAnimation,\n duration: 1850 // Set animation duration as per your animation\n};\n\n// Summary And Greeting Section\n\nconst illustration = {\n animated: true // Set to false to use static SVG\n};\n\nconst greeting = {\n username: \"Hit the Code Labs\",\n title: \"Welcome\",\n subTitle: emoji(\n // \"A passionate Full Stack Software Developer 🚀 having an experience of building Web and Mobile applications with JavaScript / Reactjs / Nodejs / React Native and some other cool libraries and frameworks.\"\n \"Specializing in data science, we offer cutting-edge solutions, with projects ranging from artificial intelligence and computer vision in healthcare to blockchain in supply chain and decentralized finance.\",\n ),\n resumeLink:\n \"\", \n // Set to empty to hide the button\n displayGreeting: true // Set false to hide this section, defaults to true\n};\n\n// Social Media Links\n\nconst socialMediaLinks = {\n // gmail: \"jpaul@hitthecodelabs.com\",\n github: \"https://github.com/hitthecodelabs\",\n instagram: \"https://instagram.com/@hitthecode\",\n linkedin: \"https://www.linkedin.com/in/hitthecode/\",\n whatsapp: \"https://api.whatsapp.com/send/?phone=17869494174\",\n telegram: \"https://t.me/hitthecodelabs\",\n // gitlab: \"https://gitlab.com/saadpasta\",\n // facebook: \"https://www.facebook.com/saad.pasta7\",\n // medium: \"https://medium.com/@saadpasta\",\n // stackoverflow: \"https://stackoverflow.com/users/10422806/saad-pasta\",\n // Instagram, Twitter and Kaggle are also supported in the links!\n // To customize icons and social links, tweak src/components/SocialMedia\n display: true // Set true to display this section, defaults to false\n};\n\n// Skills Section\n\nconst skillsSection = {\n title: \"What we do\",\n subTitle: \"WE AE FOCUS ON DATA SCIENCE AND MACHINE LEARNING APPROACH, USING TOOLS LIKE\",\n skills: [\n emoji(\n \"⚡ Utilize state-of-the-art NLP algorithms to perform text analysis, sentiment classification, and chatbot development.\"\n ),\n emoji(\"⚡ Leverage advanced machine learning techniques to provide actionable insights through time-series forecasting and anomaly detection.\"),\n emoji(\n \"⚡ Expertise in integrating services such as Google Cloud's Machine Learning and AI offerings.\"\n )\n ],\n\n /* Make Sure to include correct Font Awesome Classname to view your icon\nhttps://fontawesome.com/icons?d=gallery */\n\n softwareSkills: [\n {\n skillName: \"Python\",\n fontAwesomeClassname: \"fab fa-python\"\n },\n {\n skillName: \"JavaScript\",\n fontAwesomeClassname: \"fab fa-js\"\n },\n {\n skillName: \"Scikit-Learn\",\n fontAwesomeClassname: \"fas fa-chess-knight\" // Placeholder: data analysis related icon\n // fontAwesomeClassname: \"fas fa-chart-line\" // Placeholder: data analysis related icon\n },\n {\n skillName: \"Tensorflow\",\n // fontAwesomeClassname: \"fas fa-brain\" // Placeholder: brain icon (no specific icon for TensorFlow)\n fontAwesomeClassname: \"fas fa-chess-king\" // Placeholder: data analysis related icon\n },\n {\n skillName: \"Keras\",\n // fontAwesomeClassname: \"fab fa-kickstarter-k\" // Placeholder: neural network structure\n fontAwesomeClassname: \"fas fa-chess-queen\" // Placeholder: data analysis related icon\n },\n {\n skillName: \"PyTorch\",\n fontAwesomeClassname: \"fas fa-fire\" // Placeholder: neural network structure\n },\n // ... Add similar placeholders for others\n {\n skillName: \"Django\",\n fontAwesomeClassname: \"fab fa-dyalog\" // Placeholder: you might need to check for better suited icons\n },\n {\n skillName: \"GCP\",\n fontAwesomeClassname: \"fas fa-cloud\" // Placeholder: cloud icon\n },\n // {\n // skillName: \"html-5\",\n // fontAwesomeClassname: \"fab fa-html5\"\n // },\n // {\n // skillName: \"css3\",\n // fontAwesomeClassname: \"fab fa-css3-alt\"\n // },\n // {\n // skillName: \"sass\",\n // fontAwesomeClassname: \"fab fa-sass\"\n // },\n {\n skillName: \"reactjs\",\n fontAwesomeClassname: \"fab fa-react\"\n },\n {\n skillName: \"nodejs\",\n fontAwesomeClassname: \"fab fa-node\"\n },\n // {\n // skillName: \"swift\",\n // fontAwesomeClassname: \"fab fa-swift\"\n // },\n {\n skillName: \"Solidity\",\n fontAwesomeClassname: \"fab fa-ethereum\" // Placeholder: code related icon\n },\n // {\n // skillName: \"npm\",\n // fontAwesomeClassname: \"fab fa-npm\"\n // },\n {\n skillName: \"databases\",\n fontAwesomeClassname: \"fas fa-database\"\n },\n // {\n // skillName: \"aws\",\n // fontAwesomeClassname: \"fab fa-aws\"\n // },\n // {\n // skillName: \"firebase\",\n // fontAwesomeClassname: \"fas fa-fire\"\n // },\n {\n skillName: \"docker\",\n fontAwesomeClassname: \"fab fa-docker\"\n },\n\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Education Section\n\nconst educationInfo = {\n display: false, // Set false to hide this section, defaults to true\n schools: [\n {\n schoolName: \"Harvard University\",\n logo: require(\"./assets/images/harvardLogo.png\"),\n subHeader: \"Master of Science in Computer Science\",\n duration: \"September 2017 - April 2019\",\n desc: \"Participated in the research of XXX and published 3 papers.\",\n descBullets: [\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit\",\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit\"\n ]\n },\n {\n schoolName: \"Stanford University\",\n logo: require(\"./assets/images/stanfordLogo.png\"),\n subHeader: \"Bachelor of Science in Computer Science\",\n duration: \"September 2013 - April 2017\",\n desc: \"Ranked top 10% in the program. Took courses about Software Engineering, Web Security, Operating Systems, ...\",\n descBullets: [\"Lorem ipsum dolor sit amet, consectetur adipiscing elit\"]\n }\n ]\n};\n\n// Your top 3 proficient stacks/tech experience\n\nconst techStack = {\n viewSkillBars: false, //Set it to true to show Proficiency Section\n experience: [\n {\n Stack: \"Frontend/Design\", //Insert stack or technology you have experience in\n progressPercentage: \"90%\" //Insert relative proficiency in percentage\n },\n {\n Stack: \"Backend\",\n progressPercentage: \"70%\"\n },\n {\n Stack: \"Programming\",\n progressPercentage: \"60%\"\n }\n ],\n displayCodersrank: true // Set true to display codersrank badges section need to changes your username in src/containers/skillProgress/skillProgress.js:17:62, defaults to false\n};\n\n// Work experience section\n\nconst workExperiences = {\n display: true, //Set it to true to show workExperiences Section\n experience: [\n {\n role: \"Market Behavoir Model\",\n company: \"Vanna\",\n companylogo: require(\"./assets/images/vanna_logo.png\"),\n // date: \"Aug 2020 – Jun 2\",\n desc: \"Real-time market data analysis and classification. Real-time data processing engine of the Binance Limit Order Book. A ETL (Extract, Transform, Load) process to ensure the data is cleaned, transformed, and stored for subsequent analysis.\",\n // descBullets: [\n // \"Commercial Area: Development of a Minimum Viable Product (MVP) that measures the real-time flow of shrimps for subsequent automated population estimation of each shrimp pond with an error margin of 10%-14% in ponds ranging from 2ha to approximately 10ha.\",\n // \"Academic Area: Establishment of a new unit of measurement from decibels to grams in the context of shrimp population and survival in the Kazam, Gramilesa, Conchal, and Engungamar ponds of the Lanec Corporation.\",\n // ]\n \n },\n {\n role: \"Shrimp Population Estimation System\",\n company: \"Lanec Corporation\",\n companylogo: require(\"./assets/images/lanec_logo.png\"),\n // date: \"2020 – 2021\",\n desc: \"Development of a Minimum Viable Product (MVP) that measures the real-time flow of shrimps for subsequent automated population estimation of each shrimp pond with an error margin of 10%-14% in ponds ranging from 2ha to approximately 10ha.\",\n // descBullets: [\n // \"Commercial Area: Development of a Minimum Viable Product (MVP) that measures the real-time flow of shrimps for subsequent automated population estimation of each shrimp pond with an error margin of 10%-14% in ponds ranging from 2ha to approximately 10ha.\",\n // \"Academic Area: Establishment of a new unit of measurement from decibels to grams in the context of shrimp population and survival in the Kazam, Gramilesa, Conchal, and Engungamar ponds of the Lanec Corporation.\",\n // ]\n \n },\n {\n role: \"Presidential Campaign Analysis\",\n company: \"Svetlanross Consulting\",\n companylogo: require(\"./assets/images/svetlan_logo.png\"),\n // date: \"2021\",\n desc: \"Comprehensive Analysis of the Ecuador 2021 Electoral Campaign. To automate the collection, analysis, and real-time processing of information.\",\n descBullets: [\n // \"24/7 reports bot on the SEO with Semrush for each of the candidates\",\n \"24/7 reports bot for scheduled announcements during the Electoral Campaign\",\n \"24/7 informative Telegram bot on hashtags and Twitter trends\"\n ]\n },\n {\n role: \"Process Automation Software\",\n company: \"Espol\",\n companylogo: require(\"./assets/images/espol_logoo.png\"),\n // date: \"2020\",\n desc: \"Automation of Excel reports and graph generation for academic researchers' resumes in relation to journals of their publications on the RePec site. Reduced workflow time by 86.6%, replacing the tasks of a 6-person team.\"\n }\n ]\n};\n\n/* Your Open Source Section to View Your Github Pinned Projects\nTo know how to get github key look at readme.md */\n\nconst openSource = {\n showGithubProfile: \"true\", // Set true or false to show Contact profile using Github, defaults to true\n display: true // Set false to hide this section, defaults to true\n};\n\n// Some big projects you have worked on\n\nconst bigProjects = {\n title: \"Big Projects\",\n subtitle: \"SOME STARTUPS AND COMPANIES THAT I HELPED TO CREATE THEIR TECH\",\n projects: [\n {\n image: require(\"./assets/images/saayaHealthLogo.webp\"),\n projectName: \"Saayahealth\",\n projectDesc: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit\",\n footerLink: [\n {\n name: \"Visit Website\",\n url: \"http://saayahealth.com/\"\n }\n // you can add extra buttons here.\n ]\n },\n {\n image: require(\"./assets/images/nextuLogo.webp\"),\n projectName: \"Nextu\",\n projectDesc: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit\",\n footerLink: [\n {\n name: \"Visit Website\",\n url: \"http://nextu.se/\"\n }\n ]\n }\n ],\n display: false // Set false to hide this section, defaults to true\n};\n\n// Achievement Section\n// Include certificates, talks etc\n\nconst achievementSection = {\n title: emoji(\"Achievements And Certifications 🏆\"),\n subtitle:\n \"Achievements and Certifications our team has received:\",\n // \"Achievements, Certifications and Award Letters our team has received:\",\n\n achievementsCards: [\n\n {\n title: \"Expertise Across Domains\",\n subtitle: \"Over 15 impactful projects in AI, healthcare, finance, and agribusiness, driving tangible innovations.\",\n image: require(\"./assets/images/rocket3.png\"),\n imageAlt: \"startup rocket\",\n footerLink: [\n // {name: \"Certification\", url: \"\"},\n // { name: \"Final Project\", url: \"\" }, \n ]\n },\n\n {\n // title: '\"TIBURONCIN.AI\" FINALIST TEAM',\n title: 'Team Finalist \"TIBURONCIN.AI\"',\n // title: \"Google Code-In Finalist\",\n subtitle:\n \"For best innovative proposal among more than 35 international teams, including startups, research centers, master's or doctoral academics.\",\n // image: require(\"./assets/images/codeInLogo.webp\"),\n image: require(\"./assets/images/i3lab_logos.png\"),\n imageAlt: \"Google Code-In Logo\",\n footerLink: [\n // {\n // name: \"Certification\",\n // url: \"https://drive.google.com/file/d/0B7kazrtMwm5dYkVvNjdNWjNybWJrbndFSHpNY2NFV1p4YmU0/view?usp=sharing\"\n // },\n // {\n // name: \"Award Letter\",\n // url: \"https://drive.google.com/file/d/0B7kazrtMwm5dekxBTW5hQkg2WXUyR3QzQmR0VERiLXlGRVdF/view?usp=sharing\"\n // },\n {\n // name: \"Google Code-in Blog\",\n name: \"Certification\",\n // url: \"https://opensource.googleblog.com/2019/01/google-code-in-2018-winners.html\"\n url: \"https://drive.google.com/file/d/1Rc6dFgG5PoPHKjEIVafVZ4pg1KUxgLNi/view?usp=sharing\"\n }\n ]\n },\n\n {\n // title: \"Google Assistant Action\",\n title: \"Data Science Certificate\",\n subtitle:\n \"A Strong Mathematical Emphasis for Supervised and Reinforcement Machine Learning Models with Python and PyTorch.\",\n // image: require(\"./assets/images/googleAssistantLogo.webp\"),\n image: require(\"./assets/images/mitx_logos.png\"),\n imageAlt: \"Google Assistant Action Logo\",\n footerLink: [\n {\n // name: \"View Google Assistant Action\",\n name: \"Certification\",\n url: \"https://drive.google.com/file/d/1ocU9urqR_1ym9lBqOwMUjbGWVRPUh68S/view?usp=sharing\"\n }\n ]\n },\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Blogs Section\n\nconst blogSection = {\n title: \"Blogs\",\n subtitle:\n \"With Love for Developing cool stuff, I love to write and teach others what I have learnt.\",\n displayMediumBlogs: \"true\", // Set true to display fetched medium blogs instead of hardcoded ones\n blogs: [\n {\n url: \"https://blog.usejournal.com/create-a-google-assistant-action-and-win-a-google-t-shirt-and-cloud-credits-4a8d86d76eae\",\n title: \"Win a Google Assistant Tshirt and $200 in Google Cloud Credits\",\n description:\n \"Do you want to win $200 and Google Assistant Tshirt by creating a Google Assistant Action in less then 30 min?\"\n },\n {\n url: \"https://medium.com/@saadpasta/why-react-is-the-best-5a97563f423e\",\n title: \"Why REACT is The Best?\",\n description:\n \"React is a JavaScript library for building User Interface. It is maintained by Facebook and a community of individual developers and companies.\"\n }\n ],\n display: false // Set false to hide this section, defaults to true\n};\n\n// Talks Sections\n\nconst talkSection = {\n title: \"PROJECTS\",\n subtitle: emoji(\n // \"HERE ARE THE OPEN-SOURCE PROJECTS AND INSTRUCTIONAL CODE (guides, how-to's, lessons, etc).\"\n \"HERE ARE THE OPEN-SOURCE PROJECTS AND INSTRUCTIONAL CODE.\"\n ),\n\n talks: [\n {\n title: \"hitthecodelabs at Github\",\n subtitle: \"Open-source projects, guides, how-to's, lessons, etc.\",\n slides_url: \"https://github.com/hitthecodelabs\",\n // event_url: \"https://www.facebook.com/events/2339906106275053/\"\n }\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Podcast Section\n\nconst podcastSection = {\n title: emoji(\"Podcast 🎙️\"),\n subtitle: \"I LOVE TO TALK ABOUT MYSELF AND TECHNOLOGY\",\n\n // Please Provide with Your Podcast embeded Link\n podcast: [\n \"https://anchor.fm/codevcast/embed/episodes/DevStory---Saad-Pasta-from-Karachi--Pakistan-e9givv/a-a15itvo\"\n ],\n display: false // Set false to hide this section, defaults to true\n};\n\nconst contactInfo = {\n title: emoji(\"Contact Us ☎️\"),\n subtitle:\n \"Discuss a project? Our contact info is open for all.\",\n number: \"+1 (786) 949-4174\", // 17869494174\n email_address: \"jpaul@hitthecodelabs.com\"\n};\n\n// Twitter Section\n\nconst twitterDetails = {\n userName: \"jeanpaulpaes\", //Replace \"twitter\" with your twitter username without @\n display: false // Set true to display this section, defaults to false\n};\n\nconst isHireable = false; // Set false if you are not looking for a job. Also isHireable will be display as Open for opportunities: Yes/No in the GitHub footer\n\nexport {\n illustration,\n greeting,\n socialMediaLinks,\n splashScreen,\n skillsSection,\n educationInfo,\n techStack,\n workExperiences,\n openSource,\n bigProjects,\n achievementSection,\n blogSection,\n talkSection,\n podcastSection,\n contactInfo,\n twitterDetails,\n isHireable\n};\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","import lottie from \"lottie-web\";\nimport React, { useEffect, useRef, useState, } from \"react\";\nconst useLottie = (props, style) => {\n const { animationData, loop, autoplay, initialSegment, onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy, \n // Specified here to take them out from the 'rest'\n lottieRef, renderer, name, assetsPath, rendererSettings, \n // TODO: find a better way to extract the html props to avoid specifying\n // all the props that we want to exclude (as you can see above)\n ...rest } = props;\n const [animationLoaded, setAnimationLoaded] = useState(false);\n const animationInstanceRef = useRef();\n const animationContainer = useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n const play = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n const stop = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n const pause = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n const setSpeed = (speed) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n const goToAndPlay = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n const goToAndStop = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n const setDirection = (direction) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n const playSegments = (segments, forceFlag) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n const setSubframe = (useSubFrames) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n const getDuration = (inFrames) => { var _a; return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames); };\n /**\n * Destroy animation\n */\n const destroy = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n const loadAnimation = (forcedConfigs = {}) => {\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n const config = {\n ...props,\n ...forcedConfigs,\n container: animationContainer.current,\n };\n // Save the animation instance\n animationInstanceRef.current = lottie.loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n useEffect(() => {\n const onUnmount = loadAnimation();\n // Clean up on unmount\n return () => onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] ||\n animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n useEffect(() => {\n const partialListeners = [\n { name: \"complete\", handler: onComplete },\n { name: \"loopComplete\", handler: onLoopComplete },\n { name: \"enterFrame\", handler: onEnterFrame },\n { name: \"segmentStart\", handler: onSegmentStart },\n { name: \"config_ready\", handler: onConfigReady },\n { name: \"data_ready\", handler: onDataReady },\n { name: \"data_failed\", handler: onDataFailed },\n { name: \"loaded_images\", handler: onLoadedImages },\n { name: \"DOMLoaded\", handler: onDOMLoaded },\n { name: \"destroy\", handler: onDestroy },\n ];\n const listeners = partialListeners.filter((listener) => listener.handler != null);\n if (!listeners.length) {\n return;\n }\n const deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n (listener) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return () => {\n deregisterList.forEach((deregister) => deregister());\n };\n }, [\n onComplete,\n onLoopComplete,\n onEnterFrame,\n onSegmentStart,\n onConfigReady,\n onDataReady,\n onDataFailed,\n onLoadedImages,\n onDOMLoaded,\n onDestroy,\n ]);\n /**\n * Build the animation view\n */\n const View = React.createElement(\"div\", { style: style, ref: animationContainer, ...rest });\n return {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef: animationContainer,\n animationLoaded,\n animationItem: animationInstanceRef.current,\n };\n};\nexport default useLottie;\n","import { useEffect } from \"react\";\n// helpers\nexport function getContainerVisibility(container) {\n const { top, height } = container.getBoundingClientRect();\n const current = window.innerHeight - top;\n const max = window.innerHeight + height;\n return current / max;\n}\nexport function getContainerCursorPosition(container, cursorX, cursorY) {\n const { top, left, width, height } = container.getBoundingClientRect();\n const x = (cursorX - left) / width;\n const y = (cursorY - top) / height;\n return { x, y };\n}\nexport const useInitInteractivity = ({ wrapperRef, animationItem, mode, actions, }) => {\n useEffect(() => {\n const wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n const scrollModeHandler = () => {\n let assignedSegment = null;\n const scrollHandler = () => {\n const currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ visibility }) => visibility &&\n currentPercent >= visibility[0] &&\n currentPercent <= visibility[1]);\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" &&\n action.visibility &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const frameToGo = action.frames[0] +\n Math.ceil(((currentPercent - action.visibility[0]) /\n (action.visibility[1] - action.visibility[0])) *\n action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return () => {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n const cursorModeHandler = () => {\n const handleCursor = (_x, _y) => {\n let x = _x;\n let y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n const pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ position }) => {\n if (position &&\n Array.isArray(position.x) &&\n Array.isArray(position.y)) {\n return (x >= position.x[0] &&\n x <= position.x[1] &&\n y >= position.y[0] &&\n y <= position.y[1]);\n }\n if (position &&\n !Number.isNaN(position.x) &&\n !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" &&\n action.position &&\n Array.isArray(action.position.x) &&\n Array.isArray(action.position.y) &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const xPercent = (x - action.position.x[0]) /\n (action.position.x[1] - action.position.x[0]);\n const yPercent = (y - action.position.y[0]) /\n (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil(((xPercent + yPercent) / 2) *\n (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n const mouseMoveHandler = (ev) => {\n handleCursor(ev.clientX, ev.clientY);\n };\n const mouseOutHandler = () => {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return () => {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n};\nconst useLottieInteractivity = ({ actions, mode, lottieObj, }) => {\n const { animationItem, View, animationContainerRef } = lottieObj;\n useInitInteractivity({\n actions,\n animationItem,\n mode,\n wrapperRef: animationContainerRef,\n });\n return View;\n};\nexport default useLottieInteractivity;\n","import { useEffect } from \"react\";\nimport useLottie from \"../hooks/useLottie\";\nimport useLottieInteractivity from \"../hooks/useLottieInteractivity\";\nconst Lottie = (props) => {\n var _a, _b, _c;\n const { style, interactivity, ...lottieProps } = props;\n /**\n * Initialize the 'useLottie' hook\n */\n const { View, play, stop, pause, setSpeed, goToAndStop, goToAndPlay, setDirection, playSegments, setSubframe, getDuration, destroy, animationContainerRef, animationLoaded, animationItem, } = useLottie(lottieProps, style);\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n useEffect(() => {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play,\n stop,\n pause,\n setSpeed,\n goToAndPlay,\n goToAndStop,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\",\n });\n};\nexport default Lottie;\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime 0 && protocol.charAt(protocol.length - 1) !== ':') {\n\t\treturn protocol + ':'\n\t}\n\treturn protocol\n}\n\nmodule.exports = function makeTwemojiRenderer(options) {\n\toptions = merge({\n\t\tprotocol: pageProtocol,\n\t\tbaseUrl: '//cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/',\n\t\tsize: '72x72',\n\t\text: '.png',\n\t\tprops: null\n\t}, options)\n\n\treturn function renderTwemoji (icon, match, offset) {\n\t\tvar src = ''\n\t\tif (options.baseUrl.indexOf('http') !== 0) {\n\t\t\tsrc += normalizeProtocol(options.protocol)\n\t\t}\n\n\t\tsrc += options.baseUrl + options.size + '/' + icon + options.ext\n\n\t\treturn createElement(\n\t\t\t'img',\n\t\t\tmerge({\n\t\t\t\tkey: offset,\n\t\t\t\talt: match,\n\t\t\t\tdraggable: false,\n\t\t\t\tsrc: src,\n\t\t\t\tstyle: emojiStyle\n\t\t\t}, options.props)\n\t\t)\n\t}\n}\n\nfunction merge() {\n\tvar out = {}, len = arguments.length\n\tfor(var i = 0; i < len; ++i) {\n\t\tvar source = arguments[i]\n\t\tif (source) {\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\tout[key] = source[key]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n }\n return out\n}","var replaceStringToArray = require('string-replace-to-array')\n\n// This is based off of https://github.com/twitter/twemoji/blob/gh-pages/2/twemoji.js\n//\n// Ideally we'd use twemoji instead of replicating its logic.\n// The reason we can't is that we need to run our own replace.\n//\n// We could use it for most things (by essentially running twemoji.parse for each\n// regex match, and reading the code from the callback), but the one thing we'd always need\n// to copy and paste into this file is the regex since we need it to run the replace.\n//\n// Another option is to fork twemoji and expose a method in it that could help us, then\n// ask them to pull it in.\n//\n\n// RegExp based on emoji's official Unicode standards\n// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt\nvar re = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\udef1\\ud83c\\udffb\\u200d\\ud83e\\udef2\\ud83c[\\udffc-\\udfff]|\\ud83e\\udef1\\ud83c\\udffc\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\udef1\\ud83c\\udffd\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\udef1\\ud83c\\udffe\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\udef1\\ud83c\\udfff\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83e\\udd1d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91]|\\ud83e\\udd1d)|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd\\udec3-\\udec5\\udef0-\\udef6]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udedd-\\udedf\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb\\udff0]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcc\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7c\\ude80-\\ude86\\ude90-\\udeac\\udeb0-\\udeba\\udec0-\\udec2\\uded0-\\uded9\\udee0-\\udee7]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g\n\nfunction toCodePoint(unicodeSurrogates, sep) {\n var\n\t\tr = [],\n\t\tc = 0,\n\t\tp = 0,\n\t\ti = 0\n\t\t\n\twhile (i < unicodeSurrogates.length) {\n\t\tc = unicodeSurrogates.charCodeAt(i++)\n\t\tif (p) {\n\t\t\tr.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16))\n\t\t\tp = 0\n\t\t} else if (0xD800 <= c && c <= 0xDBFF) {\n\t\t\tp = c\n\t\t} else {\n\t\t\tr.push(c.toString(16))\n\t\t}\n\t}\n\treturn r.join(sep || '-')\n}\n\n// avoid runtime RegExp creation for not so smart,\n// not JIT based, and old browsers / engines\nvar UFE0Fg = /\\uFE0F/g\n\n// avoid using a string literal like '\\u200D' here because minifiers expand it inline\nvar U200D = String.fromCharCode(0x200D)\n\n/**\n* Used to both remove the possible variant\n* and to convert utf16 into code points.\n* If there is a zero-width-joiner (U+200D), leave the variants in.\n* @param string the raw text of the emoji match\n*/\nfunction grabTheRightIcon(rawText) {\n\t// if variant is present as \\uFE0F\n\treturn toCodePoint(rawText.indexOf(U200D) < 0 ?\n\t\trawText.replace(UFE0Fg, '') :\n\t\trawText\n\t);\n}\n\nmodule.exports = function replaceEmoji (string, render) {\n\t// Note: the latest regex added an empty matching group, so we ignore it.\n\treturn replaceStringToArray(string, re, function emojiReplacer (match, _, offset) {\n\t\tvar icon = grabTheRightIcon(match)\n\t\treturn render(icon, match, offset)\n\t})\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldUpdate2 = require('./shouldUpdate');\n\nvar _shouldUpdate3 = _interopRequireDefault(_shouldUpdate2);\n\nvar _supportsPassiveEvents = require('./supportsPassiveEvents');\n\nvar _supportsPassiveEvents2 = _interopRequireDefault(_supportsPassiveEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // eslint-disable-line import/no-unresolved\n\n\nvar noop = function noop() {};\n\nvar Headroom = function (_Component) {\n _inherits(Headroom, _Component);\n\n _createClass(Headroom, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n if (props.disable && state.state !== 'unfixed') {\n return {\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false,\n state: 'unfixed'\n };\n }\n\n return null;\n }\n }]);\n\n function Headroom(props) {\n _classCallCheck(this, Headroom);\n\n // Class variables.\n var _this = _possibleConstructorReturn(this, (Headroom.__proto__ || Object.getPrototypeOf(Headroom)).call(this, props));\n\n _this.setRef = function (ref) {\n return _this.inner = ref;\n };\n\n _this.setHeightOffset = function () {\n _this.setState({\n height: _this.inner ? _this.inner.offsetHeight : ''\n });\n _this.resizeTicking = false;\n };\n\n _this.getScrollY = function () {\n if (_this.props.parent().pageYOffset !== void 0) {\n return _this.props.parent().pageYOffset;\n } else if (_this.props.parent().scrollTop !== void 0) {\n return _this.props.parent().scrollTop;\n } else {\n return (document.documentElement || document.body.parentNode || document.body).scrollTop;\n }\n };\n\n _this.getViewportHeight = function () {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n };\n\n _this.getDocumentHeight = function () {\n var body = document.body;\n var documentElement = document.documentElement;\n\n return Math.max(body.scrollHeight, documentElement.scrollHeight, body.offsetHeight, documentElement.offsetHeight, body.clientHeight, documentElement.clientHeight);\n };\n\n _this.getElementPhysicalHeight = function (elm) {\n return Math.max(elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getElementHeight = function (elm) {\n return Math.max(elm.scrollHeight, elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getScrollerPhysicalHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getViewportHeight() : _this.getElementPhysicalHeight(parent);\n };\n\n _this.getScrollerHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getDocumentHeight() : _this.getElementHeight(parent);\n };\n\n _this.isOutOfBound = function (currentScrollY) {\n var pastTop = currentScrollY < 0;\n\n var scrollerPhysicalHeight = _this.getScrollerPhysicalHeight();\n var scrollerHeight = _this.getScrollerHeight();\n\n var pastBottom = currentScrollY + scrollerPhysicalHeight > scrollerHeight;\n\n return pastTop || pastBottom;\n };\n\n _this.handleScroll = function () {\n if (!_this.scrollTicking) {\n _this.scrollTicking = true;\n (0, _raf2.default)(_this.update);\n }\n };\n\n _this.handleResize = function () {\n if (!_this.resizeTicking) {\n _this.resizeTicking = true;\n (0, _raf2.default)(_this.setHeightOffset);\n }\n };\n\n _this.unpin = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned',\n animation: true,\n state: 'unpinned'\n });\n };\n\n _this.unpinSnap = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned headroom-disable-animation',\n animation: false,\n state: 'unpinned'\n });\n };\n\n _this.pin = function () {\n _this.props.onPin();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--pinned',\n animation: true,\n state: 'pinned'\n });\n };\n\n _this.unfix = function () {\n _this.props.onUnfix();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false\n }, function () {\n setTimeout(function () {\n _this.setState({ state: 'unfixed' });\n }, 0);\n });\n };\n\n _this.update = function () {\n _this.currentScrollY = _this.getScrollY();\n\n if (!_this.isOutOfBound(_this.currentScrollY)) {\n var _shouldUpdate = (0, _shouldUpdate3.default)(_this.lastKnownScrollY, _this.currentScrollY, _this.props, _this.state),\n action = _shouldUpdate.action;\n\n if (action === 'pin') {\n _this.pin();\n } else if (action === 'unpin') {\n _this.unpin();\n } else if (action === 'unpin-snap') {\n _this.unpinSnap();\n } else if (action === 'unfix') {\n _this.unfix();\n }\n }\n\n _this.lastKnownScrollY = _this.currentScrollY;\n _this.scrollTicking = false;\n };\n\n _this.currentScrollY = 0;\n _this.lastKnownScrollY = 0;\n _this.scrollTicking = false;\n _this.resizeTicking = false;\n _this.eventListenerOptions = false;\n _this.state = {\n state: 'unfixed',\n translateY: 0,\n className: 'headroom headroom--unfixed'\n };\n return _this;\n }\n\n _createClass(Headroom, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.setHeightOffset();\n\n this.eventListenerOptions = (0, _supportsPassiveEvents2.default)() ? { passive: true, capture: false } : false;\n\n if (!this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state, nextState);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // If children have changed, remeasure height.\n if (prevProps.children !== this.props.children) {\n this.setHeightOffset();\n }\n\n // Add/remove event listeners when re-enabled/disabled\n if (!prevProps.disable && this.props.disable) {\n this.props.parent().removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n this.props.parent().removeEventListener('resize', this.handleResize, this.eventListenerOptions);\n\n if (prevState.state !== 'unfixed' && this.state.state === 'unfixed') {\n this.props.onUnfix();\n }\n } else if (prevProps.disable && !this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n }\n\n if (prevProps.pin !== this.props.pin) {\n this.handleScroll();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.parent()) {\n this.props.parent().removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n this.props.parent().removeEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n window.removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n userClassName = _props.className,\n Tag = _props.tag,\n divProps = _objectWithoutProperties(_props, ['className', 'tag']);\n\n delete divProps.onUnpin;\n delete divProps.onPin;\n delete divProps.onUnfix;\n delete divProps.disableInlineStyles;\n delete divProps.disable;\n delete divProps.pin;\n delete divProps.parent;\n delete divProps.children;\n delete divProps.upTolerance;\n delete divProps.downTolerance;\n delete divProps.pinStart;\n delete divProps.calcHeightOnResize;\n\n var style = divProps.style,\n wrapperStyle = divProps.wrapperStyle,\n rest = _objectWithoutProperties(divProps, ['style', 'wrapperStyle']);\n\n var innerStyle = {\n position: this.props.disable || this.state.state === 'unfixed' ? 'relative' : 'fixed',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n WebkitTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n MsTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n transform: 'translate3D(0, ' + this.state.translateY + ', 0)'\n };\n\n var className = this.state.className;\n\n // Don't add css transitions until after we've done the initial\n // negative transform when transitioning from 'unfixed' to 'unpinned'.\n // If we don't do this, the header will flash into view temporarily\n // while it transitions from 0 — -100%.\n if (this.state.animation) {\n innerStyle = _extends({}, innerStyle, {\n WebkitTransition: 'all .2s ease-in-out',\n MozTransition: 'all .2s ease-in-out',\n OTransition: 'all .2s ease-in-out',\n transition: 'all .2s ease-in-out'\n });\n className += ' headroom--scrolled';\n }\n\n if (!this.props.disableInlineStyles) {\n innerStyle = _extends({}, innerStyle, style);\n } else {\n innerStyle = style;\n }\n\n var wrapperStyles = _extends({}, wrapperStyle, {\n height: this.state.height ? this.state.height : null\n });\n\n var wrapperClassName = userClassName ? userClassName + ' headroom-wrapper' : 'headroom-wrapper';\n\n return _react2.default.createElement(\n Tag,\n { style: wrapperStyles, className: wrapperClassName },\n _react2.default.createElement(\n 'div',\n _extends({\n ref: this.setRef\n }, rest, {\n style: innerStyle,\n className: className\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return Headroom;\n}(_react.Component);\n\nHeadroom.propTypes = {\n className: _propTypes2.default.string,\n parent: _propTypes2.default.func,\n children: _propTypes2.default.any.isRequired,\n disableInlineStyles: _propTypes2.default.bool,\n disable: _propTypes2.default.bool,\n pin: _propTypes2.default.bool,\n upTolerance: _propTypes2.default.number,\n downTolerance: _propTypes2.default.number,\n onPin: _propTypes2.default.func,\n onUnpin: _propTypes2.default.func,\n onUnfix: _propTypes2.default.func,\n wrapperStyle: _propTypes2.default.object,\n pinStart: _propTypes2.default.number,\n style: _propTypes2.default.object,\n calcHeightOnResize: _propTypes2.default.bool,\n tag: _propTypes2.default.string\n};\nHeadroom.defaultProps = {\n parent: function parent() {\n return window;\n },\n disableInlineStyles: false,\n disable: false,\n pin: false,\n upTolerance: 5,\n downTolerance: 0,\n onPin: noop,\n onUnpin: noop,\n onUnfix: noop,\n wrapperStyle: {},\n pinStart: 0,\n calcHeightOnResize: true,\n tag: 'div'\n};\nexports.default = Headroom;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var lastKnownScrollY = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n var currentScrollY = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var props = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var state = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};\n\n var scrollDirection = currentScrollY >= lastKnownScrollY ? 'down' : 'up';\n var distanceScrolled = Math.abs(currentScrollY - lastKnownScrollY);\n\n // We're disabled\n if (props.disable) {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're pinned\n };\n } else if (props.pin) {\n return {\n action: state.state !== 'pinned' ? 'pin' : 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're at the top and not fixed yet.\n };\n } else if (currentScrollY <= props.pinStart && state.state !== 'unfixed') {\n return {\n action: 'unfix',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're unfixed and headed down. Carry on.\n };\n } else if (currentScrollY <= state.height && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else if (currentScrollY > state.height + props.pinStart && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'unpin-snap',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're past the header and scrolling down.\n // We transition to \"unpinned\" if necessary.\n };\n } else if (scrollDirection === 'down' && ['pinned', 'unfixed'].indexOf(state.state) >= 0 && currentScrollY > state.height + props.pinStart && distanceScrolled > props.downTolerance) {\n return {\n action: 'unpin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, we transition to \"pinned\"\n };\n } else if (scrollDirection === 'up' && distanceScrolled > props.upTolerance && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, and inside the header.\n // We transition to pin regardless of upTolerance\n };\n } else if (scrollDirection === 'up' && currentScrollY <= state.height && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = supportsPassiveEvents;\n/**\n * Used to detect browser support for adding an event listener with options\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners\n * @returns Boolean\n */\nfunction supportsPassiveEvents() {\n var passiveSupported = false;\n\n try {\n var options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n passiveSupported = true;\n return false;\n }\n };\n\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}","const VALIDATOR_ARG_ERROR_MESSAGE =\n 'The typeValidator argument must be a function ' +\n 'with the signature function(props, propName, componentName).';\n\nconst MESSAGE_ARG_ERROR_MESSAGE =\n 'The error message is optional, but must be a string if provided.';\n\nconst propIsRequired = (condition, props, propName, componentName) => {\n if (typeof condition === 'boolean') {\n return condition;\n } else if (typeof condition === 'function') {\n return condition(props, propName, componentName);\n } else if (Boolean(condition) === true) {\n return Boolean(condition);\n }\n\n return false;\n};\n\nconst propExists = (props, propName) => Object.hasOwnProperty.call(props, propName);\n\nconst missingPropError = (props, propName, componentName, message) => {\n if (message) {\n return new Error(message);\n }\n\n return new Error(\n `Required ${props[propName]} \\`${propName}\\`` +\n ` was not specified in \\`${componentName}\\`.`,\n );\n};\n\nconst guardAgainstInvalidArgTypes = (typeValidator, message) => {\n if (typeof typeValidator !== 'function') {\n throw new TypeError(VALIDATOR_ARG_ERROR_MESSAGE);\n }\n\n if (Boolean(message) && typeof message !== 'string') {\n throw new TypeError(MESSAGE_ARG_ERROR_MESSAGE);\n }\n};\n\nconst isRequiredIf = (typeValidator, condition, message) => {\n guardAgainstInvalidArgTypes(typeValidator, message);\n\n return (props, propName, componentName, ...rest) => {\n if (propIsRequired(condition, props, propName, componentName)) {\n if (propExists(props, propName)) {\n return typeValidator(props, propName, componentName, ...rest);\n }\n\n return missingPropError(props, propName, componentName, message);\n }\n\n // Is not required, so just run typeValidator.\n return typeValidator(props, propName, componentName, ...rest);\n };\n};\n\nexport default isRequiredIf;\n","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,n){var r={};for(var t in o)n.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,n){var r=n.left,t=n.right,e=n.up,a=n.down,p=n.top,i=n.bottom,s=n.mirror,l=n.opposite,u=(r?1:0)|(t?2:0)|(p||a?4:0)|(i||e?8:0)|(s?16:0)|(l?32:0)|(o?64:0);if(lookup.hasOwnProperty(u))return lookup[u];if(!s!=!(o&&l)){var d=[t,r,i,p,a,e];r=d[0],t=d[1],p=d[2],i=d[3],e=d[4],a=d[5]}var f=r||t,c=p||i||e||a,m=f||c,y=void 0,v=void 0,_=void 0,b=void 0,x=void 0,T=void 0,g=void 0,h=void 0,k=void 0,w=void 0,q=void 0,O=void 0,P=void 0,j=void 0;return o?(b=f?(t?\"-\":\"\")+\"20px\":0,x=c?(e||i?\"\":\"-\")+\"10px\":\"0\",T=(a||p?\"\":\"-\")+\"20px\",P=f?(r?\"-\":\"\")+\"2000px\":\"0\",j=c?(a||p?\"-\":\"\")+\"2000px\":\"0\"):(v=f?(r?\"-\":\"\")+\"3000px\":\"0\",_=c?(a||p?\"-\":\"\")+\"3000px\":\"0\",g=f?(t?\"-\":\"\")+\"25px\":\"0\",h=c?(e||i?\"-\":\"\")+\"25px\":\"0\",k=f?(r?\"-\":\"\")+\"10px\":\"0\",w=c?(a||p?\"-\":\"\")+\"10px\":\"0\",q=f?(t?\"-\":\"\")+\"5px\":\"0\",O=c?(e||i?\"-\":\"\")+\"5px\":\"0\"),y=m?o?\"\\n 20% {\\n transform: translate3d(\"+b+\", \"+x+\", 0);\\n }\\n \"+(c?\"40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, \"+T+\", 0);\\n }\":\"\")+\"\\n to {\\n opacity: 0;\\n transform: translate3d(\"+P+\", \"+j+\", 0);\\n }\\n \":\"from, 60%, 75%, 90%, to {\\n animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\\n }\\n from {\\n opacity: 0;\\n transform: translate3d(\"+v+\", \"+_+\", 0);\\n }\\n 60% {\\n opacity: 1;\\n transform: translate3d(\"+g+\", \"+h+\", 0);\\n }\\n 75% {\\n transform: translate3d(\"+k+\", \"+w+\", 0);\\n }\\n 90% {\\n transform: translate3d(\"+q+\", \"+O+\", 0);\\n }\\n to {\\n transform: none;\\n }\":o?\"20% {\\n transform: scale3d(.9, .9, .9);\\n }\\n 50%, 55% {\\n opacity: 1;\\n transform: scale3d(1.1, 1.1, 1.1);\\n }\\n to {\\n opacity: 0;\\n transform: scale3d(.3, .3, .3);\\n }\":\"from, 20%, 40%, 60%, 80%, to {\\n animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\\n }\\n 0% {\\n opacity: 0;\\n transform: scale3d(.3, .3, .3);\\n }\\n 20% {\\n transform: scale3d(1.1, 1.1, 1.1);\\n }\\n 40% {\\n transform: scale3d(.9, .9, .9);\\n }\\n 60% {\\n opacity: 1;\\n transform: scale3d(1.03, 1.03, 1.03);\\n }\\n 80% {\\n transform: scale3d(.97, .97, .97);\\n }\\n to {\\n opacity: 1;\\n transform: scale3d(1, 1, 1);\\n }\",lookup[u]=(0,_globals.animation)(y),lookup[u]}function Bounce(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,n=o.children,r=(o.out,o.forever),t=o.timeout,e=o.duration,a=void 0===e?_globals.defaults.duration:e,p=o.delay,i=void 0===p?_globals.defaults.delay:p,s=o.count,l=void 0===s?_globals.defaults.count:s,u=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?a:t,delay:i,forever:r,count:l,style:{animationFillMode:\"both\"},reverse:u.left};return(0,_wrap2.default)(u,d,d,n)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Bounce.propTypes=propTypes,exports.default=Bounce,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.distance,t=e.left,p=e.right,a=e.up,l=e.down,i=e.top,u=e.bottom,n=e.big,s=e.mirror,d=e.opposite,_=(r?r.toString():0)+((t?1:0)|(p?2:0)|(i||l?4:0)|(u||a?8:0)|(s?16:0)|(d?32:0)|(o?64:0)|(n?128:0));if(lookup.hasOwnProperty(_))return lookup[_];var f=t||p||a||l||i||u,y=void 0,b=void 0;if(f){if(!s!=!(o&&d)){var v=[p,t,u,i,l,a];t=v[0],p=v[1],i=v[2],u=v[3],a=v[4],l=v[5]}var c=r||(n?\"2000px\":\"100%\");y=t?\"-\"+c:p?c:\"0\",b=l||i?\"-\"+c:a||u?c:\"0\"}return lookup[_]=(0,_globals.animation)((o?\"to\":\"from\")+\" {opacity: 0;\"+(f?\" transform: translate3d(\"+y+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none;} \"),lookup[_]}function Fade(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=o.children,t=(o.out,o.forever),p=o.timeout,a=o.duration,l=void 0===a?_globals.defaults.duration:a,i=o.delay,u=void 0===i?_globals.defaults.delay:i,n=o.count,s=void 0===n?_globals.defaults.count:n,d=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),_={make:make,duration:void 0===p?l:p,delay:u,forever:t,count:s,style:{animationFillMode:\"both\"},reverse:d.left};return e?(0,_wrap2.default)(d,_,_,r):_}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,distance:_propTypes.string,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Fade.propTypes=propTypes,exports.default=Fade,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,o){var t={};for(var r in e)o.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}function make(e,o){var t=o.left,r=o.right,n=o.top,p=o.bottom,i=o.x,a=o.y,s=o.mirror,l=o.opposite,u=(t?1:0)|(r||a?2:0)|(n||i?4:0)|(p?8:0)|(s?16:0)|(l?32:0)|(e?64:0);if(lookup.hasOwnProperty(u))return lookup[u];if(!s!=!(e&&l)){var d=[r,t,p,n,a,i];t=d[0],r=d[1],n=d[2],p=d[3],i=d[4],a=d[5]}var f=void 0;if(i||a||t||r||n||p){var m=i||n||p?(p?\"-\":\"\")+\"1\":\"0\",c=a||r||t?(t?\"-\":\"\")+\"1\":\"0\";f=e?\"from {\\n transform: perspective(400px);\\n }\\n 30% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -15deg);\\n opacity: 1;\\n }\\n to {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 90deg);\\n opacity: 0;\\n }\":\"from {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 90deg);\\n animation-timing-function: ease-in;\\n opacity: 0;\\n }\\n 40% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -20deg);\\n animation-timing-function: ease-in;\\n }\\n 60% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 10deg);\\n opacity: 1;\\n }\\n 80% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -5deg);\\n }\\n to {\\n transform: perspective(400px);\\n }\"}else f=\"from {\\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n animation-timing-function: ease-out;\\n opacity: \"+(e?\"1\":\"0\")+\";\\n }\\n 40% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n animation-timing-function: ease-out;\\n }\\n 50% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n animation-timing-function: ease-in;\\n }\\n to {\\n transform: perspective(400px);\\n animation-timing-function: ease-in;\\n opacity: \"+(e?\"0\":\"1\")+\";\\n }\";return lookup[u]=(0,_globals.animation)(f),lookup[u]}function Flip(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,o=e.children,t=(e.out,e.forever),r=e.timeout,n=e.duration,p=void 0===n?_globals.defaults.duration:n,i=e.delay,a=void 0===i?_globals.defaults.delay:i,s=e.count,l=void 0===s?_globals.defaults.count:s,u=_objectWithoutProperties(e,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===r?p:r,delay:a,forever:t,count:l,style:{animationFillMode:\"both\",backfaceVisibility:\"visible\"}};return(0,_wrap2.default)(u,d,d,o)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Flip.propTypes=propTypes,exports.default=Flip,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.mirror,n=e.opposite,a=(r?1:0)|(t?2:0)|(p?16:0)|(n?32:0)|(o?64:0);if(lookup.hasOwnProperty(a))return lookup[a];if(!p!=!(o&&n)){var i=[t,r];r=i[0],t=i[1]}var l=r?\"-100%\":t?\"100%\":\"0\",u=o?\"from {\\n opacity: 1;\\n }\\n to {\\n transform: translate3d(\"+l+\", 0, 0) skewX(30deg);\\n opacity: 0;\\n }\\n \":\"from {\\n transform: translate3d(\"+l+\", 0, 0) skewX(-30deg);\\n opacity: 0;\\n }\\n 60% {\\n transform: skewX(20deg);\\n opacity: 1;\\n }\\n 80% {\\n transform: skewX(-5deg);\\n opacity: 1;\\n }\\n to {\\n transform: none;\\n opacity: 1;\\n }\";return lookup[a]=(0,_globals.animation)(u),lookup[a]}function LightSpeed(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,n=void 0===p?_globals.defaults.duration:p,a=o.delay,i=void 0===a?_globals.defaults.delay:a,l=o.count,u=void 0===l?_globals.defaults.count:l,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?n:t,delay:i,forever:r,count:u,style:{animationFillMode:\"both\"}};s.left,s.right,s.mirror,s.opposite;return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};LightSpeed.propTypes=propTypes,exports.default=LightSpeed,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){var r={};for(var o in e)t.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}function Reveal(e){function t(e){return e?_?{duration:n,delay:f,count:s,forever:d,className:_,style:{}}:y:i?{duration:void 0===o?u:o,delay:p,count:a,forever:l,className:i,style:{}}:c}var r=e.children,o=e.timeout,u=e.duration,p=e.delay,a=e.count,l=e.forever,n=e.durationOut,f=e.delayOut,s=e.countOut,d=e.foreverOut,i=e.effect,_=e.effectOut,c=e.inEffect,y=e.outEffect,O=_objectWithoutProperties(e,[\"children\",\"timeout\",\"duration\",\"delay\",\"count\",\"forever\",\"durationOut\",\"delayOut\",\"countOut\",\"foreverOut\",\"effect\",\"effectOut\",\"inEffect\",\"outEffect\"]);return(0,_wrap2.default)(O,t(!1),t(!0),r)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t>2,l=a>>1;n=a,r=i.delay+(this.isOn?0:s-a-l),e.style.animationDuration=s-a+(this.isOn?l:-l)+\"ms\",e.style.animationDelay=i.delay+(this.isOn?a-l:0)+\"ms\"}return e.collapse={height:o,transition:\"height \"+n+\"ms ease \"+r+\"ms\",overflow:t.collapseOnly?\"hidden\":void 0},e}},{key:\"animate\",value:function(e){if(this&&this.el&&(this.unlisten(),this.isShown!==this.isOn)){this.isShown=this.isOn;var t=!this.isOn&&e.outEffect,i=e[t?\"outEffect\":\"inEffect\"],s=\"style\"in i&&i.style.animationName||void 0,o=void 0;e.collapseOnly?o={hasAppeared:!0,hasExited:!1,style:{opacity:1}}:((e.outEffect||this.isOn)&&i.make&&(s=i.make),o={hasAppeared:!0,hasExited:!1,collapse:void 0,style:_extends({},i.style,{animationDuration:i.duration+\"ms\",animationDelay:i.delay+\"ms\",animationIterationCount:i.forever?\"infinite\":i.count,opacity:1,animationName:s}),className:i.className}),this.setState(e.collapse?this.collapse(o,e,i):o),t?(this.savedChild=_react2.default.cloneElement(this.getChild()),this.animationEnd(this.invisible,e.cascade,i)):this.savedChild=!1,this.onReveal(e)}}},{key:\"onReveal\",value:function(e){e.onReveal&&this.isOn&&(this.onRevealTimeout&&(this.onRevealTimeout=window.clearTimeout(this.onRevealTimeout)),e.wait?this.onRevealTimeout=window.setTimeout(e.onReveal,e.wait):e.onReveal())}},{key:\"componentWillUnmount\",value:function(){this.unlisten(),_globals.ssr&&(0,_globals.disableSsr)()}},{key:\"handleObserve\",value:function(e,t){_slicedToArray(e,1)[0].intersectionRatio>0&&(t.disconnect(),this.observer=null,this.reveal(this.props,!0))}},{key:\"observe\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.el&&_globals.observerMode){if(this.observer){if(!t)return;this.observer.disconnect()}else if(t)return;this.observer=new IntersectionObserver(this.handleObserve,{threshold:e.fraction}),this.observer.observe(this.el)}}},{key:\"reveal\",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];_globals.globalHide||(0,_globals.hideAll)(),this&&this.el&&(e||(e=this.props),_globals.ssr&&(0,_globals.disableSsr)(),this.isOn&&this.isShown&&void 0!==e.spy?(this.isShown=!1,this.setState({style:{}}),window.setTimeout(function(){return t.reveal(e)},200)):i||this.inViewport(e)||e.force?this.animate(e):_globals.observerMode?this.observe(e):this.listen())}},{key:\"componentDidMount\",value:function(){var e=this;if(this.el&&!this.props.disabled){this.props.collapseOnly||(\"make\"in this.props.inEffect&&this.props.inEffect.make(!1,this.props),void 0!==this.props.when&&this.props.outEffect&&\"make\"in this.props.outEffect&&this.props.outEffect.make(!0,this.props));var i=this.context.transitionGroup,s=i&&!i.isMounting?!(\"enter\"in this.props&&!1===this.props.enter):this.props.appear;return this.isOn&&((void 0!==this.props.when||void 0!==this.props.spy)&&!s||_globals.ssr&&!_globals.fadeOutEnabled&&!this.props.ssrFadeout&&this.props.outEffect&&!this.props.ssrReveal&&t.getTop(this.el)o-window.innerHeight&&s=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,l=e.down,a=e.top,u=e.bottom,i=e.big,n=e.mirror,s=e.opposite,d=(r?1:0)|(t?2:0)|(a||l?4:0)|(u||p?8:0)|(n?16:0)|(s?32:0)|(o?64:0)|(i?128:0);if(lookup.hasOwnProperty(d))return lookup[d];if(!n!=!(o&&s)){var _=[t,r,u,a,l,p];r=_[0],t=_[1],a=_[2],u=_[3],p=_[4],l=_[5]}var y=i?\"2000px\":\"100%\",b=r?\"-\"+y:t?y:\"0\",f=l||a?\"-\"+y:p||u?y:\"0\";return lookup[d]=(0,_globals.animation)(\"\\n \"+(o?\"to\":\"from\")+\" {opacity: 0;transform: translate3d(\"+b+\", \"+f+\", 0) rotate3d(0, 0, 1, -120deg);}\\n\\t \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none}\\n \"),lookup[d]}function Roll(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,l=void 0===p?_globals.defaults.duration:p,a=o.delay,u=void 0===a?_globals.defaults.delay:a,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?l:t,delay:u,forever:r,count:n,style:{animationFillMode:\"both\"}};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Roll.propTypes=propTypes,exports.default=Roll,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,a=e.down,l=e.top,u=e.bottom,i=e.mirror,n=e.opposite,s=(r?1:0)|(t?2:0)|(l||a?4:0)|(u||p?8:0)|(i?16:0)|(n?32:0)|(o?64:0);if(lookup.hasOwnProperty(s))return lookup[s];if(!i!=!(o&&n)){var d=[t,r,u,l,a,p];r=d[0],t=d[1],l=d[2],u=d[3],p=d[4],a=d[5]}var f=\"-200deg\",_=\"center\";return(a||l)&&r&&(f=\"-45deg\"),((a||l)&&t||(p||u)&&r)&&(f=\"45deg\"),(p||u)&&t&&(f=\"-90deg\"),(r||t)&&(_=(r?\"left\":\"right\")+\" bottom\"),lookup[s]=(0,_globals.animation)(\"\\n \"+(o?\"to\":\"from\")+\" { opacity: 0; transform-origin: \"+_+\"; transform: rotate3d(0, 0, 1, \"+f+\");}\\n \"+(o?\"from\":\"to\")+\" { opacity: 1; transform-origin: \"+_+\"; transform: none;}\\n \"),lookup[s]}function Rotate(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,a=void 0===p?_globals.defaults.duration:p,l=o.delay,u=void 0===l?_globals.defaults.delay:l,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?a:t,delay:u,forever:r,count:n,style:{animationFillMode:\"both\"}};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Rotate.propTypes=propTypes,exports.default=Rotate,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,l=e.down,u=e.top,a=e.bottom,i=e.big,n=e.mirror,s=e.opposite,d=(r?1:0)|(t?2:0)|(u||l?4:0)|(a||p?8:0)|(n?16:0)|(s?32:0)|(o?64:0)|(i?128:0);if(lookup.hasOwnProperty(d))return lookup[d];var _=r||t||p||l||u||a,f=void 0,b=void 0;if(_){if(!n!=!(o&&s)){var y=[t,r,a,u,l,p];r=y[0],t=y[1],u=y[2],a=y[3],p=y[4],l=y[5]}var m=i?\"2000px\":\"100%\";f=r?\"-\"+m:t?m:\"0\",b=l||u?\"-\"+m:p||a?m:\"0\"}return lookup[d]=(0,_globals.animation)((o?\"to\":\"from\")+\" {\"+(_?\" transform: translate3d(\"+f+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {transform: none;} \"),lookup[d]}function Slide(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,l=void 0===p?_globals.defaults.duration:p,u=o.delay,a=void 0===u?_globals.defaults.delay:u,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?l:t,delay:a,forever:r,count:n,style:{animationFillMode:\"both\"},reverse:s.left};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Slide.propTypes=propTypes,exports.default=Slide,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,n=e.down,a=e.top,i=e.bottom,l=e.mirror,u=e.opposite,s=(r?1:0)|(t?2:0)|(a||n?4:0)|(i||p?8:0)|(l?16:0)|(u?32:0)|(o?64:0);if(lookup.hasOwnProperty(s))return lookup[s];if(!l!=!(o&&u)){var d=[t,r,i,a,n,p];r=d[0],t=d[1],a=d[2],i=d[3],p=d[4],n=d[5]}var f=r||t,c=a||i||p||n,m=f||c,y=void 0,b=void 0,_=void 0,v=void 0,T=void 0;return m?o?(b=f?(r?\"\":\"-\")+\"42px\":\"0\",_=c?(n||a?\"-\":\"\")+\"60px\":\"0\",v=f?(t?\"\":\"-\")+\"2000px\":\"0\",T=c?(p||i?\"\":\"-\")+\"2000px\":\"0\",y=\"40% {\\n opacity: 1;\\n transform: scale3d(.475, .475, .475) translate3d(\"+b+\", \"+_+\", 0);\\n }\\n to {\\n opacity: 0;\\n transform: scale(.1) translate3d(\"+v+\", \"+T+\", 0);\\n transform-origin: \"+(c?\"center bottom\":(r?\"left\":\"right\")+\" center\")+\";\\n }\"):(b=f?(r?\"-\":\"\")+\"1000px\":\"0\",_=c?(n||a?\"-\":\"\")+\"1000px\":\"0\",v=f?(t?\"-\":\"\")+\"10px\":\"0\",T=c?(p||i?\"-\":\"\")+\"60px\":\"0\",y=\"from {\\n opacity: 0;\\n transform: scale3d(.1, .1, .1) translate3d(\"+b+\", \"+_+\", 0);\\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\\n }\\n 60% {\\n opacity: 1;\\n transform: scale3d(.475, .475, .475) translate3d(\"+v+\", \"+T+\", 0);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\\n }\"):y=(o?\"to\":\"from\")+\" {opacity: 0; transform: scale3d(.1, .1, .1);} \"+(o?\"from\":\"to\")+\" { opacity: 1; transform: none;}\",lookup[s]=(0,_globals.animation)(y),lookup[s]}function Zoom(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,n=void 0===p?_globals.defaults.duration:p,a=o.delay,i=void 0===a?_globals.defaults.delay:a,l=o.count,u=void 0===l?_globals.defaults.count:l,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?n:t,delay:i,forever:r,count:u,style:{animationFillMode:\"both\"},reverse:s.left};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Zoom.propTypes=propTypes,exports.default=Zoom,module.exports=exports.default;","\"use strict\";function insertRule(e){try{return sheet.insertRule(e,sheet.cssRules.length)}catch(e){console.warn(\"react-reveal - animation failed\")}}function cascade(e,n,t,o,r){var s=Math.log(o),i=Math.log(r),a=(i-s)/(t-n);return Math.exp(s+a*(e-n))}function animation(e){if(!sheet)return\"\";var n=\"@keyframes \"+(name+counter)+\"{\"+e+\"}\",t=effectMap[e];return t?\"\"+name+t:(sheet.insertRule(n,sheet.cssRules.length),effectMap[e]=counter,\"\"+name+counter++)}function hideAll(){globalHide||(exports.globalHide=globalHide=!0,window.removeEventListener(\"scroll\",hideAll,!0),insertRule(\".\"+namespace+\" { opacity: 0; }\"),window.removeEventListener(\"orientationchange\",hideAll,!0),window.document.removeEventListener(\"visibilitychange\",hideAll))}function config(e){var n=e.ssrFadeout;exports.fadeOutEnabled=fadeOutEnabled=n}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.insertRule=insertRule,exports.cascade=cascade,exports.animation=animation,exports.hideAll=hideAll,exports.default=config;var namespace=exports.namespace=\"react-reveal\",defaults=exports.defaults={duration:1e3,delay:0,count:1},ssr=exports.ssr=!0,observerMode=exports.observerMode=!1,raf=exports.raf=function(e){return window.setTimeout(e,66)},disableSsr=exports.disableSsr=function(){return exports.ssr=ssr=!1},fadeOutEnabled=exports.fadeOutEnabled=!1,ssrFadeout=exports.ssrFadeout=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return exports.fadeOutEnabled=fadeOutEnabled=e},globalHide=exports.globalHide=!1,ie10=exports.ie10=!1,collapseend=exports.collapseend=void 0,counter=1,effectMap={},sheet=!1,name=namespace+\"-\"+Math.floor(1e15*Math.random())+\"-\";if(\"undefined\"!=typeof window&&\"nodejs\"!==window.name&&window.document&&\"undefined\"!=typeof navigator){exports.observerMode=observerMode=\"IntersectionObserver\"in window&&\"IntersectionObserverEntry\"in window&&\"intersectionRatio\"in window.IntersectionObserverEntry.prototype&&/\\{\\s*\\[native code\\]\\s*\\}/.test(\"\"+IntersectionObserver),exports.raf=raf=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||raf,exports.ssr=ssr=window.document.querySelectorAll(\"div[data-reactroot]\").length>0,-1!==navigator.appVersion.indexOf(\"MSIE 10\")&&(exports.ie10=ie10=!0),ssr&&\"performance\"in window&&\"timing\"in window.performance&&\"domContentLoadedEventEnd\"in window.performance.timing&&window.performance.timing.domLoading&&Date.now()-window.performance.timing.domLoading<300&&(exports.ssr=ssr=!1),ssr&&window.setTimeout(disableSsr,1500),observerMode||(exports.collapseend=collapseend=document.createEvent(\"Event\"),collapseend.initEvent(\"collapseend\",!0,!0));var element=document.createElement(\"style\");document.head.appendChild(element),element.sheet&&element.sheet.cssRules&&element.sheet.insertRule&&(sheet=element.sheet,window.addEventListener(\"scroll\",hideAll,!0),window.addEventListener(\"orientationchange\",hideAll,!0),window.document.addEventListener(\"visibilitychange\",hideAll))}","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,\"__esModule\",{value:!0});var _Reveal=require(\"./Reveal\");Object.defineProperty(exports,\"default\",{enumerable:!0,get:function(){return _interopRequireDefault(_Reveal).default}});var _Fade=require(\"./Fade\");Object.defineProperty(exports,\"Fade\",{enumerable:!0,get:function(){return _interopRequireDefault(_Fade).default}});var _Bounce=require(\"./Bounce\");Object.defineProperty(exports,\"Bounce\",{enumerable:!0,get:function(){return _interopRequireDefault(_Bounce).default}});var _Roll=require(\"./Roll\");Object.defineProperty(exports,\"Roll\",{enumerable:!0,get:function(){return _interopRequireDefault(_Roll).default}});var _Slide=require(\"./Slide\");Object.defineProperty(exports,\"Slide\",{enumerable:!0,get:function(){return _interopRequireDefault(_Slide).default}});var _Flip=require(\"./Flip\");Object.defineProperty(exports,\"Flip\",{enumerable:!0,get:function(){return _interopRequireDefault(_Flip).default}}),Object.defineProperty(exports,\"Reveal\",{enumerable:!0,get:function(){return _interopRequireDefault(_Reveal).default}});var _Rotate=require(\"./Rotate\");Object.defineProperty(exports,\"Rotate\",{enumerable:!0,get:function(){return _interopRequireDefault(_Rotate).default}});var _LightSpeed=require(\"./LightSpeed\");Object.defineProperty(exports,\"LightSpeed\",{enumerable:!0,get:function(){return _interopRequireDefault(_LightSpeed).default}});var _Zoom=require(\"./Zoom\");Object.defineProperty(exports,\"Zoom\",{enumerable:!0,get:function(){return _interopRequireDefault(_Zoom).default}});","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function wrap(e,t,a,r){return\"in\"in e&&(e.when=e.in),_react2.default.Children.count(r)<2?_react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r})):(r=_react2.default.Children.map(r,function(r){return _react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r}))}),\"Fragment\"in _react2.default?_react2.default.createElement(_react2.default.Fragment,null,r):_react2.default.createElement(\"span\",null,r))}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;tQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 0) {\n\t\tvar arr = []\n\t\tvar endIndex = index + patternString.length\n\n\t\tif (index > 0) {\n\t\t\tarr.push(string.substring(0, index))\n\t\t}\n\n\t\tarr.push(\n\t\t\t(typeof newValueOrFn === 'function') ?\n\t\t\t\tnewValueOrFn(\n\t\t\t\t\tstring.substring(index, endIndex),\n\t\t\t\t\tindex + globalOffset,\n\t\t\t\t\tstring\n\t\t\t\t) :\n\t\t\t\tnewValueOrFn\n\t\t)\n\n\t\tif (endIndex < string.length) {\n\t\t\tarr.push(string.substring(endIndex))\n\t\t}\n\n\t\treturn arr\n\t} else {\n\t\treturn [string]\n\t}\n}\n\nfunction replaceUsingRegexp (string, regexp, newValueOrFn, globalOffset) {\n\tvar output = []\n\n\tvar replacerIsFn = (typeof newValueOrFn === 'function')\n\n\tvar storedLastIndex = regexp.lastIndex\n\tregexp.lastIndex = 0\n\n\tvar result\n\tvar lastIndex = 0\n\twhile (result = regexp.exec(string)) {\n\t\tvar index = result.index\n\n\t\tif (result[0] === '') {\n\t\t\t// When the regexp is an empty string\n\t\t\t// we still want to advance our cursor to the next item.\n\t\t\t// This is the behavior of String.replace.\n\t\t\tregexp.lastIndex++\n\t\t}\n\n\t\tif (index !== lastIndex) {\n\t\t\toutput.push(string.substring(lastIndex, index))\n\t\t}\n\n\t\tvar match = result[0]\n\t\tlastIndex = index + match.length\n\t\t\n\t\tvar out = replacerIsFn ?\n\t\t\tnewValueOrFn.apply(this, result.concat(index + globalOffset, result.input)) :\n\t\t\tnewValueOrFn\n\t\toutput.push(out)\n\n\t\tif (!regexp.global) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif (lastIndex < string.length) {\n\t\toutput.push(string.substring(lastIndex))\n\t}\n\n\tregexp.lastIndex = storedLastIndex\n\treturn output\n}\n\nmodule.exports = function stringReplaceToArray (stringOrArray, regexpOrSubstr, newSubStrOrFn) {\n\tif (typeof stringOrArray === 'string') {\n\t\treturn replace(stringOrArray, regexpOrSubstr, newSubStrOrFn, 0)\n\t} else if (!Array.isArray(stringOrArray) || !stringOrArray[0]) {\n\t\tthrow new TypeError('First argument must be an array or non-empty string')\n\t} else {\n\t\tvar len = stringOrArray.length\n\t\tvar output = []\n\t\tvar globalOffset = 0\n\t\tfor (var i = 0; i < len; ++i) {\n\t\t\tvar arrayItem = stringOrArray[i]\n\t\t\tif (typeof arrayItem === 'string') {\n\t\t\t\toutput.push.apply(output, replace(arrayItem, regexpOrSubstr, newSubStrOrFn, globalOffset))\n\t\t\t\tglobalOffset += arrayItem.length\n\t\t\t} else {\n\t\t\t\toutput.push(arrayItem)\n\t\t\t}\n\t\t}\n\t\treturn output\n\t}\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"64\":\"56dc6704\",\"769\":\"bda0d7b7\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + {\"64\":\"72f054a2\",\"769\":\"b3cbb36b\"}[chunkId] + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"developerfolio:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"64\":1,\"769\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdeveloperfolio\"] = self[\"webpackChunkdeveloperfolio\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import React from \"react\";\n\nconst StyleContext = React.createContext();\n\nexport const StyleProvider = StyleContext.Provider;\nexport const StyleConsumer = StyleContext.Consumer;\n\nexport default StyleContext;\n","import React, {useState, useContext} from \"react\";\nimport emoji from \"react-easy-emoji\";\nimport StyleContext from \"../../contexts/StyleContext\";\nimport \"./ToggleSwitch.scss\";\n\nconst ToggleSwitch = () => {\n const {isDark} = useContext(StyleContext);\n const [isChecked, setChecked] = useState(isDark);\n const styleContext = useContext(StyleContext);\n\n return (\n \n );\n};\nexport default ToggleSwitch;\n","import React, {useContext} from \"react\";\nimport Headroom from \"react-headroom\";\nimport \"./Header.scss\";\nimport ToggleSwitch from \"../ToggleSwitch/ToggleSwitch\";\nimport StyleContext from \"../../contexts/StyleContext\";\nimport {\n greeting,\n workExperiences,\n skillsSection,\n openSource,\n blogSection,\n talkSection,\n achievementSection\n} from \"../../portfolio\";\n\nfunction Header() {\n const {isDark} = useContext(StyleContext);\n const viewExperience = workExperiences.display;\n const viewOpenSource = openSource.display;\n const viewSkills = skillsSection.display;\n const viewAchievement = achievementSection.display;\n const viewBlog = blogSection.display;\n const viewTalks = talkSection.display;\n\n return (\n \n
\n \n <\n {greeting.username}\n />\n \n \n \n \n \n
    \n {viewSkills && (\n
  • \n Skills\n
  • \n )}\n {viewExperience && (\n
  • \n Clients\n
  • \n )}\n {/* {viewOpenSource && (\n
  • \n Open Source\n
  • \n )} */}\n {viewAchievement && (\n
  • \n Achievements\n
  • \n )}\n {viewBlog && (\n
  • \n Blogs\n
  • \n )}\n {viewTalks && (\n
  • \n Talks\n
  • \n )}\n
  • \n Contact Us\n
  • \n
  • \n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n \n \n \n
  • \n
\n
\n
\n );\n}\nexport default Header;\n","import React from \"react\";\nimport \"./loading.scss\";\n\nexport default function Loading() {\n return (\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n}\n","import React, {Component, Suspense} from \"react\";\nimport Lottie from \"lottie-react\";\nimport Loading from \"../../containers/loading/Loading\";\n\nexport default class DisplayLottie extends Component {\n render() {\n const animationData = this.props.animationData;\n const defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData\n };\n\n return (\n }>\n \n \n );\n }\n}\n","import React from \"react\";\nimport \"./Button.scss\";\n\nexport default function Button({text, className, href, newTab}) {\n return (\n \n );\n}\n","import React, {useContext} from \"react\";\nimport {Fade} from \"react-reveal\";\nimport emoji from \"react-easy-emoji\";\nimport \"./Greeting.scss\";\nimport landingPerson from \"../../assets/lottie/landingPerson\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport SocialMedia from \"../../components/socialMedia/SocialMedia\";\nimport Button from \"../../components/button/Button\";\n\nimport {illustration, greeting} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Greeting() {\n const {isDark} = useContext(StyleContext);\n if (!greeting.displayGreeting) {\n return null;\n }\n return (\n \n
\n
\n
\n
\n \n {\" \"}\n {greeting.title}{\" \"}\n {emoji(\"👋\")}\n \n \n {greeting.subTitle}\n

\n \n
\n
\n
\n
\n
\n {illustration.animated ? (\n \n ) : (\n \n )}\n
\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport \"./SoftwareSkill.scss\";\nimport {skillsSection} from \"../../portfolio\";\n\nexport default function SoftwareSkill() {\n return (\n
\n
\n
    \n {skillsSection.softwareSkills.map((skills, i) => {\n return (\n \n \n

    {skills.skillName}

    \n \n );\n })}\n
\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Skills.scss\";\nimport SoftwareSkill from \"../../components/softwareSkills/SoftwareSkill\";\nimport {illustration, skillsSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport codingPerson from \"../../assets/lottie/codingPerson\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Skills() {\n const {isDark} = useContext(StyleContext);\n if (!skillsSection.display) {\n return null;\n }\n return (\n
\n
\n \n
\n {illustration.animated ? (\n \n ) : (\n \n )}\n
\n
\n \n
\n \n {skillsSection.title}{\" \"}\n \n \n {skillsSection.subTitle}\n

\n \n
\n {skillsSection.skills.map((skills, i) => {\n return (\n \n {skills}\n

\n );\n })}\n
\n
\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport \"./Progress.scss\";\nimport {illustration, techStack} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport Build from \"../../assets/lottie/build\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\n\nexport default function StackProgress() {\n if (techStack.viewSkillBars) {\n return (\n \n
\n
\n

Proficiency

\n {techStack.experience.map((exp, i) => {\n const progressStyle = {\n width: exp.progressPercentage\n };\n return (\n
\n

{exp.Stack}

\n
\n \n
\n
\n );\n })}\n
\n\n
\n {illustration.animated ? (\n \n ) : (\n \n )}\n
\n
\n
\n );\n }\n return null;\n}\n","if(!t)var t={map:function(t,r){var n={};return r?t.map(function(t,o){return n.index=o,r.call(n,t)}):t.slice()},naturalOrder:function(t,r){return tr?1:0},sum:function(t,r){var n={};return t.reduce(r?function(t,o,e){return n.index=e,t+r.call(n,o)}:function(t,r){return t+r},0)},max:function(r,n){return Math.max.apply(null,n?t.map(r,n):r)}};var r=function(){var r=5,n=8-r,o=1e3;function e(t,n,o){return(t<<2*r)+(n<h/2){for(e=n.copy(),u=n.copy(),a=(r=i-n[c])<=(o=n[f]-i)?Math.min(n[f]-1,~~(i+o/2)):Math.max(n[c],~~(i-1-r/2));!v[a];)a++;for(s=l[a];!s&&v[a-1];)s=l[--a];return e[f]=a,u[c]=e[f]+1,[e,u]}}(a==o?\"r\":a==u?\"g\":\"b\")}}return a.prototype={volume:function(t){var r=this;return r._volume&&!t||(r._volume=(r.r2-r.r1+1)*(r.g2-r.g1+1)*(r.b2-r.b1+1)),r._volume},count:function(t){var r=this,n=r.histo;if(!r._count_set||t){var o,u,a,i=0;for(o=r.r1;o<=r.r2;o++)for(u=r.g1;u<=r.g2;u++)for(a=r.b1;a<=r.b2;a++)i+=n[e(o,u,a)]||0;r._count=i,r._count_set=!0}return r._count},copy:function(){var t=this;return new a(t.r1,t.r2,t.g1,t.g2,t.b1,t.b2,t.histo)},avg:function(t){var n=this,o=n.histo;if(!n._avg||t){var u,a,i,c,f=0,s=1<<8-r,h=0,v=0,l=0;for(a=n.r1;a<=n.r2;a++)for(i=n.g1;i<=n.g2;i++)for(c=n.b1;c<=n.b2;c++)f+=u=o[e(a,i,c)]||0,h+=u*(a+.5)*s,v+=u*(i+.5)*s,l+=u*(c+.5)*s;n._avg=f?[~~(h/f),~~(v/f),~~(l/f)]:[~~(s*(n.r1+n.r2+1)/2),~~(s*(n.g1+n.g2+1)/2),~~(s*(n.b1+n.b2+1)/2)]}return n._avg},contains:function(t){var r=this,o=t[0]>>n;return gval=t[1]>>n,bval=t[2]>>n,o>=r.r1&&o<=r.r2&&gval>=r.g1&&gval<=r.g2&&bval>=r.b1&&bval<=r.b2}},i.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n251&&e[1]>251&&e[2]>251&&(r[o].color=[255,255,255])}},{quantize:function(f,s){if(!f.length||s<2||s>256)return!1;var h=function(t){var o,u=new Array(1<<3*r);return t.forEach(function(t){o=e(t[0]>>n,t[1]>>n,t[2]>>n),u[o]=(u[o]||0)+1}),u}(f);h.forEach(function(){});var v=function(t,r){var o,e,u,i=1e6,c=0,f=1e6,s=0,h=1e6,v=0;return t.forEach(function(t){(o=t[0]>>n)c&&(c=o),(e=t[1]>>n)s&&(s=e),(u=t[2]>>n)v&&(v=u)}),new a(i,c,f,s,h,v,r)}(f,h),l=new u(function(r,n){return t.naturalOrder(r.count(),n.count())});function g(t,r){for(var n,e=t.size(),u=0;u=r)return;if(u++>o)return;if((n=t.pop()).count()){var a=c(h,n),i=a[0],f=a[1];if(!i)return;t.push(i),f&&(t.push(f),e++)}else t.push(n),u++}}l.push(v),g(l,.75*s);for(var p=new u(function(r,n){return t.naturalOrder(r.count()*r.volume(),n.count()*n.volume())});l.size();)p.push(l.pop());g(p,s);for(var b=new i;p.size();)b.push(p.pop());return b}}}().quantize,n=function(t){this.canvas=document.createElement(\"canvas\"),this.context=this.canvas.getContext(\"2d\"),this.width=this.canvas.width=t.naturalWidth,this.height=this.canvas.height=t.naturalHeight,this.context.drawImage(t,0,0,this.width,this.height)};n.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var o=function(){};o.prototype.getColor=function(t,r){return void 0===r&&(r=10),this.getPalette(t,5,r)[0]},o.prototype.getPalette=function(t,o,e){var u=function(t){var r=t.colorCount,n=t.quality;if(void 0!==r&&Number.isInteger(r)){if(1===r)throw new Error(\"colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()\");r=Math.max(r,2),r=Math.min(r,20)}else r=10;return(void 0===n||!Number.isInteger(n)||n<1)&&(n=10),{colorCount:r,quality:n}}({colorCount:o,quality:e}),a=new n(t),i=function(t,r,n){for(var o,e,u,a,i,c=t,f=[],s=0;s=125)&&(e>250&&u>250&&a>250||f.push([e,u,a]));return f}(a.getImageData().data,a.width*a.height,u.quality),c=r(i,u.colorCount);return c?c.palette():null},o.prototype.getColorFromUrl=function(t,r,n){var o=this,e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var u=o.getPalette(e,5,n);r(u[0],t)}),e.src=t},o.prototype.getImageData=function(t,r){var n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=\"arraybuffer\",n.onload=function(){if(200==this.status){var t=new Uint8Array(this.response);i=t.length;for(var n=new Array(i),o=0;o {\n return descBullets\n ? descBullets.map((item, i) => (\n \n {item}\n \n ))\n : null;\n };\n\n return (\n
\n
\n
\n
\n
{cardInfo.company}
\n
\n\n getColorArrays()}\n />\n
\n
\n \n {cardInfo.role}\n \n \n {cardInfo.date}\n \n \n {cardInfo.desc}\n

\n
    \n \n
\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./WorkExperience.scss\";\nimport ExperienceCard from \"../../components/experienceCard/ExperienceCard\";\nimport {workExperiences} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function WorkExperience() {\n const {isDark} = useContext(StyleContext);\n if (workExperiences.display) {\n return (\n
\n \n
\n
\n

Major Clients

\n
\n {workExperiences.experience.map((card, i) => {\n return (\n \n );\n })}\n
\n
\n
\n
\n
\n );\n }\n return null;\n}\n","import React, {useState, useEffect, useContext, Suspense, lazy} from \"react\";\nimport \"./Project.scss\";\nimport Button from \"../../components/button/Button\";\nimport {openSource, socialMediaLinks} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\nimport Loading from \"../../containers/loading/Loading\";\nexport default function Projects() {\n const GithubRepoCard = lazy(() =>\n import(\"../../components/githubRepoCard/GithubRepoCard\")\n );\n const FailedLoading = () => null;\n const renderLoader = () => ;\n const [repo, setrepo] = useState([]);\n // todo: remove useContex because is not supported\n const {isDark} = useContext(StyleContext);\n\n useEffect(() => {\n const getRepoData = () => {\n fetch(\"/profile.json\")\n .then(result => {\n if (result.ok) {\n return result.json();\n }\n throw result;\n })\n .then(response => {\n setrepoFunction(response.data.user.pinnedItems.edges);\n })\n .catch(function (error) {\n console.error(\n `${error} (because of this error, nothing is shown in place of Projects section. Also check if Projects section has been configured)`\n );\n setrepoFunction(\"Error\");\n });\n };\n getRepoData();\n }, []);\n\n function setrepoFunction(array) {\n setrepo(array);\n }\n if (\n !(typeof repo === \"string\" || repo instanceof String) &&\n openSource.display\n ) {\n return (\n \n
\n

Open Source Projects

\n
\n {repo.map((v, i) => {\n if (!v) {\n console.error(\n `Github Object for repository number : ${i} is undefined`\n );\n }\n return (\n \n );\n })}\n
\n \n
\n
\n );\n } else {\n return ;\n }\n}\n","import React, {useContext} from \"react\";\nimport \"./StartupProjects.scss\";\nimport {bigProjects} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function StartupProject() {\n function openUrlInNewTab(url) {\n if (!url) {\n return;\n }\n var win = window.open(url, \"_blank\");\n win.focus();\n }\n\n const {isDark} = useContext(StyleContext);\n if (!bigProjects.display) {\n return null;\n }\n return (\n \n
\n
\n

{bigProjects.title}

\n \n {bigProjects.subtitle}\n

\n\n
\n {bigProjects.projects.map((project, i) => {\n return (\n \n {project.image ? (\n
\n \n
\n ) : null}\n
\n \n {project.projectName}\n \n \n {project.projectDesc}\n

\n {project.footerLink ? (\n
\n {project.footerLink.map((link, i) => {\n return (\n openUrlInNewTab(link.url)}\n >\n {link.name}\n \n );\n })}\n
\n ) : null}\n
\n
\n );\n })}\n
\n
\n \n
\n );\n}\n","import React from \"react\";\nimport \"./AchievementCard.scss\";\n\nexport default function AchievementCard({cardInfo, isDark}) {\n function openUrlInNewTab(url, name) {\n if (!url) {\n console.log(`URL for ${name} not found`);\n return;\n }\n var win = window.open(url, \"_blank\");\n win.focus();\n }\n\n return (\n
\n
\n \n
\n
\n
\n {cardInfo.title}\n
\n

\n {cardInfo.description}\n

\n
\n
\n {cardInfo.footer.map((v, i) => {\n return (\n openUrlInNewTab(v.url, v.name)}\n >\n {v.name}\n \n );\n })}\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Achievement.scss\";\nimport AchievementCard from \"../../components/achievementCard/AchievementCard\";\nimport {achievementSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\nexport default function Achievement() {\n const {isDark} = useContext(StyleContext);\n if (!achievementSection.display) {\n return null;\n }\n return (\n \n
\n
\n
\n \n {achievementSection.title}\n \n \n {achievementSection.subtitle}\n

\n
\n
\n {achievementSection.achievementsCards.map((card, i) => {\n return (\n \n );\n })}\n
\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport \"./BlogCard.scss\";\n\nexport default function BlogCard({blog, isDark}) {\n function openUrlInNewTab(url, name) {\n if (!url) {\n console.log(`URL for ${name} not found`);\n return;\n }\n var win = window.open(url, \"_blank\");\n win.focus();\n }\n\n return (\n
openUrlInNewTab(blog.url, blog.title)}>\n
\n \n

\n {blog.title}\n

\n

\n {blog.description}\n

\n
\n
\n
\n \n
\n
\n );\n}\n","import React, {useState, useEffect, useContext} from \"react\";\nimport \"./Blog.scss\";\nimport BlogCard from \"../../components/blogCard/BlogCard\";\nimport {blogSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\nexport default function Blogs() {\n const {isDark} = useContext(StyleContext);\n const [mediumBlogs, setMediumBlogs] = useState([]);\n function setMediumBlogsFunction(array) {\n setMediumBlogs(array);\n }\n //Medium API returns blogs' content in HTML format. Below function extracts blogs' text content within paragraph tags\n function extractTextContent(html) {\n return typeof html === \"string\"\n ? html\n .split(\"p>\")\n .filter(el => !el.includes(\">\"))\n .map(el => el.replace(\" {\n if (blogSection.displayMediumBlogs === \"true\") {\n const getProfileData = () => {\n fetch(\"/blogs.json\")\n .then(result => {\n if (result.ok) {\n return result.json();\n }\n })\n .then(response => {\n setMediumBlogsFunction(response.items);\n })\n .catch(function (error) {\n console.error(\n `${error} (because of this error Blogs section could not be displayed. Blogs section has reverted to default)`\n );\n setMediumBlogsFunction(\"Error\");\n blogSection.displayMediumBlogs = \"false\";\n });\n };\n getProfileData();\n }\n }, []);\n if (!blogSection.display) {\n return null;\n }\n return (\n \n
\n
\n

{blogSection.title}

\n \n {blogSection.subtitle}\n

\n
\n
\n
\n {blogSection.displayMediumBlogs !== \"true\" ||\n mediumBlogs === \"Error\"\n ? blogSection.blogs.map((blog, i) => {\n return (\n \n );\n })\n : mediumBlogs.map((blog, i) => {\n return (\n \n );\n })}\n
\n
\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Footer.scss\";\nimport {Fade} from \"react-reveal\";\nimport emoji from \"react-easy-emoji\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Footer() {\n const {isDark} = useContext(StyleContext);\n return (\n \n
\n

\n {emoji(\"Made with ❤️ by Jean Paul\")}\n

\n {/*

\n Theme by{\" \"}\n \n developerFolio\n \n

*/}\n
\n
\n );\n}\n","import React from \"react\";\nimport \"./TalkCard.scss\";\n\nexport default function TalkCard({talkDetails}) {\n return (\n
\n
\n \n
\n
{talkDetails.title}
\n

{talkDetails.subtitle}

\n\n \n
\n
\n \n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Talks.scss\";\nimport TalkCard from \"../../components/talkCard/TalkCard\";\nimport {talkSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Talks() {\n const {isDark} = useContext(StyleContext);\n if (!talkSection.display) {\n return null;\n }\n return (\n \n
\n
\n

{talkSection.title}

\n \n {talkSection.subtitle}\n

\n {talkSection.talks.map((talk, i) => {\n return (\n \n );\n })}\n
\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Podcast.scss\";\nimport {podcastSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Podcast() {\n const {isDark} = useContext(StyleContext);\n\n if (!podcastSection)\n console.error(\"podcastSection object for Podcast section is missing\");\n\n if (!podcastSection.display) {\n return null;\n }\n return (\n \n
\n
\n

{podcastSection.title}

\n \n {podcastSection.subtitle}\n

\n
\n
\n {podcastSection.podcast.map((podcastLink, i) => {\n if (!podcastLink) {\n console.log(\n `Podcast link for ${podcastSection.title} is missing`\n );\n }\n return (\n
\n \n
\n );\n })}\n
\n
\n
\n );\n}\n","import React, {createRef, useContext} from \"react\";\nimport {Fade, Slide} from \"react-reveal\";\nimport \"./EducationCard.scss\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function EducationCard({school}) {\n const imgRef = createRef();\n\n const GetDescBullets = ({descBullets}) => {\n return descBullets\n ? descBullets.map((item, i) => (\n
  • \n {item}\n
  • \n ))\n : null;\n };\n const {isDark} = useContext(StyleContext);\n\n if (!school.logo)\n console.error(`Image of ${school.name} is missing in education section`);\n return (\n
    \n \n
    \n {school.logo && (\n
    \n \n
    \n )}\n
    \n
    {school.schoolName}
    \n\n
    \n \n {school.subHeader}\n \n \n {school.duration}\n

    \n

    {school.desc}

    \n
    \n
      \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n );\n}\n","import React from \"react\";\nimport \"./Education.scss\";\nimport EducationCard from \"../../components/educationCard/EducationCard\";\nimport {educationInfo} from \"../../portfolio\";\n\nexport default function Education() {\n if (educationInfo.display) {\n return (\n
    \n

    Education

    \n
    \n {educationInfo.schools.map((school, index) => (\n \n ))}\n
    \n
    \n );\n }\n return null;\n}\n","import React from \"react\";\nimport \"./Top.scss\";\n\nexport default function Top() {\n function TopEvent() {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n // When the user scrolls down 20px from the top of the document, show the button\n function scrollFunction() {\n if (\n document.body.scrollTop > 20 ||\n document.documentElement.scrollTop > 20\n ) {\n document.getElementById(\"topButton\").style.visibility = \"visible\";\n } else {\n document.getElementById(\"topButton\").style.visibility = \"hidden\";\n }\n }\n window.onscroll = function () {\n scrollFunction();\n };\n window.onload = function () {\n scrollFunction();\n }; //To make sure that this button is not visible at starting.\n // When the user clicks on the button, scroll to the top of the document\n return (\n \n );\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","const twitterWidgetJs = 'https://platform.twitter.com/widgets.js'\nexport default twitterWidgetJs\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport isRequiredIf from 'react-proptype-conditional-require'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterTimelineEmbed extends Component {\n static propTypes = {\n /**\n * This can be either of profile, likes, list, collection, URL, widget\n */\n sourceType: PropTypes.oneOf(['profile', 'likes', 'list', 'collection', 'url', 'widget']).isRequired,\n /**\n * username of twitter handle as String\n */\n screenName: isRequiredIf(PropTypes.string, props => !props.hasOwnProperty('userId') && (props.sourceType === 'profile' || props.sourceType === 'likes')),\n /**\n * UserId of twitter handle as number\n */\n userId: isRequiredIf(PropTypes.number, props => !props.hasOwnProperty('screenName') && (props.sourceType === 'profile' || props.sourceType === 'likes')),\n /**\n * To show list, used along with slug\n */\n ownerScreenName: isRequiredIf(PropTypes.string, props => props.sourceType === 'list' && !props.hasOwnProperty('id')),\n /**\n * To show list, used along with ownerScreenName\n */\n slug: isRequiredIf(PropTypes.string, props => props.sourceType === 'list' && !props.hasOwnProperty('id')),\n /**\n * To show list, unique list id\n * Also used with collections, in that case its valid collection id\n */\n id: isRequiredIf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), props => (props.sourceType === 'list' && !props.hasOwnProperty('ownerScreenName') && !props.hasOwnProperty('slug')) || props.sourceType === 'collection'),\n /**\n * To show twitter content with url.\n * Supported content includes profiles, likes, lists, and collections.\n */\n url: isRequiredIf(PropTypes.string, props => props.sourceType === 'url'),\n /**\n * To show custom widget\n */\n widgetId: isRequiredIf(PropTypes.string, props => props.sourceType === 'widget'),\n /**\n * Additional options to pass to twitter widget plugin\n */\n options: PropTypes.object,\n /**\n * Automatically fit into parent container height\n */\n autoHeight: PropTypes.bool,\n /**\n * With dark or light theme\n */\n theme: PropTypes.oneOf(['dark', 'light']),\n /**\n * With custom link colors. Note: Only Hex colors are supported.\n */\n linkColor: PropTypes.string,\n /**\n * With custom border colors. Note: Only Hex colors are supported.\n */\n borderColor: PropTypes.string,\n /**\n * Hide the header from timeline\n */\n noHeader: PropTypes.bool,\n /**\n * Hide the footer from timeline\n */\n noFooter: PropTypes.bool,\n /**\n * Hide the border from timeline\n */\n noBorders: PropTypes.bool,\n /**\n * Hide the scrollbars\n */\n noScrollbar: PropTypes.bool,\n /**\n * Enable Transparancy\n */\n transparent: PropTypes.bool,\n /**\n * Custom language code. Supported codes here: https://developer.twitter.com/en/docs/twitter-for-websites/twitter-for-websites-supported-languages/overview.html\n */\n lang: PropTypes.string,\n\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n buildChromeOptions(options) {\n options.chrome = ''\n if (this.props.noHeader) { options.chrome = options.chrome + ' noheader' }\n\n if (this.props.noFooter) { options.chrome = options.chrome + ' nofooter' }\n\n if (this.props.noBorders) { options.chrome = options.chrome + ' noborders' }\n\n if (this.props.noScrollbar) { options.chrome = options.chrome + ' noscrollbar' }\n\n if (this.props.transparent) { options.chrome = options.chrome + ' transparent' }\n\n return options\n }\n\n buildOptions() {\n let options = Object.assign({}, this.props.options)\n if (this.props.autoHeight) { options.height = this.refs.embedContainer.parentNode.offsetHeight }\n\n options = Object.assign({}, options, {\n theme: this.props.theme,\n linkColor: this.props.linkColor,\n borderColor: this.props.borderColor,\n lang: this.props.lang\n })\n\n return options\n }\n\n renderWidget(options) {\n const { onLoad } = this.props\n if (!this.isMountCanceled) {\n window.twttr.widgets.createTimeline(\n {\n sourceType: this.props.sourceType,\n screenName: this.props.screenName,\n userId: this.props.userId,\n ownerScreenName: this.props.ownerScreenName,\n slug: this.props.slug,\n id: this.props.id || this.props.widgetId,\n url: this.props.url\n },\n this.refs.embedContainer,\n options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n }\n\n componentDidMount() {\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterTimelineEmbed, aborting load.')\n return\n }\n\n let options = this.buildOptions()\n /** Append chrome options */\n options = this.buildChromeOptions(options)\n this.renderWidget(options)\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterShareButton extends Component {\n static propTypes = {\n /**\n * Url for sharing\n */\n url: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config. Details at : https://dev.twitter.com/web/tweet-button/parameters\n */\n options: PropTypes.object,\n\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterShareButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createShareButton(\n this.props.url,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterFollowButton extends Component {\n static propTypes = {\n /**\n * Username of twitter user which will be followed on click\n */\n screenName: PropTypes.string.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterFollowButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createFollowButton(\n this.props.screenName,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterHashtagButton extends Component {\n static propTypes = {\n /**\n * Tag name for hashtag button\n */\n tag: PropTypes.string.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterHashtagButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createHashtagButton(\n this.props.tag,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterMentionButton extends Component {\n static propTypes = {\n /**\n * Username to which you will need to tweet\n */\n screenName: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterMentionButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createMentionButton(\n this.props.screenName,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterTweetEmbed extends Component {\n static propTypes = {\n /**\n * Tweet id that needs to be shown\n */\n tweetId: PropTypes.string.isRequired,\n /**\n * Additional options to pass to twitter widget plugin\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n renderWidget() {\n const { onLoad } = this.props\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterTweetEmbed, aborting load.')\n return\n }\n if (!this.isMountCanceled) {\n window.twttr.widgets.createTweet(\n this.props.tweetId,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n }\n\n componentDidMount() {\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n this.renderWidget()\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterMomentShare extends Component {\n static propTypes = {\n /**\n * id of Twitter moment to show\n */\n momentId: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterMomentShare, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createMoment(\n this.props.momentId,\n this.refs.shareMoment,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterDMButton extends Component {\n static propTypes = {\n /**\n * Twitter user id for DM button\n */\n id: PropTypes.number.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterDMButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createDMButton(\n this.props.id,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterVideoEmbed extends Component {\n static propTypes = {\n /**\n * Id of video tweet.\n */\n id: PropTypes.string.isRequired,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterVideoEmbed, aborting load.')\n return\n }\n if (!this.isMountCanceled) {\n window.twttr.widgets.createVideo(\n this.props.id,\n this.refs.embedContainer\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterOnAirButton extends Component {\n static propTypes = {\n /**\n * Username for which you require periscope on air button\n */\n username: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterOnAirButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createPeriscopeOnAirButton(\n this.props.username,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
    \n \n )\n }\n}\n","import React, {Suspense, useContext} from \"react\";\nimport \"./twitter.scss\";\nimport Loading from \"../loading/Loading\";\nimport {TwitterTimelineEmbed} from \"react-twitter-embed\";\nimport {twitterDetails} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nconst renderLoader = () => ;\nconst cantDisplayError =\n \"

    Can't load? Check privacy protection settings

    \";\n\nfunction timeOut() {\n setTimeout(function () {\n if (!document.getElementById(\"twitter\").innerHTML.includes(\"iframe\")) {\n document.getElementById(\"twitter\").innerHTML = cantDisplayError;\n }\n }, 10000);\n}\nvar widthScreen = window.screen.width;\n\nexport default function Twitter() {\n const {isDark} = useContext(StyleContext);\n\n if (!twitterDetails.display) {\n return null;\n }\n if (!twitterDetails.userName) {\n console.error(\"Twitter username for twitter section is missing\");\n }\n if (twitterDetails.userName) {\n return (\n \n
    \n
    \n \n
    \n
    \n
    \n );\n } else {\n return null;\n }\n}\n","import React, {useContext} from \"react\";\nimport \"./Contact.scss\";\nimport SocialMedia from \"../../components/socialMedia/SocialMedia\";\nimport {illustration, contactInfo} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport email from \"../../assets/lottie/email\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Contact() {\n const {isDark} = useContext(StyleContext);\n return (\n \n
    \n
    \n
    \n

    {contactInfo.title}

    \n \n {contactInfo.subtitle}\n

    \n \n {contactInfo.number && (\n <>\n \n {contactInfo.number}\n \n
    \n
    \n \n )}\n \n {contactInfo.email_address}\n \n
    \n
    \n \n
    \n
    \n
    \n {illustration.animated ? (\n \n ) : (\n \n )}\n
    \n
    \n
    \n \n );\n}\n","import React, {useState, useEffect, lazy, Suspense} from \"react\";\nimport {openSource} from \"../../portfolio\";\nimport Contact from \"../contact/Contact\";\nimport Loading from \"../loading/Loading\";\n\nconst renderLoader = () => ;\nconst GithubProfileCard = lazy(() =>\n import(\"../../components/githubProfileCard/GithubProfileCard\")\n);\nexport default function Profile() {\n const [prof, setrepo] = useState([]);\n function setProfileFunction(array) {\n setrepo(array);\n }\n\n useEffect(() => {\n if (openSource.showGithubProfile === \"true\") {\n const getProfileData = () => {\n fetch(\"/profile.json\")\n .then(result => {\n if (result.ok) {\n return result.json();\n }\n })\n .then(response => {\n setProfileFunction(response.data.user);\n })\n .catch(function (error) {\n console.error(\n `${error} (because of this error GitHub contact section could not be displayed. Contact section has reverted to default)`\n );\n setProfileFunction(\"Error\");\n openSource.showGithubProfile = \"false\";\n });\n };\n getProfileData();\n }\n }, []);\n if (\n openSource.display &&\n openSource.showGithubProfile === \"true\" &&\n !(typeof prof === \"string\" || prof instanceof String)\n ) {\n return (\n \n \n \n );\n } else {\n return ;\n }\n}\n","import React, {useContext} from \"react\";\nimport \"./SplashScreen.css\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport {greeting, splashScreen} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function SplashScreen() {\n const {isDark} = useContext(StyleContext);\n return (\n
    \n
    \n \n
    \n
    \n <\n {greeting.username}\n />\n
    \n
    \n );\n}\n","import {useState} from \"react\";\n\nexport const useLocalStorage = (key, initialValue) => {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState(() => {\n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key);\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n // If error also return initialValue\n console.log(error);\n return initialValue;\n }\n });\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue = value => {\n try {\n // Allow value to be a function so we have same API as useState\n const valueToStore =\n value instanceof Function ? value(storedValue) : value;\n // Save state\n setStoredValue(valueToStore);\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.log(error);\n }\n };\n\n return [storedValue, setValue];\n};\n","import React, {useEffect, useState} from \"react\";\nimport Header from \"../components/header/Header\";\nimport Greeting from \"./greeting/Greeting\";\nimport Skills from \"./skills/Skills\";\nimport StackProgress from \"./skillProgress/skillProgress\";\nimport WorkExperience from \"./workExperience/WorkExperience\";\nimport Projects from \"./projects/Projects\";\nimport StartupProject from \"./StartupProjects/StartupProject\";\nimport Achievement from \"./achievement/Achievement\";\nimport Blogs from \"./blogs/Blogs\";\nimport Footer from \"../components/footer/Footer\";\nimport Talks from \"./talks/Talks\";\nimport Podcast from \"./podcast/Podcast\";\nimport Education from \"./education/Education\";\nimport ScrollToTopButton from \"./topbutton/Top\";\nimport Twitter from \"./twitter-embed/twitter\";\nimport Profile from \"./profile/Profile\";\nimport SplashScreen from \"./splashScreen/SplashScreen\";\nimport {splashScreen} from \"../portfolio\";\nimport {StyleProvider} from \"../contexts/StyleContext\";\nimport {useLocalStorage} from \"../hooks/useLocalStorage\";\nimport \"./Main.scss\";\n\nconst Main = () => {\n const darkPref = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const [isDark, setIsDark] = useLocalStorage(\"isDark\", darkPref.matches);\n const [isShowingSplashAnimation, setIsShowingSplashAnimation] =\n useState(true);\n\n useEffect(() => {\n if (splashScreen.enabled) {\n const splashTimer = setTimeout(\n () => setIsShowingSplashAnimation(false),\n splashScreen.duration\n );\n return () => {\n clearTimeout(splashTimer);\n };\n }\n }, []);\n\n const changeTheme = () => {\n setIsDark(!isDark);\n };\n\n return (\n
    \n \n {isShowingSplashAnimation && splashScreen.enabled ? (\n \n ) : (\n <>\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n )}\n \n
    \n );\n};\n\nexport default Main;\n","import React from \"react\";\nimport \"./App.scss\";\nimport Main from \"./containers/Main\";\n\nfunction App() {\n return (\n
    \n
    \n
    \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"names":["_defs","_path","_ellipse","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","_path21","_path22","_path23","_path24","_path25","_path26","_path27","_path28","_path29","_path30","_path31","_path32","_path33","_path34","_path35","_path36","_path37","_path38","_path39","_path40","_path41","_path42","_path43","_path44","_path45","_path46","_path47","_path48","_path49","_path50","_path51","_path52","_path53","_path54","_path55","_path56","_path57","_path58","_path59","_path60","_path61","_path62","_path63","_path64","_path65","_path66","_path67","_path68","_path69","_path70","_path71","_path72","_path73","_path74","_path75","_path76","_path77","_path78","_path79","_path80","_path81","_path82","_path83","_g","_circle","_ellipse2","_path84","_path85","_path86","_path87","_path88","_path89","_path90","_path91","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgContactMailDark","_ref","svgRef","title","titleId","props","id","xmlns","xmlnsXlink","width","height","viewBox","ref","x1","y1","x2","y2","gradientUnits","offset","stopColor","stopOpacity","undefined","d","transform","fill","opacity","cx","cy","rx","ry","stroke","strokeMiterlimit","strokeWidth","r","ForwardRef","_rect","_rect2","_rect3","_rect4","_rect5","_rect6","_rect7","_rect8","_rect9","_rect10","_rect11","_rect12","_rect13","_rect14","_rect15","_rect16","_rect17","_rect18","_rect19","_rect20","_rect21","_rect22","_rect23","_rect24","_rect25","_rect26","_rect27","_rect28","_rect29","_rect30","_rect31","_rect32","_rect33","_rect34","_rect35","_rect36","_rect37","_rect38","_rect39","_rect40","_rect41","_rect42","_rect43","_rect44","_rect45","_polygon","_rect46","_rect47","_rect48","_rect49","_rect50","_rect51","_rect52","_rect53","_rect54","_rect55","_rect56","_rect57","_rect58","_rect59","_rect60","_rect61","_rect62","_rect63","_rect64","_rect65","_rect66","_rect67","_rect68","_rect69","_rect70","_rect71","_rect72","_rect73","_rect74","_rect75","_rect76","_rect77","_rect78","_rect79","_rect80","_rect81","_rect82","_rect83","_rect84","_rect85","_rect86","_rect87","_rect88","_rect89","_rect90","_rect91","_rect92","_rect93","_rect94","_rect95","_rect96","_rect97","_rect98","_rect99","_rect100","_rect101","_rect102","_rect103","_rect104","_rect105","_rect106","_rect107","_rect108","_rect109","_rect110","_rect111","_rect112","_rect113","_rect114","_rect115","_rect116","_rect117","_rect118","_rect119","_rect120","_rect121","_rect122","_rect123","_rect124","_rect125","_rect126","_rect127","_rect128","_rect129","_rect130","_rect131","_rect132","_rect133","_rect134","_rect135","_rect136","_rect137","_rect138","_rect139","_rect140","_rect141","_rect142","_rect143","_rect144","_rect145","_rect146","_rect147","_rect148","_rect149","_rect150","_rect151","_rect152","_rect153","_rect154","_rect155","_rect156","_rect157","_rect158","_rect159","_rect160","_rect161","_rect162","_rect163","_rect164","_rect165","_rect166","_rect167","_rect168","_rect169","_rect170","_rect171","_rect172","_rect173","_polygon2","_circle2","_circle3","SvgDeveloperActivity","x","y","points","_polygon3","_polygon4","_polygon5","_polygon6","_polygon7","_circle4","_circle5","_circle6","_circle7","_circle8","_circle9","_circle10","_g2","_path92","_path93","_path94","_path95","_path96","_path97","_path98","_path99","_path100","_path101","_path102","_path103","_path104","_path105","_path106","_path107","_path108","_path109","_path110","_path111","_path112","_path113","_path114","_circle11","_circle12","_circle13","_circle14","_circle15","_circle16","_circle17","_circle18","_circle19","_circle20","_circle21","_circle22","_circle23","_circle24","SvgManOnTable","gradientTransform","SvgSkill","socialMedia","socialMediaLinks","display","_jsxs","className","children","github","href","rel","_jsx","linkedin","gmail","whatsapp","instagram","telegram","gitlab","facebook","twitter","medium","stackoverflow","kaggle","splashScreen","enabled","animation","duration","illustration","animated","greeting","username","subTitle","emoji","resumeLink","displayGreeting","skillsSection","skills","softwareSkills","skillName","fontAwesomeClassname","educationInfo","schools","schoolName","logo","require","subHeader","desc","descBullets","techStack","viewSkillBars","experience","Stack","progressPercentage","displayCodersrank","workExperiences","role","company","companylogo","openSource","showGithubProfile","bigProjects","subtitle","projects","image","projectName","projectDesc","footerLink","name","url","achievementSection","achievementsCards","imageAlt","blogSection","displayMediumBlogs","blogs","description","talkSection","talks","slides_url","podcastSection","podcast","contactInfo","number","email_address","twitterDetails","userName","isHireable","canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","define","useLottie","style","animationData","loop","autoplay","initialSegment","onComplete","onLoopComplete","onEnterFrame","onSegmentStart","onConfigReady","onDataReady","onDataFailed","onLoadedImages","onDOMLoaded","onDestroy","lottieRef","renderer","assetsPath","rendererSettings","rest","_objectWithoutProperties","_excluded$1","_useState2","_slicedToArray","React","useState","animationLoaded","setAnimationLoaded","animationInstanceRef","useRef","animationContainer","play","_a","current","stop","pause","setSpeed","speed","goToAndPlay","value","isFrame","goToAndStop","setDirection","direction","playSegments","segments","forceFlag","setSubframe","useSubFrames","getDuration","inFrames","destroy","loadAnimation","forcedConfigs","config","_objectSpread2","container","lottie__default","useEffect","onUnmount","Array","isArray","currentRawFrame","setSegment","resetSegments","listeners","handler","filter","listener","deregisterList","map","removeEventListener","forEach","deregister","View","React__default","animationContainerRef","animationItem","getContainerVisibility","_container$getBoundin","getBoundingClientRect","top","innerHeight","getContainerCursorPosition","cursorX","cursorY","_container$getBoundin2","left","useInitInteractivity","wrapperRef","mode","actions","wrapper","scrollModeHandler","assignedSegment","scrollHandler","currentPercent","action","find","_ref2","visibility","type","frames","frameToGo","Math","ceil","firstFrame","isPaused","cursorModeHandler","handleCursor","_x","_y","pos","_ref3","position","Number","isNaN","xPercent","yPercent","mouseMoveHandler","ev","clientX","clientY","mouseOutHandler","useLottieInteractivity","_ref4","lottieObj","Lottie","_b","_c","interactivity","lottieProps","_excluded","_useLottie","factory","navigator","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","flag","getWebWorker","setLocationHref","getLocationHref","createTag","extendPrototype","sources","destination","sourcePrototype","len","attr","getDescriptor","object","prop","getOwnPropertyDescriptor","createProxyFunction","ProxyFunction","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","push","resume","setRate","rateValue","createAudio","assetPath","Howl","src","isPlaying","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","createRegularArray","arr","Uint8ClampedArray","Float32Array","Int16Array","createSizedArray","_typeof$6","obj","Symbol","iterator","constructor","subframeEnabled","expressionsPlugin","expressionsInterfaces","idPrefix$1","isSafari","test","userAgent","_shouldRoundValues","bmPow","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface$1","propertyNames","random","abs","val","absArr","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","bmRnd","round","styleDiv","element","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","h","s","v","g","b","f","p","q","t","RGBtoHSV","addSaturationToRGB","color","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","toString","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setExpressionInterfaces","getExpressionInterfaces","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","getIdPrefix","createNS","createElementNS","_typeof$5","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","onmessage","postMessage","path","data","_workerSelf","setupWorker","fn","Blob","blob","URL","createObjectURL","createWorker","e","completeLayers","layers","comps","layerData","j","jLen","k","kLen","completed","hasMask","maskProps","masksProperties","pt","convertPathsToAbsoluteValues","ty","findCompLayers","refId","completeShapes","shapes","completeText","comp","findComp","__used","JSON","parse","stringify","ks","it","o","checkVersion","minimum","animVersionString","animVersion","split","checkText","minimumVersion","updateTextLayer","textLayer","documentData","iterateLayers","assets","checkChars","chars","charData","ip","op","st","sr","a","sk","sa","checkPathProperties","pathData","checkColors","iterateShapes","c","checkShapes","completeClosingShapes","closed","cl","moduleOb","__complete","completeChars","dataFunctionManager","assetLoader","formatResponse","xhr","contentTypeHeader","getResponseHeader","responseType","indexOf","response","responseText","load","fullPath","callback","errorCallback","XMLHttpRequest","err","onreadystatechange","readyState","status","open","join","error","send","completeData","payload","event","process","onError","createProcess","processId","location","origin","pathname","loadData","completeAnimation","anim","ImagePreloader","proxyImage","canvas","ctx","getContext","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","originalPath","imagePath","u","testImageLoaded","img","intervalId","setInterval","getBBox","_imageLoaded","clearInterval","createFootageData","ob","footageData","_footageLoaded","ImagePreloaderFactory","images","loadAssets","cb","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","append","appendChild","setCacheType","elementHelper","BaseEvent","triggerEvent","eventName","args","_cbs","callbacks","splice","markerParser","parsePayloadLines","line","lines","keys","keysCount","trim","Error","_markers","markers","_marker","markerData","time","tm","dr","cm","_","__","ProjectInterface","registerComposition","compositions","_thisProjectFunction","nm","prepareFrame","xt","currentFrame","compInterface","renderers","registerRenderer","getRenderer","getRegisteredRenderer","_typeof$4","AnimationItem","isLoaded","frameRate","frameMult","playSpeed","playDirection","playCount","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","projectInterface","imagePreloader","audioController","configAnimation","onSetupError","onSegmentComplete","drawnFrameEvent","setParams","params","animType","RendererClass","globalData","defs","setProjectInterface","parseInt","autoloadSegments","setupAnimation","lastIndexOf","substr","fileName","trigger","setData","wrapperAttributes","attributes","getNamedItem","prerender","includeLayers","newLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","segment","shift","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","animData","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","setTimeout","rendererType","initItems","gotoFrame","resize","_width","_height","updateContainerSize","renderFrame","resetFrame","triggerRenderFrameError","togglePause","setCurrentRawFrameValue","getMarkerData","markerName","marker","numValue","frameModifier","advanceTime","nextValue","_isComplete","checkSegments","adjustSegment","init","end","pendingFrame","setLoop","isLooping","getPath","getAssetData","hide","show","updateDocumentData","index","getElementByPath","animationManager","registeredAnimations","initTime","playingAnimationsNum","_stopped","_isFrozen","removeElement","animItem","subtractPlayingCount","registerAnimation","elem","addPlayingCount","activate","nowTime","elapsedTime","requestAnimationFrame","first","searchAnimations","standalone","animElements","concat","slice","getElementsByClassName","lenAnims","setAttribute","body","getElementsByTagName","innerText","div","freeze","unfreeze","getRegisteredAnimations","animations","BezierFactory","str","replace","beziers","bezEasing","BezierEasing","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","C","calcBezier","aT","getSlope","_p","_mSampleValues","_precomputed","get","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","pooling","poolFactory","initialLength","_create","_release","_length","_maxLength","pool","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","math","pointOnLine2D","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","point","lastPoint","lengthData","BezierData","segmentLength","PointData","partial","partialLength","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","dir","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","pathV","pathO","pathI","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","bez","initFrame","mathAbs","interpolateValue","frameNum","caching","newValue","offsetTime","propType","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","lastIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","to","ti","ind","__fnct","getBezierEasing","n","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","quaternionToEuler","slerp","createQuaternion","omega","cosom","sinom","scale0","scale1","out","ax","ay","az","aw","bx","by","bz","bw","acos","sin","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","values","c1","cos","c2","c3","s1","s2","s3","getValueAtCurrentTime","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","addDynamicProperty","ValueProperty","vel","getValue","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","PropertyFactory","getProp","sid","slotManager","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","cnt","shapePool","shapePath","clone","shape","cloned","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","shapeCollection","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shape1","shape2","shapesEqual","ShapeProperty","reset","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","p0","p1","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","rad","roundness","perimSegment","numPts","angle","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","v1","Matrix","_cos","_sin","_tan","tan","_rnd","rotate","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","skew","skewFromAxis","scale","sz","setTransform","l","m","translate","tx","tz","a2","b2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_identityCalculated","a1","b1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","multiply","matrix","matrixProps","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_typeof$3","lottie","setLocation","setSubframeRendering","setPrefix","prefix","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","pair","decodeURIComponent","useWebWorker","setIDPrefix","__getFactory","version","scripts","myScript","exports","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","_s","totalShapeLength","edges","newShapesData","addShapes","lastShape","pop","addPaths","newPaths","addSegment","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","amount","processPath","centerPoint","pathLength","clonedPath","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rz","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v2","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","floatEqual","floatZero","lerp","lerpPoint","quadRoots","singleRoot","delta","polynomialCoefficients","p3","singlePoint","PolynomialBezier","linearize","pointEqual","coeffx","coeffy","extrema","intersectData","t2","box","boundingBox","splitData","boxIntersect","intersectsImpl","depth","tolerance","intersections","maxRecursion","d1s","d2s","crossProduct","lineIntersection","start1","end1","start2","end2","v3","v4","polarOffset","pointDistance","hypot","ZigZagModifier","setPoint","outputBezier","amplitude","outAmplitude","inAmplitude","angO","angI","getPerpendicularVector","vector","rot","getProjectingAngle","cur","prevIndex","nextIndex","pVector","zigZagCorner","frequency","pointType","prevPoint","nextPoint","prevDist","nextDist","zigZagSegment","dist","normalAngle","linearOffset","offsetSegment","p1a","p1b","p2b","p2a","joinLines","seg1","seg2","lineJoin","miterLimit","angleOut","tangentAngle","angleIn","center","radius","intersection","getIntersection","intersect","pruneSegmentIntersection","outa","outb","pruneIntersections","offsetSegmentSplit","right","mid","flex","inflectionPoints","OffsetPathModifier","getFontProperties","fontData","styles","fStyle","fWeight","toLowerCase","weight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","items","itemsTransform","cont","hasReloaded","copies","group","ix","reloadShapes","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","rd","currentV","currentI","currentO","closerV","distance","newPosPerc","derivative","denom","tcusp","square","root","p10","p11","p20","p21","bounds","bottom","other","shapeSegmentInverted","pointsType","count","ml","lj","inputBezier","multiSegments","lastSeg","multiSegment","FontManager","emptyChar","w","size","combinedCharacters","BLACK_FLAG_CODE_POINT","REGIONAL_CHARACTER_A_CODE_POINT","REGIONAL_CHARACTER_Z_CODE_POINT","surrogateModifiers","setUpNode","font","family","parentNode","fontFamily","node","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","offsetWidth","familyArray","enabledFamilies","trimFontOptions","parent","createHelper","def","helper","engine","fontProps","tHelper","fFamily","textContent","fClass","tCanvasHelper","OffscreenCanvas","measureText","text","getComputedTextLength","getCodePoint","string","codePoint","charCodeAt","second","isRegionalCode","Font","typekitLoaded","_warned","Date","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","sum","isZeroWidthJoiner","charCode","isFlagEmoji","isCombinedCharacter","_char3","isRegionalFlag","isVariationSelector","fontPrototype","found","ch","list","cache","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","loaded","monoCase","sansCase","fPath","fOrigin","querySelectorAll","sc","getCharData","_char","console","warn","getFontByName","fName","_char2","fontName","doubleSize","singleSize","loadedCount","removeChild","SlotManager","slotFactory","RenderableElement","slots","initRenderable","isInRange","hidden","isTransparent","renderableComponents","addRenderableComponent","component","removeRenderableComponent","prepareRenderableFrame","num","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","getBlendMode","blendModeEnums","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","effects","ef","effectElements","effectItem","GroupEffect","BaseElement","FrameElement","FootageElement","imageLoader","initBaseData","AudioElement","_isPlaying","_canPlay","_currentTime","_volumeMultiplier","_previousVolume","_placeholder","lv","au","BaseRenderer","eff","checkMasks","LayerExpressionInterface","EffectsExpressionInterface","ShapeExpressionInterface","TextExpressionInterface","CompExpressionInterface","layerInterface","maskManager","registerMaskInterface","effectsInterface","createEffectsInterface","registerEffectsInterface","shapeInterface","shapesData","itemsData","content","textInterface","setBlendMode","blendModeValue","bm","baseElement","layerElement","layerId","effectsManager","getType","prepareProperties","isVisible","_isParent","getBaseElement","FootageInterface","getFootageData","timeRemapped","totalVolume","volumeValue","checkLayers","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","buildAllItems","pInterface","progressiveLoad","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","pendingElements","getElementById","pathValue","setupGlobalData","fontsContainer","compSize","effectTypes","TRANSFORM_EFFECT","TransformElement","MaskElement","maskElement","viewData","solidPath","rect","expansor","feMorph","properties","currentMasks","maskType","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","mask","createLayerSolidPath","invRect","drawPath","maskedElement","initTransform","_matMdf","_localMatMdf","_opMdf","localMat","localOpacity","ao","renderTransform","finalMat","renderLocalTransform","localTransforms","lmat","localOp","searchEffectTransforms","renderableEffectsManager","transformEffects","getEffects","globalToLocal","transforms","ptNew","mHelper","getMaskProperty","isFirstFrame","getMaskelement","pathNodes","pathString","pathShapeValue","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","featureSupport","svgLumaHidden","offscreenCanvas","registeredEffects$1","idPrefix","SVGEffects","filterManager","createFilter","filters","Effect","effect","countsAsEffect","registerEffect$1","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","layerElementParent","td","matteMasks","gg","tt","ln","hd","cp","clipId","cpGroup","renderElement","destroyBaseElement","createRenderableComponents","getMatte","matteType","useElement","masker","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","transformers","level","caches","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dataProps","dashStr","dashArray","dashoffset","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGNoStyleData","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","maskId","opFill","lc","of","ms","ost","buildShapeString","_o","_i","shapeString","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","render","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","charactersArray","shouldCombine","shouldCombineNext","currentChars","charAt","newLineFlag","letters","anchorGrouping","currentSize","currentPos","currentLine","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","an","add","anIndexes","animatorJustifyOffset","extra","animatorData","letterData","based","animators","indexes","fh","fs","fb","rn","totalChars","newInd","currentInd","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorProp","TextSelectorPropFactory","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","textProperty","easer","tot","smoothness","threshold","newCharsFlag","divisor","getTextSelectorProp","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","TextAnimatorProperty","renderType","_hasMaskedPath","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","tanAngle","matrixHelper","renderedLettersCount","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","defaultPropsArray","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","atan","textAnimator","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","validateText","buildNewText","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","ariaLabel","titleElement","descElement","descId","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","focusable","filterSize","runExpressions","destroyed","ShapeTransformManager","sequences","sequenceList","transform_key_count","singleShape","textContainer","buildTextContents","textArray","textContents","currentTextContent","String","fromCharCode","buildShapeData","shapeItem","tSpan","usesGlyphs","cachedSpansLength","span","childSpan","glyph","glyphElement","_debug","tElement","justify","textBox","bbox","renderedLetter","textSpan","findIndexByInd","appendElementInPos","elementIndex","tp","matteMask","nextElement","insertBefore","setElements","getElements","destroyElements","addTransformSequence","sequence","processSequence","processSequences","getNewKey","lumaLoader","lumaBuffer","lumaBufferCtx","svg","loadLuma","_svg","createLumaSvgFilter","createCanvas","loadLumaCanvas","getLumaCanvas","registeredEffects","CVEffects","registerEffect","CVMaskElement","hasMasks","CVBaseElement","canvasContext","beginPath","moveTo","lineTo","bezierCurveTo","save","clip","operationsMap","CVShapeData","transformsManager","styledShapes","styledShape","trNodes","CVShapeElement","CVTextElement","currentRender","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","CanvasContext","strokeStyle","lineCap","CVContextData","stack","cArrPos","cTr","nativeContext","transformMat","currentOpacity","currentFillStyle","appliedFillStyle","currentStrokeStyle","appliedStrokeStyle","currentLineWidth","appliedLineWidth","currentLineCap","appliedLineCap","currentLineJoin","appliedLineJoin","appliedMiterLimit","currentMiterLimit","CVCompElement","CanvasRenderer","clearCanvas","context","dpr","devicePixelRatio","currentGlobalAlpha","contextData","ctxTransform","ctxOpacity","ctxFillStyle","ctxStrokeStyle","ctxLineWidth","ctxLineCap","ctxLineJoin","ctxMiterLimit","ctxFill","ctxFillRect","ctxStroke","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","createElements","buffers","bufferCanvas","bufferCanvas2","_isProxy","transformCanvas","blendMode","globalCompositeOperation","hideElement","showElement","clearRect","prepareLayer","bufferCtx","drawImage","getTransform","exitLayer","buffer","forceRealStack","restore","transformHelper","dashResetter","preTransforms","co","wi","da","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","grd","setLineDash","lineDashOffset","closePath","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","par","globalAlpha","rule","actionFlag","containerStyle","mozTransformOrigin","setContext","isDashed","elementWidth","elementHeight","elementRel","animationRel","offsetHeight","fillType","duplicate","newLength","forceRestore","currentContext","prevStack","saveOnNativeFlag","currentStack","newStack","setOpacity","trProps","checkBlendMode","tg","transformedElementStyle","matrixValue","webkitTransform","addEffects","backgroundColor","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","item","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","tempBoundingBox","b2ac","calculateF","calculateBoundingBox","expandStrokeBoundingBox","widthProperty","kfw","currentBoxContains","changed","shapeStyle","shapeTransform","compW","compH","innerElemStyle","textColor","lineHeight","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","margin","svgTransform","setup","perspectiveStyle","perspectiveElem","perspective","webkitPerspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","Image","imageElem","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","overflow","cWidth","cHeight","floatingContainer","_createBaseContainerElements","_thisLayerFunction","defineProperty","pixelAspect","frameDuration","displayStartTime","numLayers","_typeof$2","seedRandom","nodecrypto","global","rngname","startdenom","significance","ARC4","keylen","me","S","copy","flatten","result","typ","mixkey","seed","smear","stringseed","tostring","options","shortseed","entropy","randomBytes","Uint8Array","crypto","msCrypto","getRandomValues","browser","plugins","autoseed","arc4","prng","int32","quick","pass","is_math_call","state","initialize$2","propTypes","SHAPE","_typeof$1","ExpressionManager","fetch","_lottieGlobal","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","sub","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","arr2","normalize","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","property","noOp","_value","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","active","wiggle","freq","amp","iWiggle","lenWiggle","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","val2","applyEase","easeIn","ease","iKey","lenKey","nearestKey","obKey","framesToTime","fps","timeToFrames","seedrandom","randSeed","substring","posterizeTime","framesPerSecond","hasParent","executeExpression","frameExpressionId","__preventDeadCodeRemoval","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","MaskManagerInterface","MaskInterface","_mask","_data","_masksInterfaces","ExpressionPropertyInterface","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","getSpeedAtTime","propertyGroup","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","TransformExpressionInterface","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_px","_py","_pz","_transformFactory","getMatrix","toWorldMat","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","transformInterface","anchorPointDescriptor","defineProperties","anchor_point","startTime","_name","propertyGroupFactory","interfaceFunction","parentPropertyGroup","PropertyInterface","propertyName","createGroupInterface","groupInterface","mn","_propertyGroup","createValueInterface","numProperties","np","en","expressionProperty","setGroupProperty","effectsData","ShapePathInterface","view","propertyIndex","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","interfaces","transformInterfaceFactory","cix","contentsInterfaceFactory","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dash","start","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","_interfaceFunction","_sourceText","sourceText","stringValue","fillColor","_typeof","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","propertyNameIndex","outlineInterfaceFactory","dataInterface","footage","getInterface","expressionHelpers","searchExpressions","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","lastTime","propertyGetShapeProp","trims","initialize$1","addDecorator","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","initialize","SVGComposableEffect","createMergeNode","resultId","ins","feMergeNode","feMerge","linearFilterValue","SVGTintFilter","linearFilter","matrixFilter","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","globalFilterSize","feGaussianBlur","feOffset","feFlood","feComposite","colorBlack","colorWhite","groupPath","elemChildren","childNodes","removeAttribute","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","col","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","TransformEffect","SVGTransformEffect","CVTransformEffect","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","sigma","dimensions","sigmaX","sigmaY","edgeMode","forceFrame","isUniformScale","scaleHeight","scaleWidth","module","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","test3","letter","shouldUseNative","from","symbols","TypeError","toObject","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","hr","uptime","getTime","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","vendors","suffix","raf","caf","last","queue","_now","next","cancelled","handle","cancel","polyfill","cancelAnimationFrame","aa","encodeURIComponent","ba","ea","fa","ha","ia","ja","la","ma","na","oa","currentTarget","ka","pa","qa","ra","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","Ua","Va","toUpperCase","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Xa","Sa","Ta","Ra","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","Ya","E","for","Za","$a","ab","bb","db","eb","gb","hb","ib","jb","kb","lb","mb","nb","pb","displayName","$$typeof","_status","_result","qb","tag","_debugOwner","_debugSource","return","rb","sb","nodeName","xb","_valueTracker","set","configurable","enumerable","setValue","stopTracking","tb","yb","checked","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Children","Fb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","Rb","lastChild","nodeType","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","transition","Xb","Yb","Zb","$b","ac","bc","WeakMap","Map","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","hc","child","sibling","gc","ic","jc","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","containerInfo","tc","uc","has","vc","F","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","delete","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","strokeDasharray","strokeDashoffset","strokeOpacity","kd","ld","md","setProperty","nd","menuitem","area","base","br","embed","input","keygen","link","meta","param","track","wbr","od","pd","qd","sd","ud","vd","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","clearTimeout","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","G","Interface","isDefaultPrevented","defaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","documentMode","le","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","qe","keyCode","re","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","char","ue","we","date","datetime","email","month","password","range","search","tel","week","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","select","ff","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","onSelect","lf","animationName","pseudoElement","mf","clipboardData","nf","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","rf","repeat","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","H","I","Af","J","K","Bf","Cf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","L","childContextTypes","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","defaultProps","jg","kg","lg","mg","ng","og","_context","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","ug","updateQueue","baseState","baseQueue","shared","pending","vg","wg","suspenseConfig","xg","yg","zg","ca","Ag","D","Bg","Cg","Dg","Eg","Component","refs","Fg","Jg","isMounted","_reactInternalFiber","enqueueSetState","Gg","Hg","Ig","enqueueReplaceState","enqueueForceUpdate","Kg","shouldComponentUpdate","isPureReactComponent","Lg","contextType","updater","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","done","Xg","Yg","Zg","$g","ah","bh","dh","documentElement","tagName","eh","gh","M","hh","memoizedProps","revealOrder","ih","responder","jh","kh","N","O","P","mh","Q","nh","oh","ph","qh","rh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","create","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useDebugValue","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","R","Zh","$h","ai","bi","compare","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","oi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","createTextNode","ui","vi","T","xi","U","yi","zi","Ai","Bi","WeakSet","Set","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","Ri","instance","_reactRootContainer","Si","Ti","Ui","Vi","then","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","V","ej","fj","gj","hj","ij","jj","W","X","kj","mj","nj","oj","pj","Y","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","Z","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","timeout","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","vb","Uj","Vj","Wj","_ctor","default","Xj","_calculateChangedBits","unstable_observedBits","Zj","isReactComponent","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","form","Lj","lk","Events","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","replaceEmoji","makeTwemojiRenderer","optionsOrFn","pageProtocol","protocol","emojiStyle","verticalAlign","merge","baseUrl","ext","icon","match","alt","draggable","replaceStringToArray","UFE0Fg","U200D","rawText","unicodeSurrogates","sep","toCodePoint","_createClass","descriptor","writable","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_propTypes2","_shallowequal2","_raf2","_shouldUpdate3","_supportsPassiveEvents2","__esModule","noop","Headroom","_Component","_classCallCheck","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","setRef","inner","setHeightOffset","setState","resizeTicking","getScrollY","pageYOffset","getViewportHeight","clientHeight","getDocumentHeight","scrollHeight","getElementPhysicalHeight","elm","getElementHeight","getScrollerPhysicalHeight","getScrollerHeight","isOutOfBound","currentScrollY","pastTop","scrollerPhysicalHeight","scrollerHeight","handleScroll","scrollTicking","handleResize","unpin","onUnpin","translateY","unpinSnap","pin","onPin","unfix","onUnfix","lastKnownScrollY","eventListenerOptions","subClass","superClass","setPrototypeOf","_inherits","disable","passive","capture","calcHeightOnResize","nextProps","nextState","prevProps","prevState","_props","userClassName","Tag","divProps","disableInlineStyles","upTolerance","downTolerance","pinStart","wrapperStyle","innerStyle","WebkitTransform","MsTransform","WebkitTransition","MozTransition","OTransition","wrapperStyles","wrapperClassName","scrollDirection","distanceScrolled","passiveSupported","guardAgainstInvalidArgTypes","_len","_key","propIsRequired","propExists","missingPropError","make","up","down","mirror","opposite","lookup","_globals","Bounce","defaults","forever","delay","animationFillMode","_wrap2","_propTypes","_wrap","big","Fade","Flip","LightSpeed","Reveal","durationOut","delayOut","countOut","foreverOut","effectOut","inEffect","outEffect","_Fade2","in","inOut","collapse","collapseEl","cascade","wait","force","appear","enter","exit","fraction","refProp","innerRef","onReveal","unmountOnExit","mountOnEnter","ssrReveal","collapseOnly","ssrFadeout","transitionGroup","RevealBase","isOn","when","getInitialCollapseStyle","savedChild","isShown","observerMode","handleObserve","revealHandler","makeHandler","reveal","resizeHandler","saveRef","childRef","el","observe","hasExited","dispatchEvent","collapseend","animationEndTimeout","getComputedStyle","getPropertyValue","getDimensionValue","animationDuration","animationDelay","unlisten","hasAppeared","cloneElement","getChild","animationEnd","invisible","onRevealTimeout","ssr","disableSsr","intersectionRatio","disconnect","observer","IntersectionObserver","globalHide","hideAll","spy","inViewport","animate","listen","isMounting","fadeOutEnabled","getTop","whiteSpace","toArray","onExited","only","namespace","_defineProperty","ticking","isListener","offsetTop","offsetParent","Roll","Rotate","Slide","Zoom","insertRule","sheet","cssRules","log","exp","counter","effectMap","ie10","IntersectionObserverEntry","webkitRequestAnimationFrame","mozRequestAnimationFrame","appVersion","timing","domLoading","createEvent","initEvent","head","_Reveal","_Fade","_Bounce","_Roll","_Slide","_Flip","_Rotate","_LightSpeed","_Zoom","_RevealBase2","Fragment","__self","__source","jsx","jsxs","forceUpdate","keyPrefix","escape","IsSomeRendererActing","Profiler","PureComponent","StrictMode","Suspense","createContext","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","memo","MessageChannel","unstable_forceFrameRate","port2","port1","sortIndex","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","definition","scriptpath","urlArgs","doc","ids","every","ar","each","$script","idOrDone","optDone","idOrDoneIsDone","loopFn","dset","loading","onload","onerror","async","ready","req","missing","dep","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","regexpOrSubstr","newValueOrFn","globalOffset","RegExp","replaceUsingString","replaceUsingRegexp","patternString","regexp","output","replacerIsFn","storedLastIndex","exec","stringOrArray","newSubStrOrFn","arrayItem","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","chunkId","Promise","all","reduce","promises","miniCssF","globalThis","Function","inProgress","dataWebpackPrefix","script","needAttach","getAttribute","charset","onScriptComplete","prev","doneFns","toStringTag","loadStylesheet","resolve","reject","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","oldTag","linkTag","errorType","realHref","code","request","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","promise","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","StyleContext","StyleProvider","ToggleSwitch","isDark","isChecked","setChecked","styleContext","onChange","changeTheme","viewExperience","viewSkills","viewAchievement","viewBlog","viewTalks","htmlFor","Loading","DisplayLottie","defaultOptions","Button","newTab","Greeting","SocialMedia","landingPerson","SoftwareSkill","Skills","codingPerson","StackProgress","progressStyle","Build","naturalOrder","sort","peek","debug","r1","r2","histo","vboxes","vbox","_count_set","avg","_avg","gval","bval","palette","nearest","forcebw","quantize","naturalWidth","naturalHeight","getImageData","ExperienceCard","cardInfo","colorArrays","setColorArrays","imgRef","GetDescBullets","background","onLoad","colorThief","ColorThief","getColor","getColorArrays","WorkExperience","card","Projects","GithubRepoCard","FailedLoading","repo","setrepo","setrepoFunction","ok","json","user","pinnedItems","catch","StartupProject","project","AchievementCard","footer","openUrlInNewTab","Achievement","BlogCard","blog","Blogs","mediumBlogs","setMediumBlogs","setMediumBlogsFunction","getProfileData","html","includes","NaN","Footer","TalkCard","talkDetails","Talks","talk","event_url","Podcast","podcastLink","frameBorder","scrolling","EducationCard","school","Education","Top","scrollFunction","onscroll","_toPropertyKey","arg","hint","prim","toPrimitive","res","_defineProperties","_getPrototypeOf","_setPrototypeOf","getPalette","colorCount","quality","isInteger","getColorFromUrl","btoa","getColorAsync","twitterWidgetJs","TwitterTimelineEmbed","isLoading","chrome","noHeader","noFooter","noBorders","noScrollbar","transparent","autoHeight","embedContainer","theme","linkColor","borderColor","lang","isMountCanceled","twttr","widgets","createTimeline","sourceType","screenName","userId","ownerScreenName","slug","widgetId","_this2","_this3","buildOptions","buildChromeOptions","renderWidget","placeholder","isRequiredIf","createShareButton","createFollowButton","createHashtagButton","createMentionButton","createTweet","tweetId","createMoment","momentId","shareMoment","createDMButton","createVideo","createPeriscopeOnAirButton","renderLoader","cantDisplayError","widthScreen","Twitter","Contact","_Fragment","GithubProfileCard","Profile","prof","setProfileFunction","SplashScreen","Main","darkPref","matchMedia","setIsDark","useLocalStorage","storedValue","setStoredValue","localStorage","getItem","valueToStore","setItem","matches","isShowingSplashAnimation","setIsShowingSplashAnimation","splashTimer","Header","ScrollToTopButton","Boolean","hostname","ReactDOM","App","serviceWorker","registration","unregister"],"sourceRoot":""}