{"version":3,"file":"react-preview.js","mappings":"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","sources":["webpack://ReactPreview/webpack/universalModuleDefinition","webpack://ReactPreview/./node_modules/@babel/runtime/regenerator/index.js","webpack://ReactPreview/./node_modules/axios/index.js","webpack://ReactPreview/./node_modules/axios/lib/adapters/xhr.js","webpack://ReactPreview/./node_modules/axios/lib/axios.js","webpack://ReactPreview/./node_modules/axios/lib/cancel/Cancel.js","webpack://ReactPreview/./node_modules/axios/lib/cancel/CancelToken.js","webpack://ReactPreview/./node_modules/axios/lib/cancel/isCancel.js","webpack://ReactPreview/./node_modules/axios/lib/core/Axios.js","webpack://ReactPreview/./node_modules/axios/lib/core/InterceptorManager.js","webpack://ReactPreview/./node_modules/axios/lib/core/buildFullPath.js","webpack://ReactPreview/./node_modules/axios/lib/core/createError.js","webpack://ReactPreview/./node_modules/axios/lib/core/dispatchRequest.js","webpack://ReactPreview/./node_modules/axios/lib/core/enhanceError.js","webpack://ReactPreview/./node_modules/axios/lib/core/mergeConfig.js","webpack://ReactPreview/./node_modules/axios/lib/core/settle.js","webpack://ReactPreview/./node_modules/axios/lib/core/transformData.js","webpack://ReactPreview/./node_modules/axios/lib/defaults.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/bind.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/buildURL.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/combineURLs.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/cookies.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/spread.js","webpack://ReactPreview/./node_modules/axios/lib/helpers/validator.js","webpack://ReactPreview/./node_modules/axios/lib/utils.js","webpack://ReactPreview/./src/assets/DefaultImages/BusinessCard.png","webpack://ReactPreview/./src/assets/DefaultImages/FrontPageBanner.png","webpack://ReactPreview/./src/assets/DefaultImages/FrontPageBannerMobile.png","webpack://ReactPreview/./src/assets/DefaultImages/IconCard.png","webpack://ReactPreview/./src/assets/DefaultImages/ImageCard.png","webpack://ReactPreview/./src/assets/DefaultImages/InfoCard.png","webpack://ReactPreview/./src/assets/DefaultImages/NewsCard.png","webpack://ReactPreview/./src/assets/DefaultImages/WideCard.png","webpack://ReactPreview/./src/assets/DefaultImages/WideCardMobile.png","webpack://ReactPreview/./src/assets/Icons/png/sticky_chat_black.png","webpack://ReactPreview/./src/assets/Icons/png/sticky_chat_white.png","webpack://ReactPreview/./src/assets/Icons/png/sticky_phone_black.png","webpack://ReactPreview/./src/assets/Icons/png/sticky_phone_white.png","webpack://ReactPreview/./src/assets/Icons/png/sticky_post_black.png","webpack://ReactPreview/./src/assets/Icons/png/sticky_post_white.png","webpack://ReactPreview/./src/assets/Icons/svg/icon_Arrow_Down_Blue.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Arrow_Right_Blue.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Arrow_Right_DarkGray.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Arrow_Right_White.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Arrow_SlideSHow.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Menubar_Lock.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Menubar_Profile.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Search_Blue.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Search_White.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Social_Facebook.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Social_LinkedIn.svg","webpack://ReactPreview/./src/assets/Icons/svg/icon_Warning_Error.svg","webpack://ReactPreview/./src/assets/Images/AppStore.png","webpack://ReactPreview/./src/assets/Images/GooglePlay.png","webpack://ReactPreview/./src/assets/Images/Iphone_beta.png","webpack://ReactPreview/./src/assets/Images/Mac_beta.png","webpack://ReactPreview/./src/assets/Logo/AP2.svg","webpack://ReactPreview/./src/assets/Logo/PJD2.svg","webpack://ReactPreview/./src/assets/Logo/isp.svg","webpack://ReactPreview/./src/assets/Logo/sampension_mere_vaerd_neg.svg","webpack://ReactPreview/./src/assets/Logo/white.svg","webpack://ReactPreview/./src/assets/OGData/AP_logo.jpg","webpack://ReactPreview/./src/assets/OGData/ISP_logo.jpg","webpack://ReactPreview/./src/assets/OGData/PJD_logo.jpg","webpack://ReactPreview/./src/assets/OGData/Sampension1200.jpg","webpack://ReactPreview/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://ReactPreview/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://ReactPreview/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://ReactPreview/./node_modules/lottie-web/build/player/lottie.js","webpack://ReactPreview/./node_modules/object-assign/index.js","webpack://ReactPreview/./node_modules/process/browser.js","webpack://ReactPreview/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://ReactPreview/./node_modules/prop-types/index.js","webpack://ReactPreview/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://ReactPreview/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://ReactPreview/./node_modules/react-dom/index.js","webpack://ReactPreview/./node_modules/react-fast-compare/index.js","webpack://ReactPreview/./node_modules/react-helmet/lib/Helmet.js","webpack://ReactPreview/./node_modules/react-helmet/lib/HelmetConstants.js","webpack://ReactPreview/./node_modules/react-helmet/lib/HelmetUtils.js","webpack://ReactPreview/./node_modules/react-is/cjs/react-is.production.min.js","webpack://ReactPreview/./node_modules/react-is/index.js","webpack://ReactPreview/./node_modules/react-reveal/RevealBase.js","webpack://ReactPreview/./node_modules/react-reveal/Slide.js","webpack://ReactPreview/./node_modules/react-reveal/globals.js","webpack://ReactPreview/./node_modules/react-reveal/makeCarousel.js","webpack://ReactPreview/./node_modules/react-reveal/swipedetect.js","webpack://ReactPreview/./node_modules/react-reveal/wrap.js","webpack://ReactPreview/./node_modules/react-side-effect/lib/index.js","webpack://ReactPreview/./node_modules/react/cjs/react.production.min.js","webpack://ReactPreview/./node_modules/react/index.js","webpack://ReactPreview/./node_modules/regenerator-runtime/runtime.js","webpack://ReactPreview/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://ReactPreview/./node_modules/scheduler/index.js","webpack://ReactPreview/./node_modules/shallowequal/index.js","webpack://ReactPreview/./node_modules/universal-cookie/node_modules/cookie/index.js","webpack://ReactPreview/webpack/bootstrap","webpack://ReactPreview/webpack/runtime/create fake namespace object","webpack://ReactPreview/webpack/runtime/compat get default export","webpack://ReactPreview/webpack/runtime/define property getters","webpack://ReactPreview/webpack/runtime/global","webpack://ReactPreview/webpack/runtime/hasOwnProperty shorthand","webpack://ReactPreview/webpack/runtime/make namespace object","webpack://ReactPreview/webpack/runtime/publicPath","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js","webpack://ReactPreview/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://ReactPreview/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://ReactPreview/./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack://ReactPreview/./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://ReactPreview/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://ReactPreview/./src/components/CommonComponents/AlignContentCenter/index.js","webpack://ReactPreview/./src/components/CommonComponents/VAlignContentCenter/index.js","webpack://ReactPreview/./src/components/CommonComponents/Collapsible/Collapsable.js","webpack://ReactPreview/./src/components/CommonComponents/Collapsible/index.js","webpack://ReactPreview/./src/cssGuides/MediaQuerys.js","webpack://ReactPreview/./src/components/CommonComponents/Columns/index.js","webpack://ReactPreview/./src/components/CommonComponents/ColumnsDefined/index.js","webpack://ReactPreview/./src/components/CommonComponents/FullWrapper/index.js","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://ReactPreview/./src/mocks/Gatsby.js","webpack://ReactPreview/./src/theme/sampension.js","webpack://ReactPreview/./src/theme/isp.js","webpack://ReactPreview/./src/theme/firmapension.js","webpack://ReactPreview/./src/theme/ap.js","webpack://ReactPreview/./src/theme/index.js","webpack://ReactPreview/./src/theme/pjd.js","webpack://ReactPreview/./src/cssGuides/colorGuide.js","webpack://ReactPreview/./src/components/CommonComponents/UniCodeIcons/index.js","webpack://ReactPreview/./src/components/CommonComponents/Goto/Index.js","webpack://ReactPreview/./src/components/CommonComponents/HistoryBack/index.js","webpack://ReactPreview/./src/components/CommonComponents/IfMobileHideComponent/index.js","webpack://ReactPreview/./src/cssGuides/commonStyles.js","webpack://ReactPreview/./src/components/CommonComponents/InsertImage/index.js","webpack://ReactPreview/./src/components/CommonComponents/Promote_app/index.js","webpack://ReactPreview/./src/components/CommonComponents/ReadMoreComponent/Index.js","webpack://ReactPreview/./src/components/CommonComponents/Spinner/index.js","webpack://ReactPreview/./node_modules/universal-cookie/es6/utils.js","webpack://ReactPreview/./node_modules/universal-cookie/es6/Cookies.js","webpack://ReactPreview/./node_modules/universal-cookie/es6/index.js","webpack://ReactPreview/./src/components/CommonComponents/Iframe/index.js","webpack://ReactPreview/./src/components/CommonComponents/Url/index.js","webpack://ReactPreview/./src/components/CommonComponents/WrapperComponent/index.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalButton.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalForm.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalCheckbox.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalRadioButton.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalList.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/embed-responsive-16by9.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalHelperClasses.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalBody.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalModal.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalHeader.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalParagraph.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalLink.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/globalFocus.js","webpack://ReactPreview/./src/cssGuides/GlobalStyles/index.js","webpack://ReactPreview/./src/components/CommonComponents/StoryWrapper/index.js","webpack://ReactPreview/./src/components/PageComponents/Banner/overlay.js","webpack://ReactPreview/./src/components/PageComponents/Banner/styledcomponents.js","webpack://ReactPreview/./src/template/components/BannerContent.js","webpack://ReactPreview/./src/template/Overlay.js","webpack://ReactPreview/./src/template/helperFunctions.js","webpack://ReactPreview/./src/components/PageComponents/Banner/index.js","webpack://ReactPreview/./src/components/PageComponents/Beta/styledcomponents.js","webpack://ReactPreview/./src/components/PageComponents/Modal/index.js","webpack://ReactPreview/./src/components/PageComponents/Beta/index.js","webpack://ReactPreview/./src/components/PageComponents/BlockArea/index.js","webpack://ReactPreview/./src/components/PageComponents/BlockAreaFullWidth/index.js","webpack://ReactPreview/./src/components/PageComponents/CollapseableFAQ/styledcomponents.js","webpack://ReactPreview/./src/components/PageComponents/CollapseableFAQ/index.js","webpack://ReactPreview/./src/components/PageComponents/CollapsibleTextArea/styles.js","webpack://ReactPreview/./src/components/PageComponents/CollapsibleTextArea/index.js","webpack://ReactPreview/./src/components/PageComponents/CookieInformation/index.js","webpack://ReactPreview/./src/components/PageComponents/DivContainer/index.js","webpack://ReactPreview/./src/components/PageComponents/HtmlRender/index.js","webpack://ReactPreview/./src/components/PageComponents/HtmlTable/styledDesktop.js","webpack://ReactPreview/./src/components/PageComponents/HtmlTable/desktop.js","webpack://ReactPreview/./src/components/PageComponents/HtmlTable/styledMobile.js","webpack://ReactPreview/./src/components/PageComponents/HtmlTable/Collap.js","webpack://ReactPreview/./src/components/PageComponents/HtmlTable/mobile.js","webpack://ReactPreview/./src/components/PageComponents/HtmlTable/index.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContainer/ContainerLink.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContainer/index.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContent/icon.js","webpack://ReactPreview/./src/components/PageComponents/Cards/IconCard.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContent/bgImage.js","webpack://ReactPreview/./src/components/PageComponents/Cards/ImageCard.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContent/info.js","webpack://ReactPreview/./src/components/PageComponents/Cards/InfoCard.js","webpack://ReactPreview/./src/components/PageComponents/InfoTags_Pages/styledcomponents.js","webpack://ReactPreview/./src/components/PageComponents/InfoTags_Pages/index.js","webpack://ReactPreview/./src/components/PageComponents/LightBox/index.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContent/news.js","webpack://ReactPreview/./src/components/PageComponents/Cards/NewsCard.js","webpack://ReactPreview/./src/components/PageComponents/SearchModule/styledcomponents.js","webpack://ReactPreview/./src/components/PageComponents/SearchModule/index.js","webpack://ReactPreview/./src/components/PageComponents/SignupEmail/styledcomponents.js","webpack://ReactPreview/./src/components/PageComponents/SignupEmail/index.js","webpack://ReactPreview/./src/components/PageComponents/Slideshow/styledcomponents.js","webpack://ReactPreview/./src/components/PageComponents/Slideshow/index.js","webpack://ReactPreview/./src/components/PageComponents/Slideshow/SlideContent/index.js","webpack://ReactPreview/./src/components/PageComponents/TextArea/index.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContent/business.js","webpack://ReactPreview/./src/components/PageComponents/Cards/BusinessCard.js","webpack://ReactPreview/./src/components/PageComponents/Cards/CardContent/wide.js","webpack://ReactPreview/./src/components/PageComponents/Cards/WideCard.js","webpack://ReactPreview/./src/components/PageComponents/Lottie/LottieAsync.js","webpack://ReactPreview/./src/components/PageComponents/YoutubeVideo/index.js","webpack://ReactPreview/./src/components/PageComponents/EsgTracker/styled.js","webpack://ReactPreview/./src/components/PageComponents/EsgTracker/index.js","webpack://ReactPreview/./src/template/DefaultPropTypes.js","webpack://ReactPreview/./src/components/LayoutComponents/FooterComponent/styledcomponents.js","webpack://ReactPreview/./src/components/LayoutComponents/FooterComponent/index.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Variables.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/MainMenu.js","webpack://ReactPreview/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://ReactPreview/./src/template/components/DesktopTools/PuzzelClient.js","webpack://ReactPreview/./src/template/components/DesktopTools/PuzzelContext.js","webpack://ReactPreview/./src/Context/loginContextCache.js","webpack://ReactPreview/./src/Context/loginContext.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/MainMenu.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/MainMenuBar.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/Login.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/MainMenuBar.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/Desktop.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/Desktop.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/Mobile.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/Mobile.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/MegaMenu.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/MegaMenu.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/Sidebar.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/SearchBar.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/Components/SideBar.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/StyledComponents/Navigation.js","webpack://ReactPreview/./src/components/LayoutComponents/NavBarComponent/index.js","webpack://ReactPreview/./src/template/components/DesktopTools/ChatView.js","webpack://ReactPreview/./src/template/components/DesktopTools/styledcomponents.js","webpack://ReactPreview/./src/template/components/DesktopTools/index.js","webpack://ReactPreview/./src/components/CommonComponents/CookieConsent/Context.js","webpack://ReactPreview/./src/template/CustomLayout.js","webpack://ReactPreview/./src/template/components/Wrappers.js","webpack://ReactPreview/./src/template/Template1.js","webpack://ReactPreview/./src/template/components/Content.js","webpack://ReactPreview/./src/template/Template2.js","webpack://ReactPreview/./src/template/Template3.js","webpack://ReactPreview/./src/template/TemplateFullWidth.js","webpack://ReactPreview/./src/components/index.js","webpack://ReactPreview/./src/template/RenderPage.js","webpack://ReactPreview/./src/lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactPreview\"] = factory();\n\telse\n\t\troot[\"ReactPreview\"] = factory();\n})(self, function() {\nreturn ","module.exports = require(\"regenerator-runtime\");\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","module.exports = __webpack_public_path__ + \"BusinessCard.png\";","module.exports = __webpack_public_path__ + \"FrontPageBanner.png\";","module.exports = __webpack_public_path__ + \"FrontPageBannerMobile.png\";","module.exports = __webpack_public_path__ + \"IconCard.png\";","module.exports = __webpack_public_path__ + \"ImageCard.png\";","module.exports = __webpack_public_path__ + \"InfoCard.png\";","module.exports = __webpack_public_path__ + \"NewsCard.png\";","module.exports = __webpack_public_path__ + \"WideCard.png\";","module.exports = __webpack_public_path__ + \"WideCardMobile.png\";","module.exports = \"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAc0lEQVR4Ae3OMQ6AIBBE0eHO9kqH8aJY6Q3W6WgMkWIFkvnJ7x9mTwUeeebmfOaRB1RK3H5+R6W7A+hCJSu7Z+WpQQIJJJBAAgkkkEACrdwczy2ghZvz6SvIG3PyyKvZyxu8awAd6NloGIyGwWAY1o5R6gGPLCYyyKCkcQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAcElEQVR4Ae3OsQmAQBBFwbVnc71MsdEz0g6eoYKyiLAuB38qGJOmAR1QgEq8ChSg80IT/5u90M7/Nid0smBcKKSQQgoppJBCCinUcggYiFVfh4CeeNOrUHyGFSjm4dloWbhbLJOfSeBnEviZBB8yIgdBuLXMntzdhwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAABmElEQVR4Ae2UAURDURiFv6kiRQVViEKUQgSIVoVEBLWSUgBlQCORLAChkKBQhSoWSBJBEopQIbBQVSGUxKJe/K5ru67t5QLsO/Cfd+YzPI9/kWWCqM4MRaCJMEI7hfgihJeSZTTqSYIjRgmQgWlDdJ4q0rkmSFrChiiOhgVi3Orlh3HSMGyIPjGpYIpPtUaxIbTgGakDi+xErcPYocIUMaG3MG2UIJDDuqzfNGGHF0O0ikL1bcql5XMj/Qw7bBii2WSR5IFa6Q38SO/BymCK5og8vSxyrJ4+UgnAqrQYVgpIaM2+aJLp5E2WTWmNcn+Rj5WY1uRa1gHZfimWFpcWxEqHEtVg50rWfrl35B7CDhcyH2BnRdZJuRfkjmCHdjxJH86si+iVKhwp5VlUccpwpFW9bjcU44b+pFwZ/yrAGDOEqCWAT+aU6o6qJM0WnkqCey7YpYCMzONJnhmQniMaM2F8MKt/fkoze3iWRPFFNx94Og4iqObQWaTp5dJZpAmyxrujSJNHF0s8pYhCOFBCPR0MEWEcsvjnDwtqNXHNkGoiAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAABlUlEQVR4Ae3UM7hlVxgA0D+2bdtJF9u2kzKqYqNNMrZtNGPb9jRj28Ya3e9q9nM76/hsM46pCF/5O3v87szI8r1PPOGMKA/vKlQ/sgC79PeZ46J0flFofGTJN8NjURrfKDQ/stTQzVwy9vmytIw+VmhrFHGpn2wF/B0l8ZBit0YkMhsO+DjSXKrYV7lme9y5mfcTtAK73RtpVirUNBsCdHTJ4a+TzQSjI01rhf4syoilbjr8fYd94OVI8b58/Z2UDalpEGCZy+IgTUG3SHGaXWT0zGaT4SnrQJvDX3eC7U6OFN2y2ZyYCH0P7HfO4a/5ID05PQm4LpJMB+/EQTqBDyPNBNA7kjQB32VmO3wfaZ4AvB1VpRVY5aqoGudZAea7OKrGo/aBmc6JykhsKdMLa+U4n/vdu25yXJSPfwALXJXLRgcZdlligs5Oi7L4D7DCe5lV38HRvomy+VOGkR7QXcrfUR5esFnp/o7yca2+lcgozWsmVyKjNI9paVMlMkpxkufUtVy+d6PynOs2T/rQ976MYyrgAF8xwvGD/QhMAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAA00lEQVR4Ae2UAQYCQRiFvwpIJxidIegQQdRN6gSxoIC6SSF0iEJnyLKBIgHlL3nwR9s2hLLfg90x883Mw1Dyw1RIyLAPk5FQwTHGIjPBcYwWHXDYI0sCRQkstcphyokhVd5RY8AZeylStrTIo8UWw/JEXVIM48KMOg7RYMoVw0jpvhb5iR2e6fiN8kT+6AsCgiZzf/V3Ilemyn/+p5BIBFYa3bDW14qAKCgSPVJM2dEHiBOpfJVLtEi07xHxIlGK/luUYZHJvvT4w4j9x5I9CT9MyQ3NQF4xCbGCogAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAA0UlEQVR4Ae3UAQbCUADG8VcB6QTTGYIOEYy6SZ0gBgqomxSGHaKwM2RsoEhA+cfHsKdt7RGW/YAx/719eKbTXvQISGkqJaBXDG1wtS2Gbri6FkNCiGe+hEeI2CHhzop+bWTAkgdUhCRmUpmZECPlIZ8EgCd7hh8jI3a8AEjwS0PWizNjYVb8UHnIPvpR4wtjDvavV4asMTW+/WykPiR4RCBnTiAROmGTkDAnIXdhYcQhlI+fj+seEqZMjbiHbF3oT0MprtIfXP7CmoymMgLTabE3xZvmtirEU3wAAAAASUVORK5CYII=\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDE2IDEwIj4KICAgIDxwYXRoIGZpbGw9IiM2NUE1QzQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguMDc0IDYuMjQyTDEzLjYzMS40ODdsMS40MzkgMS4zOUw5LjUxMyA3LjYzIDguMTIzIDkuMDcuOTMgMi4xMjMgMi4zMi42ODVsNS43NTQgNS41NTd6Ii8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDIxIDE1Ij4KICAgIDxwYXRoIGZpbGw9IiM1NGE4ZDEiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE2Ljc0MyA4LjIwN0gwdi0yaDE3LjA5NWwtNC45MzgtNC43NjhMMTMuNTQ3IDAgMTkuMyA1LjU1N2wxLjQ0IDEuMzktNi45NDcgNy4xOTMtMS40NC0xLjM5IDQuMzg5LTQuNTQzeiIvPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDIxIDE1Ij4KICAgIDxwYXRoIGZpbGw9IiM0NjQ1NDMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE2Ljc0MyA4LjIwN0gwdi0yaDE3LjA5NWwtNC45MzgtNC43NjhMMTMuNTQ3IDAgMTkuMyA1LjU1N2wxLjQ0IDEuMzktNi45NDcgNy4xOTMtMS40NC0xLjM5IDQuMzg5LTQuNTQzeiIvPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDIxIDE1Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE2Ljc0MyA4LjIwN0gwdi0yaDE3LjA5NWwtNC45MzgtNC43NjhMMTMuNTQ3IDAgMTkuMyA1LjU1N2wxLjQ0IDEuMzktNi45NDcgNy4xOTMtMS40NC0xLjM5IDQuMzg5LTQuNTQzeiIvPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MCIgaGVpZ2h0PSI3MCIgdmlld0JveD0iMCAwIDcwIDcwIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNzAgMCkiPgogICAgICAgIDxjaXJjbGUgY3g9IjM1IiBjeT0iMzUiIHI9IjM1IiBmaWxsPSIjNDY0NTQzIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTMwLjYzNyAzNC44ODlsOC42MzItOC4zMzYtMi4wODQtMi4xNTgtOC42MzIgOC4zMzYtMi4xNTggMi4wODQgMTAuNDIgMTAuNzkgMi4xNTgtMi4wODQtOC4zMzYtOC42MzJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMSIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDExIDE0Ij4KICAgIDxwYXRoIGZpbGw9IiM1RjVGNUYiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTEuMTI1IDE0aDguMjVjLjYxOSAwIDEuMTI1LS41MTQgMS4xMjUtMS4xNDNWNi4zODFjMC0uNjI5LS41MDYtMS4xNDMtMS4xMjUtMS4xNDNoLS4xODh2LTEuMkM5LjE4OCAxLjgxIDcuNDI1IDAgNS4yNSAwUzEuMzEyIDEuODEgMS4zMTIgNC4wMzh2MS4yaC0uMTg3Qy41MDYgNS4yMzggMCA1Ljc1MiAwIDYuMzgxdjYuNDc2QzAgMTMuNDg2LjUwNiAxNCAxLjEyNSAxNHptMS41NDgtOS45YzAtMS40OTIgMS4xNzEtMi43IDIuNjIyLTIuNyAxLjQ1IDAgMi42MjIgMS4yMDggMi42MjIgMi43djEuMTE4SDIuNjczVjQuMXoiLz4KPC9zdmc+Cg==\"","module.exports = __webpack_public_path__ + \"icon_Menubar_Profile.svg\";","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGZpbGw9IiM1NEE4RDEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTE2LjQxNCAxNWw3LjA3MSA3LjA3Mi0xLjQxNCAxLjQxNEwxNSAxNi40MTV6Ii8+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOS41IDE3YTcuNSA3LjUgMCAxIDAgMC0xNSA3LjUgNy41IDAgMCAwIDAgMTV6bTAgMmE5LjUgOS41IDAgMSAxIDAtMTkgOS41IDkuNSAwIDAgMSAwIDE5eiIvPgogICAgPC9nPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTE2LjQxNCAxNWw3LjA3MSA3LjA3Mi0xLjQxNCAxLjQxNEwxNSAxNi40MTV6Ii8+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNOS41IDE3YTcuNSA3LjUgMCAxIDAgMC0xNSA3LjUgNy41IDAgMCAwIDAgMTV6bTAgMmE5LjUgOS41IDAgMSAxIDAtMTkgOS41IDkuNSAwIDAgMSAwIDE5eiIvPgogICAgPC9nPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI1IDI0Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIuMjM2IDI0YTEuMzI1IDEuMzI1IDAgMCAxLTEuMzI1LTEuMzI1VjEuMzI1Qy45MTEuNTkzIDEuNTA0IDAgMi4yMzYgMGgyMS4zNWMuNzMyIDAgMS4zMjUuNTkzIDEuMzI1IDEuMzI1djIxLjM1YzAgLjczMi0uNTkzIDEuMzI1LTEuMzI0IDEuMzI1SDE3LjQ3di05LjI5NGgzLjEybC40NjctMy42MjJIMTcuNDdWOC43N2MwLTEuMDQ4LjI5MS0xLjc2MyAxLjc5NS0xLjc2M2gxLjkxOHYtMy4yNGMtLjMzMi0uMDQ1LTEuNDctLjE0My0yLjc5NS0uMTQzLTIuNzY1IDAtNC42NTggMS42ODgtNC42NTggNC43ODh2Mi42N2gtMy4xMjh2My42MjNoMy4xMjhWMjRIMi4yMzZ6Ii8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI4IDI0Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTI3LjMxMSAyNGgtNS44MzR2LTguNDM3YzAtMi4yMDgtLjkxMy0zLjcxNi0yLjkyLTMuNzE2LTEuNTM1IDAtMi4zODkgMS4wMTctMi43ODYgMS45OTgtLjE1LjM1Mi0uMTI2Ljg0Mi0uMTI2IDEuMzMyVjI0aC01Ljc4cy4wNzQtMTQuOTQ1IDAtMTYuMzA0aDUuNzh2Mi41NTljLjM0MS0xLjExOSAyLjE4OS0yLjcxNiA1LjEzNi0yLjcxNiAzLjY1NyAwIDYuNTMgMi4zNDYgNi41MyA3LjM5NVYyNHpNNC4wMiA1LjY1N2gtLjAzN0MyLjExOSA1LjY1Ny45MTIgNC40MS45MTIgMi44My45MTEgMS4yMiAyLjE1NCAwIDQuMDU0IDAgNS45NTMgMCA3LjEyIDEuMjE3IDcuMTU3IDIuODI2YzAgMS41OC0xLjIwNCAyLjgzLTMuMTM4IDIuODN6bS0yLjQ0MiAyLjA0aDUuMTQ2VjI0SDEuNTc3VjcuNjk2eiIvPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxwYXRoIGZpbGw9IiNDQTNBM0EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTNoMnYySDl2LTJ6bTAtOGgydjZIOVY1em0uOTktNUM0LjQ3IDAgMCA0LjQ4IDAgMTBzNC40NyAxMCA5Ljk5IDEwQzE1LjUyIDIwIDIwIDE1LjUyIDIwIDEwUzE1LjUyIDAgOS45OSAwek0xMCAxOGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6Ii8+Cjwvc3ZnPgo=\"","module.exports = __webpack_public_path__ + \"AppStore.png\";","module.exports = __webpack_public_path__ + \"GooglePlay.png\";","module.exports = __webpack_public_path__ + \"Iphone_beta.png\";","module.exports = __webpack_public_path__ + \"Mac_beta.png\";","module.exports = __webpack_public_path__ + \"AP2.svg\";","module.exports = __webpack_public_path__ + \"PJD2.svg\";","module.exports = __webpack_public_path__ + \"isp.svg\";","module.exports = __webpack_public_path__ + \"sampension_mere_vaerd_neg.svg\";","module.exports = __webpack_public_path__ + \"white.svg\";","module.exports = __webpack_public_path__ + \"AP_logo.jpg\";","module.exports = __webpack_public_path__ + \"ISP_logo.jpg\";","module.exports = __webpack_public_path__ + \"PJD_logo.jpg\";","module.exports = __webpack_public_path__ + \"Sampension1200.jpg\";","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.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'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","(typeof navigator !== \"undefined\") && (function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(function() {\n return factory(root);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(root);\n } else {\n root.lottie = factory(root);\n root.bodymovin = root.lottie;\n }\n}((window || {}), function(window) {\n\t/* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\nexpressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix, idPrefix:writable, _useWebWorker:writable */\r\n/* exported locationHref, subframeEnabled, expressionsPlugin, idPrefix, _useWebWorker */\r\n\r\n'use strict';\r\n\r\n/* exported svgNS, locationHref, initialDefaultFrame, _useWebWorker */\r\n\r\nvar svgNS = 'http://www.w3.org/2000/svg';\r\n\r\nvar locationHref = '';\r\n\r\nvar initialDefaultFrame = -999999;\r\n\r\nvar _useWebWorker = false;\r\n\r\n/* global createSizedArray */\r\n/* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\ndefaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\nBMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\naddSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\r\n\r\nvar subframeEnabled = true;\r\nvar idPrefix = '';\r\nvar expressionsPlugin;\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\nvar cachedColors = {};\r\nvar bmRnd;\r\nvar bmPow = Math.pow;\r\nvar bmSqrt = Math.sqrt;\r\nvar bmFloor = Math.floor;\r\nvar bmMax = Math.max;\r\nvar bmMin = Math.min;\r\n\r\nvar BMMath = {};\r\n(function () {\r\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'];\r\n var i;\r\n var len = propertyNames.length;\r\n for (i = 0; i < len; i += 1) {\r\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\r\n }\r\n}());\r\n\r\nfunction ProjectInterface() { return {}; }\r\n\r\nBMMath.random = Math.random;\r\nBMMath.abs = function (val) {\r\n var tOfVal = typeof val;\r\n if (tOfVal === 'object' && val.length) {\r\n var absArr = createSizedArray(val.length);\r\n var i;\r\n var len = val.length;\r\n for (i = 0; i < len; i += 1) {\r\n absArr[i] = Math.abs(val[i]);\r\n }\r\n return absArr;\r\n }\r\n return Math.abs(val);\r\n};\r\nvar defaultCurveSegments = 150;\r\nvar degToRads = Math.PI / 180;\r\nvar roundCorner = 0.5519;\r\n\r\nfunction roundValues(flag) {\r\n if (flag) {\r\n bmRnd = Math.round;\r\n } else {\r\n bmRnd = function (val) {\r\n return val;\r\n };\r\n }\r\n}\r\nroundValues(false);\r\n\r\nfunction styleDiv(element) {\r\n element.style.position = 'absolute';\r\n element.style.top = 0;\r\n element.style.left = 0;\r\n element.style.display = 'block';\r\n element.style.transformOrigin = '0 0';\r\n element.style.webkitTransformOrigin = '0 0';\r\n element.style.backfaceVisibility = 'visible';\r\n element.style.webkitBackfaceVisibility = 'visible';\r\n element.style.transformStyle = 'preserve-3d';\r\n element.style.webkitTransformStyle = 'preserve-3d';\r\n element.style.mozTransformStyle = 'preserve-3d';\r\n}\r\n\r\nfunction BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\r\n this.type = type;\r\n this.currentTime = currentTime;\r\n this.totalTime = totalTime;\r\n this.direction = frameMultiplier < 0 ? -1 : 1;\r\n}\r\n\r\nfunction BMCompleteEvent(type, frameMultiplier) {\r\n this.type = type;\r\n this.direction = frameMultiplier < 0 ? -1 : 1;\r\n}\r\n\r\nfunction BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\r\n this.type = type;\r\n this.currentLoop = currentLoop;\r\n this.totalLoops = totalLoops;\r\n this.direction = frameMultiplier < 0 ? -1 : 1;\r\n}\r\n\r\nfunction BMSegmentStartEvent(type, firstFrame, totalFrames) {\r\n this.type = type;\r\n this.firstFrame = firstFrame;\r\n this.totalFrames = totalFrames;\r\n}\r\n\r\nfunction BMDestroyEvent(type, target) {\r\n this.type = type;\r\n this.target = target;\r\n}\r\n\r\nfunction BMRenderFrameErrorEvent(nativeError, currentTime) {\r\n this.type = 'renderFrameError';\r\n this.nativeError = nativeError;\r\n this.currentTime = currentTime;\r\n}\r\n\r\nfunction BMConfigErrorEvent(nativeError) {\r\n this.type = 'configError';\r\n this.nativeError = nativeError;\r\n}\r\n\r\nfunction BMAnimationConfigErrorEvent(type, nativeError) {\r\n this.type = type;\r\n this.nativeError = nativeError;\r\n}\r\n\r\nvar createElementID = (function () {\r\n var _count = 0;\r\n return function createID() {\r\n _count += 1;\r\n return idPrefix + '__lottie_element_' + _count;\r\n };\r\n}());\r\n\r\nfunction HSVtoRGB(h, s, v) {\r\n var r;\r\n var g;\r\n var b;\r\n var i;\r\n var f;\r\n var p;\r\n var q;\r\n var t;\r\n i = Math.floor(h * 6);\r\n f = h * 6 - i;\r\n p = v * (1 - s);\r\n q = v * (1 - f * s);\r\n t = v * (1 - (1 - f) * s);\r\n switch (i % 6) {\r\n case 0: r = v; g = t; b = p; break;\r\n case 1: r = q; g = v; b = p; break;\r\n case 2: r = p; g = v; b = t; break;\r\n case 3: r = p; g = q; b = v; break;\r\n case 4: r = t; g = p; b = v; break;\r\n case 5: r = v; g = p; b = q; break;\r\n default: break;\r\n }\r\n return [r,\r\n g,\r\n b];\r\n}\r\n\r\nfunction RGBtoHSV(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var d = max - min;\r\n var h;\r\n var s = (max === 0 ? 0 : d / max);\r\n var v = max / 255;\r\n\r\n switch (max) {\r\n case min: h = 0; break;\r\n case r: h = (g - b) + d * (g < b ? 6 : 0); h /= 6 * d; break;\r\n case g: h = (b - r) + d * 2; h /= 6 * d; break;\r\n case b: h = (r - g) + d * 4; h /= 6 * d; break;\r\n default: break;\r\n }\r\n\r\n return [\r\n h,\r\n s,\r\n v,\r\n ];\r\n}\r\n\r\nfunction addSaturationToRGB(color, offset) {\r\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\r\n hsv[1] += offset;\r\n if (hsv[1] > 1) {\r\n hsv[1] = 1;\r\n } else if (hsv[1] <= 0) {\r\n hsv[1] = 0;\r\n }\r\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\r\n}\r\n\r\nfunction addBrightnessToRGB(color, offset) {\r\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\r\n hsv[2] += offset;\r\n if (hsv[2] > 1) {\r\n hsv[2] = 1;\r\n } else if (hsv[2] < 0) {\r\n hsv[2] = 0;\r\n }\r\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\r\n}\r\n\r\nfunction addHueToRGB(color, offset) {\r\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\r\n hsv[0] += offset / 360;\r\n if (hsv[0] > 1) {\r\n hsv[0] -= 1;\r\n } else if (hsv[0] < 0) {\r\n hsv[0] += 1;\r\n }\r\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\r\n}\r\n\r\nvar rgbToHex = (function () {\r\n var colorMap = [];\r\n var i;\r\n var hex;\r\n for (i = 0; i < 256; i += 1) {\r\n hex = i.toString(16);\r\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\r\n }\r\n\r\n return function (r, g, b) {\r\n if (r < 0) {\r\n r = 0;\r\n }\r\n if (g < 0) {\r\n g = 0;\r\n }\r\n if (b < 0) {\r\n b = 0;\r\n }\r\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\r\n };\r\n}());\r\n\r\nfunction BaseEvent() {}\r\nBaseEvent.prototype = {\r\n triggerEvent: function (eventName, args) {\r\n if (this._cbs[eventName]) {\r\n var callbacks = this._cbs[eventName];\r\n for (var i = 0; i < callbacks.length; i += 1) {\r\n callbacks[i](args);\r\n }\r\n }\r\n },\r\n addEventListener: function (eventName, callback) {\r\n if (!this._cbs[eventName]) {\r\n this._cbs[eventName] = [];\r\n }\r\n this._cbs[eventName].push(callback);\r\n\r\n return function () {\r\n this.removeEventListener(eventName, callback);\r\n }.bind(this);\r\n },\r\n removeEventListener: function (eventName, callback) {\r\n if (!callback) {\r\n this._cbs[eventName] = null;\r\n } else if (this._cbs[eventName]) {\r\n var i = 0;\r\n var len = this._cbs[eventName].length;\r\n while (i < len) {\r\n if (this._cbs[eventName][i] === callback) {\r\n this._cbs[eventName].splice(i, 1);\r\n i -= 1;\r\n len -= 1;\r\n }\r\n i += 1;\r\n }\r\n if (!this._cbs[eventName].length) {\r\n this._cbs[eventName] = null;\r\n }\r\n }\r\n },\r\n};\r\n\r\n/* exported createTypedArray, createSizedArray */\r\n\r\nvar createTypedArray = (function () {\r\n function createRegularArray(type, len) {\r\n var i = 0;\r\n var arr = [];\r\n var value;\r\n switch (type) {\r\n case 'int16':\r\n case 'uint8c':\r\n value = 1;\r\n break;\r\n default:\r\n value = 1.1;\r\n break;\r\n }\r\n for (i = 0; i < len; i += 1) {\r\n arr.push(value);\r\n }\r\n return arr;\r\n }\r\n function createTypedArrayFactory(type, len) {\r\n if (type === 'float32') {\r\n return new Float32Array(len);\r\n } if (type === 'int16') {\r\n return new Int16Array(len);\r\n } if (type === 'uint8c') {\r\n return new Uint8ClampedArray(len);\r\n }\r\n return createRegularArray(type, len);\r\n }\r\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\r\n return createTypedArrayFactory;\r\n }\r\n return createRegularArray;\r\n}());\r\n\r\nfunction createSizedArray(len) {\r\n return Array.apply(null, { length: len });\r\n}\r\n\r\n/* global svgNS */\r\n/* exported createNS */\r\n\r\nfunction createNS(type) {\r\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\r\n return document.createElementNS(svgNS, type);\r\n}\r\n\r\n/* exported createTag */\r\n\r\nfunction createTag(type) {\r\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\r\n return document.createElement(type);\r\n}\r\n\r\nfunction DynamicPropertyContainer() {}\r\nDynamicPropertyContainer.prototype = {\r\n addDynamicProperty: function (prop) {\r\n if (this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n this.container.addDynamicProperty(this);\r\n this._isAnimated = true;\r\n }\r\n },\r\n iterateDynamicProperties: function () {\r\n this._mdf = false;\r\n var i;\r\n var len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n },\r\n initDynamicPropertyContainer: function (container) {\r\n this.container = container;\r\n this.dynamicProperties = [];\r\n this._mdf = false;\r\n this._isAnimated = false;\r\n },\r\n};\r\n\r\n/* exported getBlendMode */\r\n\r\nvar getBlendMode = (function () {\r\n var blendModeEnums = {\r\n 0: 'source-over',\r\n 1: 'multiply',\r\n 2: 'screen',\r\n 3: 'overlay',\r\n 4: 'darken',\r\n 5: 'lighten',\r\n 6: 'color-dodge',\r\n 7: 'color-burn',\r\n 8: 'hard-light',\r\n 9: 'soft-light',\r\n 10: 'difference',\r\n 11: 'exclusion',\r\n 12: 'hue',\r\n 13: 'saturation',\r\n 14: 'color',\r\n 15: 'luminosity',\r\n };\r\n\r\n return function (mode) {\r\n return blendModeEnums[mode] || '';\r\n };\r\n}());\r\n\r\n/* exported lineCapEnum, lineJoinEnum */\r\n\r\nvar lineCapEnum = {\r\n 1: 'butt',\r\n 2: 'round',\r\n 3: 'square',\r\n};\r\n\r\nvar lineJoinEnum = {\r\n 1: 'miter',\r\n 2: 'round',\r\n 3: 'bevel',\r\n};\r\n\r\n/* global createTypedArray */\r\n\r\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 */\r\n\r\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 */\r\n\r\nvar Matrix = (function () {\r\n var _cos = Math.cos;\r\n var _sin = Math.sin;\r\n var _tan = Math.tan;\r\n var _rnd = Math.round;\r\n\r\n function reset() {\r\n this.props[0] = 1;\r\n this.props[1] = 0;\r\n this.props[2] = 0;\r\n this.props[3] = 0;\r\n this.props[4] = 0;\r\n this.props[5] = 1;\r\n this.props[6] = 0;\r\n this.props[7] = 0;\r\n this.props[8] = 0;\r\n this.props[9] = 0;\r\n this.props[10] = 1;\r\n this.props[11] = 0;\r\n this.props[12] = 0;\r\n this.props[13] = 0;\r\n this.props[14] = 0;\r\n this.props[15] = 1;\r\n return this;\r\n }\r\n\r\n function rotate(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateX(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateY(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function rotateZ(angle) {\r\n if (angle === 0) {\r\n return this;\r\n }\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function shear(sx, sy) {\r\n return this._t(1, sy, sx, 1, 0, 0);\r\n }\r\n\r\n function skew(ax, ay) {\r\n return this.shear(_tan(ax), _tan(ay));\r\n }\r\n\r\n function skewFromAxis(ax, angle) {\r\n var mCos = _cos(angle);\r\n var mSin = _sin(angle);\r\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n ._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n ._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\r\n }\r\n\r\n function scale(sx, sy, sz) {\r\n if (!sz && sz !== 0) {\r\n sz = 1;\r\n }\r\n if (sx === 1 && sy === 1 && sz === 1) {\r\n return this;\r\n }\r\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\r\n }\r\n\r\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\r\n this.props[0] = a;\r\n this.props[1] = b;\r\n this.props[2] = c;\r\n this.props[3] = d;\r\n this.props[4] = e;\r\n this.props[5] = f;\r\n this.props[6] = g;\r\n this.props[7] = h;\r\n this.props[8] = i;\r\n this.props[9] = j;\r\n this.props[10] = k;\r\n this.props[11] = l;\r\n this.props[12] = m;\r\n this.props[13] = n;\r\n this.props[14] = o;\r\n this.props[15] = p;\r\n return this;\r\n }\r\n\r\n function translate(tx, ty, tz) {\r\n tz = tz || 0;\r\n if (tx !== 0 || ty !== 0 || tz !== 0) {\r\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\r\n }\r\n return this;\r\n }\r\n\r\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\r\n var _p = this.props;\r\n\r\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) {\r\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\r\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\r\n _p[12] = _p[12] * a2 + _p[15] * m2;\r\n _p[13] = _p[13] * f2 + _p[15] * n2;\r\n _p[14] = _p[14] * k2 + _p[15] * o2;\r\n _p[15] *= p2;\r\n // }\r\n this._identityCalculated = false;\r\n return this;\r\n }\r\n\r\n var a1 = _p[0];\r\n var b1 = _p[1];\r\n var c1 = _p[2];\r\n var d1 = _p[3];\r\n var e1 = _p[4];\r\n var f1 = _p[5];\r\n var g1 = _p[6];\r\n var h1 = _p[7];\r\n var i1 = _p[8];\r\n var j1 = _p[9];\r\n var k1 = _p[10];\r\n var l1 = _p[11];\r\n var m1 = _p[12];\r\n var n1 = _p[13];\r\n var o1 = _p[14];\r\n var p1 = _p[15];\r\n\r\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\r\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\r\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\r\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\r\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\r\n\r\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\r\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\r\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\r\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\r\n\r\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\r\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\r\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\r\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\r\n\r\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\r\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\r\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\r\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\r\n\r\n this._identityCalculated = false;\r\n return this;\r\n }\r\n\r\n function isIdentity() {\r\n if (!this._identityCalculated) {\r\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);\r\n this._identityCalculated = true;\r\n }\r\n return this._identity;\r\n }\r\n\r\n function equals(matr) {\r\n var i = 0;\r\n while (i < 16) {\r\n if (matr.props[i] !== this.props[i]) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n }\r\n\r\n function clone(matr) {\r\n var i;\r\n for (i = 0; i < 16; i += 1) {\r\n matr.props[i] = this.props[i];\r\n }\r\n return matr;\r\n }\r\n\r\n function cloneFromProps(props) {\r\n var i;\r\n for (i = 0; i < 16; i += 1) {\r\n this.props[i] = props[i];\r\n }\r\n }\r\n\r\n function applyToPoint(x, y, z) {\r\n return {\r\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\r\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\r\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14],\r\n };\r\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 }; */\r\n }\r\n function applyToX(x, y, z) {\r\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\r\n }\r\n function applyToY(x, y, z) {\r\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\r\n }\r\n function applyToZ(x, y, z) {\r\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\r\n }\r\n\r\n function getInverseMatrix() {\r\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\r\n var a = this.props[5] / determinant;\r\n var b = -this.props[1] / determinant;\r\n var c = -this.props[4] / determinant;\r\n var d = this.props[0] / determinant;\r\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\r\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\r\n var inverseMatrix = new Matrix();\r\n inverseMatrix.props[0] = a;\r\n inverseMatrix.props[1] = b;\r\n inverseMatrix.props[4] = c;\r\n inverseMatrix.props[5] = d;\r\n inverseMatrix.props[12] = e;\r\n inverseMatrix.props[13] = f;\r\n return inverseMatrix;\r\n }\r\n\r\n function inversePoint(pt) {\r\n var inverseMatrix = this.getInverseMatrix();\r\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\r\n }\r\n\r\n function inversePoints(pts) {\r\n var i;\r\n var len = pts.length;\r\n var retPts = [];\r\n for (i = 0; i < len; i += 1) {\r\n retPts[i] = inversePoint(pts[i]);\r\n }\r\n return retPts;\r\n }\r\n\r\n function applyToTriplePoints(pt1, pt2, pt3) {\r\n var arr = createTypedArray('float32', 6);\r\n if (this.isIdentity()) {\r\n arr[0] = pt1[0];\r\n arr[1] = pt1[1];\r\n arr[2] = pt2[0];\r\n arr[3] = pt2[1];\r\n arr[4] = pt3[0];\r\n arr[5] = pt3[1];\r\n } else {\r\n var p0 = this.props[0];\r\n var p1 = this.props[1];\r\n var p4 = this.props[4];\r\n var p5 = this.props[5];\r\n var p12 = this.props[12];\r\n var p13 = this.props[13];\r\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\r\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\r\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\r\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\r\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\r\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\r\n }\r\n return arr;\r\n }\r\n\r\n function applyToPointArray(x, y, z) {\r\n var arr;\r\n if (this.isIdentity()) {\r\n arr = [x, y, z];\r\n } else {\r\n arr = [\r\n x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\r\n x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\r\n x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14],\r\n ];\r\n }\r\n return arr;\r\n }\r\n\r\n function applyToPointStringified(x, y) {\r\n if (this.isIdentity()) {\r\n return x + ',' + y;\r\n }\r\n var _p = this.props;\r\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;\r\n }\r\n\r\n function toCSS() {\r\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.\r\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\r\n var i = 0;\r\n var props = this.props;\r\n var cssValue = 'matrix3d(';\r\n var v = 10000;\r\n while (i < 16) {\r\n cssValue += _rnd(props[i] * v) / v;\r\n cssValue += i === 15 ? ')' : ',';\r\n i += 1;\r\n }\r\n return cssValue;\r\n }\r\n\r\n function roundMatrixProperty(val) {\r\n var v = 10000;\r\n if ((val < 0.000001 && val > 0) || (val > -0.000001 && val < 0)) {\r\n return _rnd(val * v) / v;\r\n }\r\n return val;\r\n }\r\n\r\n function to2dCSS() {\r\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.\r\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\r\n var props = this.props;\r\n var _a = roundMatrixProperty(props[0]);\r\n var _b = roundMatrixProperty(props[1]);\r\n var _c = roundMatrixProperty(props[4]);\r\n var _d = roundMatrixProperty(props[5]);\r\n var _e = roundMatrixProperty(props[12]);\r\n var _f = roundMatrixProperty(props[13]);\r\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\r\n }\r\n\r\n return function () {\r\n this.reset = reset;\r\n this.rotate = rotate;\r\n this.rotateX = rotateX;\r\n this.rotateY = rotateY;\r\n this.rotateZ = rotateZ;\r\n this.skew = skew;\r\n this.skewFromAxis = skewFromAxis;\r\n this.shear = shear;\r\n this.scale = scale;\r\n this.setTransform = setTransform;\r\n this.translate = translate;\r\n this.transform = transform;\r\n this.applyToPoint = applyToPoint;\r\n this.applyToX = applyToX;\r\n this.applyToY = applyToY;\r\n this.applyToZ = applyToZ;\r\n this.applyToPointArray = applyToPointArray;\r\n this.applyToTriplePoints = applyToTriplePoints;\r\n this.applyToPointStringified = applyToPointStringified;\r\n this.toCSS = toCSS;\r\n this.to2dCSS = to2dCSS;\r\n this.clone = clone;\r\n this.cloneFromProps = cloneFromProps;\r\n this.equals = equals;\r\n this.inversePoints = inversePoints;\r\n this.inversePoint = inversePoint;\r\n this.getInverseMatrix = getInverseMatrix;\r\n this._t = this.transform;\r\n this.isIdentity = isIdentity;\r\n this._identity = true;\r\n this._identityCalculated = false;\r\n\r\n this.props = createTypedArray('float32', 16);\r\n this.reset();\r\n };\r\n}());\r\n\r\n/* eslint-disable */\r\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 */\r\n\r\n(function (pool, math) {\r\n//\r\n// The following constants are related to IEEE 754 limits.\r\n//\r\n var global = this,\r\n width = 256, // each RC4 output is 0 <= x < 256\r\n chunks = 6, // at least six RC4 outputs for each double\r\n digits = 52, // there are 52 significant digits in a double\r\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\r\n startdenom = math.pow(width, chunks),\r\n significance = math.pow(2, digits),\r\n overflow = significance * 2,\r\n mask = width - 1,\r\n nodecrypto; // node.js crypto module, initialized at the bottom.\r\n\r\n//\r\n// seedrandom()\r\n// This is the seedrandom function described above.\r\n//\r\n function seedrandom(seed, options, callback) {\r\n var key = [];\r\n options = (options === true) ? { entropy: true } : (options || {});\r\n\r\n // Flatten the seed string or build one from local entropy if needed.\r\n var shortseed = mixkey(flatten(\r\n options.entropy ? [seed, tostring(pool)] :\r\n (seed === null) ? autoseed() : seed, 3), key);\r\n\r\n // Use the seed to initialize an ARC4 generator.\r\n var arc4 = new ARC4(key);\r\n\r\n // This function returns a random double in [0, 1) that contains\r\n // randomness in every bit of the mantissa of the IEEE 754 value.\r\n var prng = function() {\r\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\r\n d = startdenom, // and denominator d = 2 ^ 48.\r\n x = 0; // and no 'extra last byte'.\r\n while (n < significance) { // Fill up all significant digits by\r\n n = (n + x) * width; // shifting numerator and\r\n d *= width; // denominator and generating a\r\n x = arc4.g(1); // new least-significant-byte.\r\n }\r\n while (n >= overflow) { // To avoid rounding up, before adding\r\n n /= 2; // last byte, shift everything\r\n d /= 2; // right using integer math until\r\n x >>>= 1; // we have exactly the desired bits.\r\n }\r\n return (n + x) / d; // Form the number within [0, 1).\r\n };\r\n\r\n prng.int32 = function() { return arc4.g(4) | 0; };\r\n prng.quick = function() { return arc4.g(4) / 0x100000000; };\r\n prng.double = prng;\r\n\r\n // Mix the randomness into accumulated entropy.\r\n mixkey(tostring(arc4.S), pool);\r\n\r\n // Calling convention: what to return as a function of prng, seed, is_math.\r\n return (options.pass || callback ||\r\n function(prng, seed, is_math_call, state) {\r\n if (state) {\r\n // Load the arc4 state from the given state if it has an S array.\r\n if (state.S) { copy(state, arc4); }\r\n // Only provide the .state method if requested via options.state.\r\n prng.state = function() { return copy(arc4, {}); };\r\n }\r\n\r\n // If called as a method of Math (Math.seedrandom()), mutate\r\n // Math.random because that is how seedrandom.js has worked since v1.0.\r\n if (is_math_call) { math[rngname] = prng; return seed; }\r\n\r\n // Otherwise, it is a newer calling convention, so return the\r\n // prng directly.\r\n else return prng;\r\n })(\r\n prng,\r\n shortseed,\r\n 'global' in options ? options.global : (this == math),\r\n options.state);\r\n }\r\n math['seed' + rngname] = seedrandom;\r\n\r\n//\r\n// ARC4\r\n//\r\n// An ARC4 implementation. The constructor takes a key in the form of\r\n// an array of at most (width) integers that should be 0 <= x < (width).\r\n//\r\n// The g(count) method returns a pseudorandom integer that concatenates\r\n// the next (count) outputs from ARC4. Its return value is a number x\r\n// that is in the range 0 <= x < (width ^ count).\r\n//\r\n function ARC4(key) {\r\n var t, keylen = key.length,\r\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\r\n\r\n // The empty key [] is treated as [0].\r\n if (!keylen) { key = [keylen++]; }\r\n\r\n // Set up S using the standard key scheduling algorithm.\r\n while (i < width) {\r\n s[i] = i++;\r\n }\r\n for (i = 0; i < width; i++) {\r\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\r\n s[j] = t;\r\n }\r\n\r\n // The \"g\" method returns the next (count) outputs as one number.\r\n me.g = function(count) {\r\n // Using instance members instead of closure state nearly doubles speed.\r\n var t, r = 0,\r\n i = me.i, j = me.j, s = me.S;\r\n while (count--) {\r\n t = s[i = mask & (i + 1)];\r\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\r\n }\r\n me.i = i; me.j = j;\r\n return r;\r\n // For robust unpredictability, the function call below automatically\r\n // discards an initial batch of values. This is called RC4-drop[256].\r\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\r\n };\r\n }\r\n\r\n//\r\n// copy()\r\n// Copies internal state of ARC4 to or from a plain object.\r\n//\r\n function copy(f, t) {\r\n t.i = f.i;\r\n t.j = f.j;\r\n t.S = f.S.slice();\r\n return t;\r\n }\r\n\r\n//\r\n// flatten()\r\n// Converts an object tree to nested arrays of strings.\r\n//\r\n function flatten(obj, depth) {\r\n var result = [], typ = (typeof obj), prop;\r\n if (depth && typ == 'object') {\r\n for (prop in obj) {\r\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\r\n }\r\n }\r\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\r\n }\r\n\r\n//\r\n// mixkey()\r\n// Mixes a string seed into a key that is an array of integers, and\r\n// returns a shortened string seed that is equivalent to the result key.\r\n//\r\n function mixkey(seed, key) {\r\n var stringseed = seed + '', smear, j = 0;\r\n while (j < stringseed.length) {\r\n key[mask & j] =\r\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\r\n }\r\n return tostring(key);\r\n }\r\n\r\n//\r\n// autoseed()\r\n// Returns an object for autoseeding, using window.crypto and Node crypto\r\n// module if available.\r\n//\r\n function autoseed() {\r\n try {\r\n if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); }\r\n var out = new Uint8Array(width);\r\n (global.crypto || global.msCrypto).getRandomValues(out);\r\n return tostring(out);\r\n } catch (e) {\r\n var browser = global.navigator,\r\n plugins = browser && browser.plugins;\r\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\r\n }\r\n }\r\n\r\n//\r\n// tostring()\r\n// Converts an array of charcodes to a string\r\n//\r\n function tostring(a) {\r\n return String.fromCharCode.apply(0, a);\r\n }\r\n\r\n//\r\n// When seedrandom.js is loaded, we immediately mix a few bits\r\n// from the built-in RNG into the entropy pool. Because we do\r\n// not want to interfere with deterministic PRNG state later,\r\n// seedrandom will not call math.random on its own again after\r\n// initialization.\r\n//\r\n mixkey(math.random(), pool);\r\n\r\n//\r\n// Nodejs and AMD support: export the implementation as a module using\r\n// either convention.\r\n//\r\n\r\n// End anonymous scope, and pass initial values.\r\n})(\r\n [], // pool: entropy pool starts empty\r\n BMMath // math: package containing random, pow, and seedrandom\r\n);\r\n/* eslint-disable */\r\nvar BezierFactory = (function () {\r\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 */\r\n\r\n var ob = {};\r\n ob.getBezierEasing = getBezierEasing;\r\n var beziers = {};\r\n\r\n function getBezierEasing(a, b, c, d, nm) {\r\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\r\n if (beziers[str]) {\r\n return beziers[str];\r\n }\r\n var bezEasing = new BezierEasing([a, b, c, d]);\r\n beziers[str] = bezEasing;\r\n return bezEasing;\r\n }\r\n\r\n // These values are established by empiricism with tests (tradeoff: performance VS precision)\r\n var NEWTON_ITERATIONS = 4;\r\n var NEWTON_MIN_SLOPE = 0.001;\r\n var SUBDIVISION_PRECISION = 0.0000001;\r\n var SUBDIVISION_MAX_ITERATIONS = 10;\r\n\r\n var kSplineTableSize = 11;\r\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\r\n\r\n var float32ArraySupported = typeof Float32Array === 'function';\r\n\r\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\r\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\r\n function C(aA1) { return 3.0 * aA1; }\r\n\r\n // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\r\n function calcBezier(aT, aA1, aA2) {\r\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\r\n }\r\n\r\n // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\r\n function getSlope(aT, aA1, aA2) {\r\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\r\n }\r\n\r\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\r\n var currentX,\r\n currentT,\r\n i = 0;\r\n do {\r\n currentT = aA + (aB - aA) / 2.0;\r\n currentX = calcBezier(currentT, mX1, mX2) - aX;\r\n if (currentX > 0.0) {\r\n aB = currentT;\r\n } else {\r\n aA = currentT;\r\n }\r\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\r\n return currentT;\r\n }\r\n\r\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\r\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\r\n var currentSlope = getSlope(aGuessT, mX1, mX2);\r\n if (currentSlope === 0.0) return aGuessT;\r\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\r\n aGuessT -= currentX / currentSlope;\r\n }\r\n return aGuessT;\r\n }\r\n\r\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\r\n function BezierEasing(points) {\r\n this._p = points;\r\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\r\n this._precomputed = false;\r\n\r\n this.get = this.get.bind(this);\r\n }\r\n\r\n BezierEasing.prototype = {\r\n\r\n get: function (x) {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n if (!this._precomputed) this._precompute();\r\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\r\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\r\n if (x === 0) return 0;\r\n if (x === 1) return 1;\r\n return calcBezier(this._getTForX(x), mY1, mY2);\r\n },\r\n\r\n // Private part\r\n\r\n _precompute: function () {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n this._precomputed = true;\r\n if (mX1 !== mY1 || mX2 !== mY2) { this._calcSampleValues(); }\r\n },\r\n\r\n _calcSampleValues: function () {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2];\r\n for (var i = 0; i < kSplineTableSize; ++i) {\r\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\r\n }\r\n },\r\n\r\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\r\n _getTForX: function (aX) {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2],\r\n mSampleValues = this._mSampleValues;\r\n\r\n var intervalStart = 0.0;\r\n var currentSample = 1;\r\n var lastSample = kSplineTableSize - 1;\r\n\r\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\r\n intervalStart += kSampleStepSize;\r\n }\r\n --currentSample;\r\n\r\n // Interpolate to provide an initial guess for t\r\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\r\n var guessForT = intervalStart + dist * kSampleStepSize;\r\n\r\n var initialSlope = getSlope(guessForT, mX1, mX2);\r\n if (initialSlope >= NEWTON_MIN_SLOPE) {\r\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\r\n } if (initialSlope === 0.0) {\r\n return guessForT;\r\n }\r\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\r\n },\r\n };\r\n\r\n return ob;\r\n}());\r\n\r\n(function () {\r\n var lastTime = 0;\r\n var vendors = ['ms', 'moz', 'webkit', 'o'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { // eslint-disable-line no-plusplus\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n if (!window.requestAnimationFrame) {\r\n window.requestAnimationFrame = function (callback) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = setTimeout(function () {\r\n callback(currTime + timeToCall);\r\n },\r\n timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n }\r\n if (!window.cancelAnimationFrame) {\r\n window.cancelAnimationFrame = function (id) {\r\n clearTimeout(id);\r\n };\r\n }\r\n}());\r\n\r\n/* exported extendPrototype, getDescriptor, createProxyFunction */\r\n\r\nfunction extendPrototype(sources, destination) {\r\n var i;\r\n var len = sources.length;\r\n var sourcePrototype;\r\n for (i = 0; i < len; i += 1) {\r\n sourcePrototype = sources[i].prototype;\r\n for (var attr in sourcePrototype) {\r\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\r\n }\r\n }\r\n}\r\n\r\nfunction getDescriptor(object, prop) {\r\n return Object.getOwnPropertyDescriptor(object, prop);\r\n}\r\n\r\nfunction createProxyFunction(prototype) {\r\n function ProxyFunction() {}\r\n ProxyFunction.prototype = prototype;\r\n return ProxyFunction;\r\n}\r\n\r\n/* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\r\n/* exported bez */\r\n\r\nfunction bezFunction() {\r\n var math = Math;\r\n\r\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\r\n var det1 = (x1 * y2) + (y1 * x3) + (x2 * y3) - (x3 * y2) - (y3 * x1) - (x2 * y1);\r\n return det1 > -0.001 && det1 < 0.001;\r\n }\r\n\r\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\r\n if (z1 === 0 && z2 === 0 && z3 === 0) {\r\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\r\n }\r\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\r\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\r\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\r\n var diffDist;\r\n if (dist1 > dist2) {\r\n if (dist1 > dist3) {\r\n diffDist = dist1 - dist2 - dist3;\r\n } else {\r\n diffDist = dist3 - dist2 - dist1;\r\n }\r\n } else if (dist3 > dist2) {\r\n diffDist = dist3 - dist2 - dist1;\r\n } else {\r\n diffDist = dist2 - dist1 - dist3;\r\n }\r\n return diffDist > -0.0001 && diffDist < 0.0001;\r\n }\r\n\r\n var getBezierLength = (function () {\r\n return function (pt1, pt2, pt3, pt4) {\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i;\r\n var len;\r\n var ptCoord;\r\n var perc;\r\n var addedLength = 0;\r\n var ptDistance;\r\n var point = [];\r\n var lastPoint = [];\r\n var lengthData = bezierLengthPool.newElement();\r\n len = pt3.length;\r\n for (k = 0; k < curveSegments; k += 1) {\r\n perc = k / (curveSegments - 1);\r\n ptDistance = 0;\r\n for (i = 0; i < len; i += 1) {\r\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];\r\n point[i] = ptCoord;\r\n if (lastPoint[i] !== null) {\r\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\r\n }\r\n lastPoint[i] = point[i];\r\n }\r\n if (ptDistance) {\r\n ptDistance = bmSqrt(ptDistance);\r\n addedLength += ptDistance;\r\n }\r\n lengthData.percents[k] = perc;\r\n lengthData.lengths[k] = addedLength;\r\n }\r\n lengthData.addedLength = addedLength;\r\n return lengthData;\r\n };\r\n }());\r\n\r\n function getSegmentsLength(shapeData) {\r\n var segmentsLength = segmentsLengthPool.newElement();\r\n var closed = shapeData.c;\r\n var pathV = shapeData.v;\r\n var pathO = shapeData.o;\r\n var pathI = shapeData.i;\r\n var i;\r\n var len = shapeData._length;\r\n var lengths = segmentsLength.lengths;\r\n var totalLength = 0;\r\n for (i = 0; i < len - 1; i += 1) {\r\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\r\n totalLength += lengths[i].addedLength;\r\n }\r\n if (closed && len) {\r\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\r\n totalLength += lengths[i].addedLength;\r\n }\r\n segmentsLength.totalLength = totalLength;\r\n return segmentsLength;\r\n }\r\n\r\n function BezierData(length) {\r\n this.segmentLength = 0;\r\n this.points = new Array(length);\r\n }\r\n\r\n function PointData(partial, point) {\r\n this.partialLength = partial;\r\n this.point = point;\r\n }\r\n\r\n var buildBezierData = (function () {\r\n var storedData = {};\r\n\r\n return function (pt1, pt2, pt3, pt4) {\r\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\r\n if (!storedData[bezierName]) {\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i;\r\n var len;\r\n var ptCoord;\r\n var perc;\r\n var addedLength = 0;\r\n var ptDistance;\r\n var point;\r\n var lastPoint = null;\r\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])) {\r\n curveSegments = 2;\r\n }\r\n var bezierData = new BezierData(curveSegments);\r\n len = pt3.length;\r\n for (k = 0; k < curveSegments; k += 1) {\r\n point = createSizedArray(len);\r\n perc = k / (curveSegments - 1);\r\n ptDistance = 0;\r\n for (i = 0; i < len; i += 1) {\r\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];\r\n point[i] = ptCoord;\r\n if (lastPoint !== null) {\r\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\r\n }\r\n }\r\n ptDistance = bmSqrt(ptDistance);\r\n addedLength += ptDistance;\r\n bezierData.points[k] = new PointData(ptDistance, point);\r\n lastPoint = point;\r\n }\r\n bezierData.segmentLength = addedLength;\r\n storedData[bezierName] = bezierData;\r\n }\r\n return storedData[bezierName];\r\n };\r\n }());\r\n\r\n function getDistancePerc(perc, bezierData) {\r\n var percents = bezierData.percents;\r\n var lengths = bezierData.lengths;\r\n var len = percents.length;\r\n var initPos = bmFloor((len - 1) * perc);\r\n var lengthPos = perc * bezierData.addedLength;\r\n var lPerc = 0;\r\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\r\n return percents[initPos];\r\n }\r\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\r\n var flag = true;\r\n while (flag) {\r\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\r\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\r\n flag = false;\r\n } else {\r\n initPos += dir;\r\n }\r\n if (initPos < 0 || initPos >= len - 1) {\r\n // FIX for TypedArrays that don't store floating point values with enough accuracy\r\n if (initPos === len - 1) {\r\n return percents[initPos];\r\n }\r\n flag = false;\r\n }\r\n }\r\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\r\n }\r\n\r\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\r\n var t1 = getDistancePerc(percent, bezierData);\r\n var u1 = 1 - t1;\r\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;\r\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;\r\n return [ptX, ptY];\r\n }\r\n\r\n var bezierSegmentPoints = createTypedArray('float32', 8);\r\n\r\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\r\n if (startPerc < 0) {\r\n startPerc = 0;\r\n } else if (startPerc > 1) {\r\n startPerc = 1;\r\n }\r\n var t0 = getDistancePerc(startPerc, bezierData);\r\n endPerc = endPerc > 1 ? 1 : endPerc;\r\n var t1 = getDistancePerc(endPerc, bezierData);\r\n var i;\r\n var len = pt1.length;\r\n var u0 = 1 - t0;\r\n var u1 = 1 - t1;\r\n var u0u0u0 = u0 * u0 * u0;\r\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\r\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\r\n var t0t0t0 = t0 * t0 * t0;\r\n //\r\n var u0u0u1 = u0 * u0 * u1;\r\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\r\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\r\n var t0t0t1 = t0 * t0 * t1;\r\n //\r\n var u0u1u1 = u0 * u1 * u1;\r\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\r\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\r\n var t0t1t1 = t0 * t1 * t1;\r\n //\r\n var u1u1u1 = u1 * u1 * u1;\r\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\r\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\r\n var t1t1t1 = t1 * t1 * t1;\r\n for (i = 0; i < len; i += 1) {\r\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\r\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\r\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\r\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\r\n }\r\n\r\n return bezierSegmentPoints;\r\n }\r\n\r\n return {\r\n getSegmentsLength: getSegmentsLength,\r\n getNewSegment: getNewSegment,\r\n getPointInSegment: getPointInSegment,\r\n buildBezierData: buildBezierData,\r\n pointOnLine2D: pointOnLine2D,\r\n pointOnLine3D: pointOnLine3D,\r\n };\r\n}\r\n\r\nvar bez = bezFunction();\r\n\r\n/* global _useWebWorker */\r\n\r\nvar dataManager = (function () {\r\n var _counterId = 1;\r\n var processes = [];\r\n var workerFn;\r\n var workerInstance;\r\n var workerProxy = {\r\n onmessage: function () {\r\n\r\n },\r\n postMessage: function (path) {\r\n workerFn({\r\n data: path,\r\n });\r\n },\r\n };\r\n var _workerSelf = {\r\n postMessage: function (data) {\r\n workerProxy.onmessage({\r\n data: data,\r\n });\r\n },\r\n };\r\n function createWorker(fn) {\r\n if (window.Worker && window.Blob && _useWebWorker) {\r\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], { type: 'text/javascript' });\r\n // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\r\n var url = URL.createObjectURL(blob);\r\n return new Worker(url);\r\n }\r\n workerFn = fn;\r\n return workerProxy;\r\n }\r\n\r\n function setupWorker() {\r\n if (!workerInstance) {\r\n workerInstance = createWorker(function workerStart(e) {\r\n /* exported dataManager */\r\n\r\n function dataFunctionManager() {\r\n // var tCanvasHelper = createTag('canvas').getContext('2d');\r\n\r\n function completeLayers(layers, comps) {\r\n var layerData;\r\n var i;\r\n var len = layers.length;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n for (i = 0; i < len; i += 1) {\r\n layerData = layers[i];\r\n if (('ks' in layerData) && !layerData.completed) {\r\n layerData.completed = true;\r\n if (layerData.tt) {\r\n layers[i - 1].td = layerData.tt;\r\n }\r\n if (layerData.hasMask) {\r\n var maskProps = layerData.masksProperties;\r\n jLen = maskProps.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (maskProps[j].pt.k.i) {\r\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\r\n } else {\r\n kLen = maskProps[j].pt.k.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n if (maskProps[j].pt.k[k].s) {\r\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\r\n }\r\n if (maskProps[j].pt.k[k].e) {\r\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (layerData.ty === 0) {\r\n layerData.layers = findCompLayers(layerData.refId, comps);\r\n completeLayers(layerData.layers, comps);\r\n } else if (layerData.ty === 4) {\r\n completeShapes(layerData.shapes);\r\n } else if (layerData.ty === 5) {\r\n completeText(layerData);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function findCompLayers(id, comps) {\r\n var i = 0;\r\n var len = comps.length;\r\n while (i < len) {\r\n if (comps[i].id === id) {\r\n if (!comps[i].layers.__used) {\r\n comps[i].layers.__used = true;\r\n return comps[i].layers;\r\n }\r\n return JSON.parse(JSON.stringify(comps[i].layers));\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n\r\n function completeShapes(arr) {\r\n var i;\r\n var len = arr.length;\r\n var j;\r\n var jLen;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (arr[i].ty === 'sh') {\r\n if (arr[i].ks.k.i) {\r\n convertPathsToAbsoluteValues(arr[i].ks.k);\r\n } else {\r\n jLen = arr[i].ks.k.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (arr[i].ks.k[j].s) {\r\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\r\n }\r\n if (arr[i].ks.k[j].e) {\r\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\r\n }\r\n }\r\n }\r\n } else if (arr[i].ty === 'gr') {\r\n completeShapes(arr[i].it);\r\n }\r\n }\r\n }\r\n\r\n function convertPathsToAbsoluteValues(path) {\r\n var i;\r\n var len = path.i.length;\r\n for (i = 0; i < len; i += 1) {\r\n path.i[i][0] += path.v[i][0];\r\n path.i[i][1] += path.v[i][1];\r\n path.o[i][0] += path.v[i][0];\r\n path.o[i][1] += path.v[i][1];\r\n }\r\n }\r\n\r\n function checkVersion(minimum, animVersionString) {\r\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\r\n if (minimum[0] > animVersion[0]) {\r\n return true;\r\n } if (animVersion[0] > minimum[0]) {\r\n return false;\r\n }\r\n if (minimum[1] > animVersion[1]) {\r\n return true;\r\n } if (animVersion[1] > minimum[1]) {\r\n return false;\r\n }\r\n if (minimum[2] > animVersion[2]) {\r\n return true;\r\n } if (animVersion[2] > minimum[2]) {\r\n return false;\r\n }\r\n return null;\r\n }\r\n\r\n var checkText = (function () {\r\n var minimumVersion = [4, 4, 14];\r\n\r\n function updateTextLayer(textLayer) {\r\n var documentData = textLayer.t.d;\r\n textLayer.t.d = {\r\n k: [\r\n {\r\n s: documentData,\r\n t: 0,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var i;\r\n var len = layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (layers[i].ty === 5) {\r\n updateTextLayer(layers[i]);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkChars = (function () {\r\n var minimumVersion = [4, 7, 99];\r\n return function (animationData) {\r\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\r\n var i;\r\n var len = animationData.chars.length;\r\n var j;\r\n var jLen;\r\n var pathData;\r\n var paths;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\r\n paths = animationData.chars[i].data.shapes[0].it;\r\n jLen = paths.length;\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = paths[j].ks.k;\r\n if (!pathData.__converted) {\r\n convertPathsToAbsoluteValues(paths[j].ks.k);\r\n pathData.__converted = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkPathProperties = (function () {\r\n var minimumVersion = [5, 7, 15];\r\n\r\n function updateTextLayer(textLayer) {\r\n var pathData = textLayer.t.p;\r\n if (typeof pathData.a === 'number') {\r\n pathData.a = {\r\n a: 0,\r\n k: pathData.a,\r\n };\r\n }\r\n if (typeof pathData.p === 'number') {\r\n pathData.p = {\r\n a: 0,\r\n k: pathData.p,\r\n };\r\n }\r\n if (typeof pathData.r === 'number') {\r\n pathData.r = {\r\n a: 0,\r\n k: pathData.r,\r\n };\r\n }\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var i;\r\n var len = layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (layers[i].ty === 5) {\r\n updateTextLayer(layers[i]);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkColors = (function () {\r\n var minimumVersion = [4, 1, 9];\r\n\r\n function iterateShapes(shapes) {\r\n var i;\r\n var len = shapes.length;\r\n var j;\r\n var jLen;\r\n for (i = 0; i < len; i += 1) {\r\n if (shapes[i].ty === 'gr') {\r\n iterateShapes(shapes[i].it);\r\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\r\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\r\n jLen = shapes[i].c.k.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (shapes[i].c.k[j].s) {\r\n shapes[i].c.k[j].s[0] /= 255;\r\n shapes[i].c.k[j].s[1] /= 255;\r\n shapes[i].c.k[j].s[2] /= 255;\r\n shapes[i].c.k[j].s[3] /= 255;\r\n }\r\n if (shapes[i].c.k[j].e) {\r\n shapes[i].c.k[j].e[0] /= 255;\r\n shapes[i].c.k[j].e[1] /= 255;\r\n shapes[i].c.k[j].e[2] /= 255;\r\n shapes[i].c.k[j].e[3] /= 255;\r\n }\r\n }\r\n } else {\r\n shapes[i].c.k[0] /= 255;\r\n shapes[i].c.k[1] /= 255;\r\n shapes[i].c.k[2] /= 255;\r\n shapes[i].c.k[3] /= 255;\r\n }\r\n }\r\n }\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var i;\r\n var len = layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (layers[i].ty === 4) {\r\n iterateShapes(layers[i].shapes);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n var checkShapes = (function () {\r\n var minimumVersion = [4, 4, 18];\r\n\r\n function completeClosingShapes(arr) {\r\n var i;\r\n var len = arr.length;\r\n var j;\r\n var jLen;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (arr[i].ty === 'sh') {\r\n if (arr[i].ks.k.i) {\r\n arr[i].ks.k.c = arr[i].closed;\r\n } else {\r\n jLen = arr[i].ks.k.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (arr[i].ks.k[j].s) {\r\n arr[i].ks.k[j].s[0].c = arr[i].closed;\r\n }\r\n if (arr[i].ks.k[j].e) {\r\n arr[i].ks.k[j].e[0].c = arr[i].closed;\r\n }\r\n }\r\n }\r\n } else if (arr[i].ty === 'gr') {\r\n completeClosingShapes(arr[i].it);\r\n }\r\n }\r\n }\r\n\r\n function iterateLayers(layers) {\r\n var layerData;\r\n var i;\r\n var len = layers.length;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n for (i = 0; i < len; i += 1) {\r\n layerData = layers[i];\r\n if (layerData.hasMask) {\r\n var maskProps = layerData.masksProperties;\r\n jLen = maskProps.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (maskProps[j].pt.k.i) {\r\n maskProps[j].pt.k.c = maskProps[j].cl;\r\n } else {\r\n kLen = maskProps[j].pt.k.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n if (maskProps[j].pt.k[k].s) {\r\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\r\n }\r\n if (maskProps[j].pt.k[k].e) {\r\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (layerData.ty === 4) {\r\n completeClosingShapes(layerData.shapes);\r\n }\r\n }\r\n }\r\n\r\n return function (animationData) {\r\n if (checkVersion(minimumVersion, animationData.v)) {\r\n iterateLayers(animationData.layers);\r\n if (animationData.assets) {\r\n var i;\r\n var len = animationData.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (animationData.assets[i].layers) {\r\n iterateLayers(animationData.assets[i].layers);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }());\r\n\r\n function completeData(animationData) {\r\n if (animationData.__complete) {\r\n return;\r\n }\r\n checkColors(animationData);\r\n checkText(animationData);\r\n checkChars(animationData);\r\n checkPathProperties(animationData);\r\n checkShapes(animationData);\r\n completeLayers(animationData.layers, animationData.assets);\r\n animationData.__complete = true;\r\n }\r\n\r\n function completeText(data) {\r\n if (data.t.a.length === 0 && !('m' in data.t.p)) {\r\n data.singleShape = true;\r\n }\r\n }\r\n\r\n var moduleOb = {};\r\n moduleOb.completeData = completeData;\r\n moduleOb.checkColors = checkColors;\r\n moduleOb.checkChars = checkChars;\r\n moduleOb.checkPathProperties = checkPathProperties;\r\n moduleOb.checkShapes = checkShapes;\r\n moduleOb.completeLayers = completeLayers;\r\n\r\n return moduleOb;\r\n }\r\n if (!_workerSelf.dataManager) {\r\n _workerSelf.dataManager = dataFunctionManager();\r\n }\r\n\r\n /* exported assetLoader */\r\n if (!_workerSelf.assetLoader) {\r\n _workerSelf.assetLoader = (function () {\r\n function formatResponse(xhr) {\r\n // using typeof doubles the time of execution of this method,\r\n // so if available, it's better to use the header to validate the type\r\n var contentTypeHeader = xhr.getResponseHeader('content-type');\r\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\r\n return xhr.response;\r\n }\r\n if (xhr.response && typeof xhr.response === 'object') {\r\n return xhr.response;\r\n } if (xhr.response && typeof xhr.response === 'string') {\r\n return JSON.parse(xhr.response);\r\n } if (xhr.responseText) {\r\n return JSON.parse(xhr.responseText);\r\n }\r\n return null;\r\n }\r\n\r\n function loadAsset(path, fullPath, callback, errorCallback) {\r\n var response;\r\n var xhr = new XMLHttpRequest();\r\n // set responseType after calling open or IE will break.\r\n try {\r\n // This crashes on Android WebView prior to KitKat\r\n xhr.responseType = 'json';\r\n } catch (err) {} // eslint-disable-line no-empty\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200) {\r\n response = formatResponse(xhr);\r\n callback(response);\r\n } else {\r\n try {\r\n response = formatResponse(xhr);\r\n callback(response);\r\n } catch (err) {\r\n if (errorCallback) {\r\n errorCallback(err);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n try {\r\n xhr.open('GET', path, true);\r\n } catch (error) {\r\n xhr.open('GET', fullPath + '/' + path, true);\r\n }\r\n xhr.send();\r\n }\r\n return {\r\n load: loadAsset,\r\n };\r\n }());\r\n }\r\n\r\n if (e.data.type === 'loadAnimation') {\r\n _workerSelf.assetLoader.load(\r\n e.data.path,\r\n e.data.fullPath,\r\n function (data) {\r\n _workerSelf.dataManager.completeData(data);\r\n _workerSelf.postMessage({\r\n id: e.data.id,\r\n payload: data,\r\n status: 'success',\r\n });\r\n },\r\n function () {\r\n _workerSelf.postMessage({\r\n id: e.data.id,\r\n status: 'error',\r\n });\r\n }\r\n );\r\n } else if (e.data.type === 'complete') {\r\n var animation = e.data.animation;\r\n _workerSelf.dataManager.completeData(animation);\r\n _workerSelf.postMessage({\r\n id: e.data.id,\r\n payload: animation,\r\n status: 'success',\r\n });\r\n } else if (e.data.type === 'loadData') {\r\n _workerSelf.assetLoader.load(\r\n e.data.path,\r\n e.data.fullPath,\r\n function (data) {\r\n _workerSelf.postMessage({\r\n id: e.data.id,\r\n payload: data,\r\n status: 'success',\r\n });\r\n },\r\n function () {\r\n _workerSelf.postMessage({\r\n id: e.data.id,\r\n status: 'error',\r\n });\r\n }\r\n );\r\n }\r\n });\r\n\r\n workerInstance.onmessage = function (event) {\r\n var data = event.data;\r\n var id = data.id;\r\n var process = processes[id];\r\n processes[id] = null;\r\n if (data.status === 'success') {\r\n process.onComplete(data.payload);\r\n } else if (process.onError) {\r\n process.onError();\r\n }\r\n };\r\n }\r\n }\r\n\r\n function createProcess(onComplete, onError) {\r\n _counterId += 1;\r\n var id = 'processId_' + _counterId;\r\n processes[id] = {\r\n onComplete: onComplete,\r\n onError: onError,\r\n };\r\n return id;\r\n }\r\n\r\n function loadAnimation(path, onComplete, onError) {\r\n setupWorker();\r\n var processId = createProcess(onComplete, onError);\r\n workerInstance.postMessage({\r\n type: 'loadAnimation',\r\n path: path,\r\n fullPath: window.location.origin + window.location.pathname,\r\n id: processId,\r\n });\r\n }\r\n\r\n function loadData(path, onComplete, onError) {\r\n setupWorker();\r\n var processId = createProcess(onComplete, onError);\r\n workerInstance.postMessage({\r\n type: 'loadData',\r\n path: path,\r\n fullPath: window.location.origin + window.location.pathname,\r\n id: processId,\r\n });\r\n }\r\n\r\n function completeAnimation(anim, onComplete, onError) {\r\n setupWorker();\r\n var processId = createProcess(onComplete, onError);\r\n workerInstance.postMessage({\r\n type: 'complete',\r\n animation: anim,\r\n id: processId,\r\n });\r\n }\r\n\r\n return {\r\n loadAnimation: loadAnimation,\r\n loadData: loadData,\r\n completeAnimation: completeAnimation,\r\n };\r\n}());\r\n\r\n/* exported getFontProperties */\r\n\r\nfunction getFontProperties(fontData) {\r\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\r\n\r\n var fWeight = 'normal'; var\r\n fStyle = 'normal';\r\n var len = styles.length;\r\n var styleName;\r\n for (var i = 0; i < len; i += 1) {\r\n styleName = styles[i].toLowerCase();\r\n switch (styleName) {\r\n case 'italic':\r\n fStyle = 'italic';\r\n break;\r\n case 'bold':\r\n fWeight = '700';\r\n break;\r\n case 'black':\r\n fWeight = '900';\r\n break;\r\n case 'medium':\r\n fWeight = '500';\r\n break;\r\n case 'regular':\r\n case 'normal':\r\n fWeight = '400';\r\n break;\r\n case 'light':\r\n case 'thin':\r\n fWeight = '200';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n return {\r\n style: fStyle,\r\n weight: fontData.fWeight || fWeight,\r\n };\r\n}\r\n\r\n/* global createNS, createTag, getFontProperties */\r\n/* exported FontManager */\r\n\r\nvar FontManager = (function () {\r\n var maxWaitingTime = 5000;\r\n var emptyChar = {\r\n w: 0,\r\n size: 0,\r\n shapes: [],\r\n };\r\n var combinedCharacters = [];\r\n // Hindi characters\r\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366,\r\n 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379,\r\n 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\r\n\r\n var surrogateModifiers = [\r\n 'd83cdffb',\r\n 'd83cdffc',\r\n 'd83cdffd',\r\n 'd83cdffe',\r\n 'd83cdfff',\r\n ];\r\n\r\n var zeroWidthJoiner = [65039, 8205];\r\n\r\n function trimFontOptions(font) {\r\n var familyArray = font.split(',');\r\n var i;\r\n var len = familyArray.length;\r\n var enabledFamilies = [];\r\n for (i = 0; i < len; i += 1) {\r\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\r\n enabledFamilies.push(familyArray[i]);\r\n }\r\n }\r\n return enabledFamilies.join(',');\r\n }\r\n\r\n function setUpNode(font, family) {\r\n var parentNode = createTag('span');\r\n // Node is invisible to screen readers.\r\n parentNode.setAttribute('aria-hidden', true);\r\n parentNode.style.fontFamily = family;\r\n var node = createTag('span');\r\n // Characters that vary significantly among different fonts\r\n node.innerText = 'giItT1WQy@!-/#';\r\n // Visible - so we can measure it - but not on the screen\r\n parentNode.style.position = 'absolute';\r\n parentNode.style.left = '-10000px';\r\n parentNode.style.top = '-10000px';\r\n // Large font size makes even subtle changes obvious\r\n parentNode.style.fontSize = '300px';\r\n // Reset any font properties\r\n parentNode.style.fontVariant = 'normal';\r\n parentNode.style.fontStyle = 'normal';\r\n parentNode.style.fontWeight = 'normal';\r\n parentNode.style.letterSpacing = '0';\r\n parentNode.appendChild(node);\r\n document.body.appendChild(parentNode);\r\n\r\n // Remember width with no applied web font\r\n var width = node.offsetWidth;\r\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\r\n return { node: node, w: width, parent: parentNode };\r\n }\r\n\r\n function checkLoadedFonts() {\r\n var i;\r\n var len = this.fonts.length;\r\n var node;\r\n var w;\r\n var loadedCount = len;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.fonts[i].loaded) {\r\n loadedCount -= 1;\r\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\r\n this.fonts[i].loaded = true;\r\n } else {\r\n node = this.fonts[i].monoCase.node;\r\n w = this.fonts[i].monoCase.w;\r\n if (node.offsetWidth !== w) {\r\n loadedCount -= 1;\r\n this.fonts[i].loaded = true;\r\n } else {\r\n node = this.fonts[i].sansCase.node;\r\n w = this.fonts[i].sansCase.w;\r\n if (node.offsetWidth !== w) {\r\n loadedCount -= 1;\r\n this.fonts[i].loaded = true;\r\n }\r\n }\r\n if (this.fonts[i].loaded) {\r\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\r\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\r\n }\r\n }\r\n }\r\n\r\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\r\n setTimeout(this.checkLoadedFontsBinded, 20);\r\n } else {\r\n setTimeout(this.setIsLoadedBinded, 10);\r\n }\r\n }\r\n\r\n function createHelper(def, fontData) {\r\n var tHelper = createNS('text');\r\n tHelper.style.fontSize = '100px';\r\n // tHelper.style.fontFamily = fontData.fFamily;\r\n\r\n var fontProps = getFontProperties(fontData);\r\n tHelper.setAttribute('font-family', fontData.fFamily);\r\n tHelper.setAttribute('font-style', fontProps.style);\r\n tHelper.setAttribute('font-weight', fontProps.weight);\r\n tHelper.textContent = '1';\r\n if (fontData.fClass) {\r\n tHelper.style.fontFamily = 'inherit';\r\n tHelper.setAttribute('class', fontData.fClass);\r\n } else {\r\n tHelper.style.fontFamily = fontData.fFamily;\r\n }\r\n def.appendChild(tHelper);\r\n var tCanvasHelper = createTag('canvas').getContext('2d');\r\n tCanvasHelper.font = fontData.fWeight + ' ' + fontData.fStyle + ' 100px ' + fontData.fFamily;\r\n // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\r\n return tHelper;\r\n }\r\n\r\n function addFonts(fontData, defs) {\r\n if (!fontData) {\r\n this.isLoaded = true;\r\n return;\r\n }\r\n if (this.chars) {\r\n this.isLoaded = true;\r\n this.fonts = fontData.list;\r\n return;\r\n }\r\n\r\n var fontArr = fontData.list;\r\n var i;\r\n var len = fontArr.length;\r\n var _pendingFonts = len;\r\n for (i = 0; i < len; i += 1) {\r\n var shouldLoadFont = true;\r\n var loadedSelector;\r\n var j;\r\n fontArr[i].loaded = false;\r\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\r\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\r\n if (!fontArr[i].fPath) {\r\n fontArr[i].loaded = true;\r\n _pendingFonts -= 1;\r\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\r\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\r\n\r\n if (loadedSelector.length > 0) {\r\n shouldLoadFont = false;\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var s = createTag('style');\r\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n s.setAttribute('f-origin', fontArr[i].origin);\r\n s.setAttribute('f-family', fontArr[i].fFamily);\r\n s.type = 'text/css';\r\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\r\n defs.appendChild(s);\r\n }\r\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\r\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j += 1) {\r\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var l = createTag('link');\r\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n l.setAttribute('f-origin', fontArr[i].origin);\r\n l.type = 'text/css';\r\n l.rel = 'stylesheet';\r\n l.href = fontArr[i].fPath;\r\n document.body.appendChild(l);\r\n }\r\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\r\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j += 1) {\r\n if (fontArr[i].fPath === loadedSelector[j].src) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var sc = createTag('link');\r\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n sc.setAttribute('f-origin', fontArr[i].origin);\r\n sc.setAttribute('rel', 'stylesheet');\r\n sc.setAttribute('href', fontArr[i].fPath);\r\n defs.appendChild(sc);\r\n }\r\n }\r\n fontArr[i].helper = createHelper(defs, fontArr[i]);\r\n fontArr[i].cache = {};\r\n this.fonts.push(fontArr[i]);\r\n }\r\n if (_pendingFonts === 0) {\r\n this.isLoaded = true;\r\n } else {\r\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\r\n // Adding this timeout seems to fix it\r\n setTimeout(this.checkLoadedFonts.bind(this), 100);\r\n }\r\n }\r\n\r\n function addChars(chars) {\r\n if (!chars) {\r\n return;\r\n }\r\n if (!this.chars) {\r\n this.chars = [];\r\n }\r\n var i;\r\n var len = chars.length;\r\n var j;\r\n var jLen = this.chars.length;\r\n var found;\r\n for (i = 0; i < len; i += 1) {\r\n j = 0;\r\n found = false;\r\n while (j < jLen) {\r\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\r\n found = true;\r\n }\r\n j += 1;\r\n }\r\n if (!found) {\r\n this.chars.push(chars[i]);\r\n jLen += 1;\r\n }\r\n }\r\n }\r\n\r\n function getCharData(char, style, font) {\r\n var i = 0;\r\n var len = this.chars.length;\r\n while (i < len) {\r\n if (this.chars[i].ch === char && this.chars[i].style === style && this.chars[i].fFamily === font) {\r\n return this.chars[i];\r\n }\r\n i += 1;\r\n }\r\n if (((typeof char === 'string' && char.charCodeAt(0) !== 13) || !char)\r\n && console\r\n && console.warn // eslint-disable-line no-console\r\n && !this._warned\r\n ) {\r\n this._warned = true;\r\n console.warn('Missing character from exported characters list: ', char, style, font); // eslint-disable-line no-console\r\n }\r\n return emptyChar;\r\n }\r\n\r\n function measureText(char, fontName, size) {\r\n var fontData = this.getFontByName(fontName);\r\n var index = char.charCodeAt(0);\r\n if (!fontData.cache[index + 1]) {\r\n var tHelper = fontData.helper;\r\n // Canvas version\r\n // fontData.cache[index] = tHelper.measureText(char).width / 100;\r\n // SVG version\r\n // console.log(tHelper.getBBox().width)\r\n if (char === ' ') {\r\n tHelper.textContent = '|' + char + '|';\r\n var doubleSize = tHelper.getComputedTextLength();\r\n tHelper.textContent = '||';\r\n var singleSize = tHelper.getComputedTextLength();\r\n fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\r\n } else {\r\n tHelper.textContent = char;\r\n fontData.cache[index + 1] = (tHelper.getComputedTextLength()) / 100;\r\n }\r\n }\r\n return fontData.cache[index + 1] * size;\r\n }\r\n\r\n function getFontByName(name) {\r\n var i = 0;\r\n var len = this.fonts.length;\r\n while (i < len) {\r\n if (this.fonts[i].fName === name) {\r\n return this.fonts[i];\r\n }\r\n i += 1;\r\n }\r\n return this.fonts[0];\r\n }\r\n\r\n function isModifier(firstCharCode, secondCharCode) {\r\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\r\n return surrogateModifiers.indexOf(sum) !== -1;\r\n }\r\n\r\n function isZeroWidthJoiner(firstCharCode, secondCharCode) {\r\n if (!secondCharCode) {\r\n return firstCharCode === zeroWidthJoiner[1];\r\n }\r\n return firstCharCode === zeroWidthJoiner[0] && secondCharCode === zeroWidthJoiner[1];\r\n }\r\n\r\n function isCombinedCharacter(char) {\r\n return combinedCharacters.indexOf(char) !== -1;\r\n }\r\n\r\n function setIsLoaded() {\r\n this.isLoaded = true;\r\n }\r\n\r\n var Font = function () {\r\n this.fonts = [];\r\n this.chars = null;\r\n this.typekitLoaded = 0;\r\n this.isLoaded = false;\r\n this._warned = false;\r\n this.initTime = Date.now();\r\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\r\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\r\n };\r\n Font.isModifier = isModifier;\r\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\r\n Font.isCombinedCharacter = isCombinedCharacter;\r\n\r\n var fontPrototype = {\r\n addChars: addChars,\r\n addFonts: addFonts,\r\n getCharData: getCharData,\r\n getFontByName: getFontByName,\r\n measureText: measureText,\r\n checkLoadedFonts: checkLoadedFonts,\r\n setIsLoaded: setIsLoaded,\r\n };\r\n\r\n Font.prototype = fontPrototype;\r\n\r\n return Font;\r\n}());\r\n\r\n/* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\r\n/* exported PropertyFactory */\r\n\r\nvar PropertyFactory = (function () {\r\n var initFrame = initialDefaultFrame;\r\n var mathAbs = Math.abs;\r\n\r\n function interpolateValue(frameNum, caching) {\r\n var offsetTime = this.offsetTime;\r\n var newValue;\r\n if (this.propType === 'multidimensional') {\r\n newValue = createTypedArray('float32', this.pv.length);\r\n }\r\n var iterationIndex = caching.lastIndex;\r\n var i = iterationIndex;\r\n var len = this.keyframes.length - 1;\r\n var flag = true;\r\n var keyData;\r\n var nextKeyData;\r\n var keyframeMetadata;\r\n\r\n while (flag) {\r\n keyData = this.keyframes[i];\r\n nextKeyData = this.keyframes[i + 1];\r\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\r\n if (keyData.h) {\r\n keyData = nextKeyData;\r\n }\r\n iterationIndex = 0;\r\n break;\r\n }\r\n if ((nextKeyData.t - offsetTime) > frameNum) {\r\n iterationIndex = i;\r\n break;\r\n }\r\n if (i < len - 1) {\r\n i += 1;\r\n } else {\r\n iterationIndex = 0;\r\n flag = false;\r\n }\r\n }\r\n keyframeMetadata = this.keyframesMetadata[i] || {};\r\n\r\n var k;\r\n var kLen;\r\n var perc;\r\n var jLen;\r\n var j;\r\n var fnc;\r\n var nextKeyTime = nextKeyData.t - offsetTime;\r\n var keyTime = keyData.t - offsetTime;\r\n var endValue;\r\n if (keyData.to) {\r\n if (!keyframeMetadata.bezierData) {\r\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\r\n }\r\n var bezierData = keyframeMetadata.bezierData;\r\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\r\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\r\n kLen = bezierData.points[ind].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[ind].point[k];\r\n }\r\n // caching._lastKeyframeIndex = -1;\r\n } else {\r\n if (keyframeMetadata.__fnct) {\r\n fnc = keyframeMetadata.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\r\n keyframeMetadata.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n var distanceInLine = bezierData.segmentLength * perc;\r\n\r\n var segmentPerc;\r\n var addedLength = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastAddedLength : 0;\r\n j = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastPoint : 0;\r\n flag = true;\r\n jLen = bezierData.points.length;\r\n while (flag) {\r\n addedLength += bezierData.points[j].partialLength;\r\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k];\r\n }\r\n break;\r\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\r\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\r\n }\r\n break;\r\n }\r\n if (j < jLen - 1) {\r\n j += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n caching._lastPoint = j;\r\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\r\n caching._lastKeyframeIndex = i;\r\n }\r\n } else {\r\n var outX;\r\n var outY;\r\n var inX;\r\n var inY;\r\n var keyValue;\r\n len = keyData.s.length;\r\n endValue = nextKeyData.s || keyData.e;\r\n if (this.sh && keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n newValue[0] = endValue[0];\r\n newValue[1] = endValue[1];\r\n newValue[2] = endValue[2];\r\n } else if (frameNum <= keyTime) {\r\n newValue[0] = keyData.s[0];\r\n newValue[1] = keyData.s[1];\r\n newValue[2] = keyData.s[2];\r\n } else {\r\n var quatStart = createQuaternion(keyData.s);\r\n var quatEnd = createQuaternion(endValue);\r\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\r\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\r\n }\r\n } else {\r\n for (i = 0; i < len; i += 1) {\r\n if (keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n perc = 1;\r\n } else if (frameNum < keyTime) {\r\n perc = 0;\r\n } else {\r\n if (keyData.o.x.constructor === Array) {\r\n if (!keyframeMetadata.__fnct) {\r\n keyframeMetadata.__fnct = [];\r\n }\r\n if (!keyframeMetadata.__fnct[i]) {\r\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\r\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\r\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\r\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyframeMetadata.__fnct[i] = fnc;\r\n } else {\r\n fnc = keyframeMetadata.__fnct[i];\r\n }\r\n } else if (!keyframeMetadata.__fnct) {\r\n outX = keyData.o.x;\r\n outY = keyData.o.y;\r\n inX = keyData.i.x;\r\n inY = keyData.i.y;\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.keyframeMetadata = fnc;\r\n } else {\r\n fnc = keyframeMetadata.__fnct;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n }\r\n }\r\n\r\n endValue = nextKeyData.s || keyData.e;\r\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\r\n\r\n if (this.propType === 'multidimensional') {\r\n newValue[i] = keyValue;\r\n } else {\r\n newValue = keyValue;\r\n }\r\n }\r\n }\r\n }\r\n caching.lastIndex = iterationIndex;\r\n return newValue;\r\n }\r\n\r\n // based on @Toji's https://github.com/toji/gl-matrix/\r\n function slerp(a, b, t) {\r\n var out = [];\r\n var ax = a[0];\r\n var ay = a[1];\r\n var az = a[2];\r\n var aw = a[3];\r\n var bx = b[0];\r\n var by = b[1];\r\n var bz = b[2];\r\n var bw = b[3];\r\n\r\n var omega;\r\n var cosom;\r\n var sinom;\r\n var scale0;\r\n var scale1;\r\n\r\n cosom = ax * bx + ay * by + az * bz + aw * bw;\r\n if (cosom < 0.0) {\r\n cosom = -cosom;\r\n bx = -bx;\r\n by = -by;\r\n bz = -bz;\r\n bw = -bw;\r\n }\r\n if ((1.0 - cosom) > 0.000001) {\r\n omega = Math.acos(cosom);\r\n sinom = Math.sin(omega);\r\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\r\n scale1 = Math.sin(t * omega) / sinom;\r\n } else {\r\n scale0 = 1.0 - t;\r\n scale1 = t;\r\n }\r\n out[0] = scale0 * ax + scale1 * bx;\r\n out[1] = scale0 * ay + scale1 * by;\r\n out[2] = scale0 * az + scale1 * bz;\r\n out[3] = scale0 * aw + scale1 * bw;\r\n\r\n return out;\r\n }\r\n\r\n function quaternionToEuler(out, quat) {\r\n var qx = quat[0];\r\n var qy = quat[1];\r\n var qz = quat[2];\r\n var qw = quat[3];\r\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\r\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\r\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\r\n out[0] = heading / degToRads;\r\n out[1] = attitude / degToRads;\r\n out[2] = bank / degToRads;\r\n }\r\n\r\n function createQuaternion(values) {\r\n var heading = values[0] * degToRads;\r\n var attitude = values[1] * degToRads;\r\n var bank = values[2] * degToRads;\r\n var c1 = Math.cos(heading / 2);\r\n var c2 = Math.cos(attitude / 2);\r\n var c3 = Math.cos(bank / 2);\r\n var s1 = Math.sin(heading / 2);\r\n var s2 = Math.sin(attitude / 2);\r\n var s3 = Math.sin(bank / 2);\r\n var w = c1 * c2 * c3 - s1 * s2 * s3;\r\n var x = s1 * s2 * c3 + c1 * c2 * s3;\r\n var y = s1 * c2 * c3 + c1 * s2 * s3;\r\n var z = c1 * s2 * c3 - s1 * c2 * s3;\r\n\r\n return [x, y, z, w];\r\n }\r\n\r\n function getValueAtCurrentTime() {\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\r\n if (!(frameNum === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= endTime && frameNum >= endTime) || (this._caching.lastFrame < initTime && frameNum < initTime))))) {\r\n if (this._caching.lastFrame >= frameNum) {\r\n this._caching._lastKeyframeIndex = -1;\r\n this._caching.lastIndex = 0;\r\n }\r\n\r\n var renderResult = this.interpolateValue(frameNum, this._caching);\r\n this.pv = renderResult;\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function setVValue(val) {\r\n var multipliedValue;\r\n if (this.propType === 'unidimensional') {\r\n multipliedValue = val * this.mult;\r\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\r\n this.v = multipliedValue;\r\n this._mdf = true;\r\n }\r\n } else {\r\n var i = 0;\r\n var len = this.v.length;\r\n while (i < len) {\r\n multipliedValue = val[i] * this.mult;\r\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\r\n this.v[i] = multipliedValue;\r\n this._mdf = true;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = this._isFirstFrame;\r\n var i;\r\n var len = this.effectsSequence.length;\r\n var finalValue = this.kf ? this.pv : this.data.k;\r\n for (i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this._isFirstFrame = false;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n function ValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this.v = mult ? data.k * mult : data.k;\r\n this.pv = data.k;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.vel = 0;\r\n this.effectsSequence = [];\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function MultiDimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.frameId = -1;\r\n var i;\r\n var len = data.k.length;\r\n this.v = createTypedArray('float32', len);\r\n this.pv = createTypedArray('float32', len);\r\n this.vel = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.v[i] = data.k[i] * this.mult;\r\n this.pv[i] = data.k[i];\r\n }\r\n this._isFirstFrame = true;\r\n this.effectsSequence = [];\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.keyframes = data.k;\r\n this.keyframesMetadata = [];\r\n this.offsetTime = elem.data.st;\r\n this.frameId = -1;\r\n this._caching = {\r\n lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1,\r\n };\r\n this.k = true;\r\n this.kf = true;\r\n this.data = data;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.v = initFrame;\r\n this.pv = initFrame;\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n var i;\r\n var len = data.k.length;\r\n var s;\r\n var e;\r\n var to;\r\n var ti;\r\n for (i = 0; i < len - 1; i += 1) {\r\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\r\n s = data.k[i].s;\r\n e = data.k[i + 1].s;\r\n to = data.k[i].to;\r\n ti = data.k[i].ti;\r\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]))) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\r\n if (s.length === 2 || (s[2] === e[2] && to[2] === 0 && ti[2] === 0)) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n }\r\n }\r\n }\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.data = data;\r\n this.keyframes = data.k;\r\n this.keyframesMetadata = [];\r\n this.offsetTime = elem.data.st;\r\n this.k = true;\r\n this.kf = true;\r\n this._isFirstFrame = true;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.frameId = -1;\r\n var arrLen = data.k[0].s.length;\r\n this.v = createTypedArray('float32', arrLen);\r\n this.pv = createTypedArray('float32', arrLen);\r\n for (i = 0; i < arrLen; i += 1) {\r\n this.v[i] = initFrame;\r\n this.pv[i] = initFrame;\r\n }\r\n this._caching = { lastFrame: initFrame, lastIndex: 0, value: createTypedArray('float32', arrLen) };\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function getProp(elem, data, type, mult, container) {\r\n var p;\r\n if (!data.k.length) {\r\n p = new ValueProperty(elem, data, mult, container);\r\n } else if (typeof (data.k[0]) === 'number') {\r\n p = new MultiDimensionalProperty(elem, data, mult, container);\r\n } else {\r\n switch (type) {\r\n case 0:\r\n p = new KeyframedValueProperty(elem, data, mult, container);\r\n break;\r\n case 1:\r\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if (p.effectsSequence.length) {\r\n container.addDynamicProperty(p);\r\n }\r\n return p;\r\n }\r\n\r\n var ob = {\r\n getProp: getProp,\r\n };\r\n return ob;\r\n}());\r\n\r\n/* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n/* exported TransformPropertyFactory */\r\n\r\nvar TransformPropertyFactory = (function () {\r\n var defaultVector = [0, 0];\r\n\r\n function applyToMatrix(mat) {\r\n var _mdf = this._mdf;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || _mdf;\r\n if (this.a) {\r\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.s) {\r\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk) {\r\n mat.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r) {\r\n mat.rotate(-this.r.v);\r\n } else {\r\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2])\r\n .rotateY(this.or.v[1])\r\n .rotateX(this.or.v[0]);\r\n }\r\n if (this.data.p.s) {\r\n if (this.data.p.z) {\r\n mat.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n mat.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n function processKeys(forceRender) {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n if (this._isDirty) {\r\n this.precalculateMatrix();\r\n this._isDirty = false;\r\n }\r\n\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf || forceRender) {\r\n var frameRate;\r\n this.v.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.appliedTransformations < 2) {\r\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n this.v.rotate(-this.r.v);\r\n } else if (!this.r && this.appliedTransformations < 4) {\r\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2])\r\n .rotateY(this.or.v[1])\r\n .rotateX(this.or.v[0]);\r\n }\r\n if (this.autoOriented) {\r\n var v1;\r\n var v2;\r\n frameRate = this.elem.globalData.frameRate;\r\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\r\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\r\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\r\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t / frameRate), 0);\r\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\r\n } else {\r\n v1 = this.p.pv;\r\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\r\n }\r\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\r\n v1 = [];\r\n v2 = [];\r\n var px = this.px;\r\n var py = this.py;\r\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\r\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\r\n v2[0] = px.getValueAtTime((px.keyframes[0].t) / frameRate, 0);\r\n v2[1] = py.getValueAtTime((py.keyframes[0].t) / frameRate, 0);\r\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t / frameRate), 0);\r\n v1[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t / frameRate), 0);\r\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\r\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\r\n } else {\r\n v1 = [px.pv, py.pv];\r\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\r\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\r\n }\r\n } else {\r\n v2 = defaultVector;\r\n v1 = v2;\r\n }\r\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\r\n }\r\n if (this.data.p && this.data.p.s) {\r\n if (this.data.p.z) {\r\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n this.v.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function precalculateMatrix() {\r\n if (!this.a.k) {\r\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n this.appliedTransformations = 1;\r\n } else {\r\n return;\r\n }\r\n if (!this.s.effectsSequence.length) {\r\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n this.appliedTransformations = 2;\r\n } else {\r\n return;\r\n }\r\n if (this.sk) {\r\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\r\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\r\n this.appliedTransformations = 3;\r\n } else {\r\n return;\r\n }\r\n }\r\n if (this.r) {\r\n if (!this.r.effectsSequence.length) {\r\n this.pre.rotate(-this.r.v);\r\n this.appliedTransformations = 4;\r\n }\r\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\r\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2])\r\n .rotateY(this.or.v[1])\r\n .rotateX(this.or.v[0]);\r\n this.appliedTransformations = 4;\r\n }\r\n }\r\n\r\n function autoOrient() {\r\n //\r\n // var prevP = this.getValueAtTime();\r\n }\r\n\r\n function addDynamicProperty(prop) {\r\n this._addDynamicProperty(prop);\r\n this.elem.addDynamicProperty(prop);\r\n this._isDirty = true;\r\n }\r\n\r\n function TransformProperty(elem, data, container) {\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.propType = 'transform';\r\n this.data = data;\r\n this.v = new Matrix();\r\n // Precalculated matrix with non animated properties\r\n this.pre = new Matrix();\r\n this.appliedTransformations = 0;\r\n this.initDynamicPropertyContainer(container || elem);\r\n if (data.p && data.p.s) {\r\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\r\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\r\n if (data.p.z) {\r\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\r\n }\r\n } else {\r\n this.p = PropertyFactory.getProp(elem, data.p || { k: [0, 0, 0] }, 1, 0, this);\r\n }\r\n if (data.rx) {\r\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\r\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\r\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\r\n if (data.or.k[0].ti) {\r\n var i;\r\n var len = data.or.k.length;\r\n for (i = 0; i < len; i += 1) {\r\n data.or.k[i].to = null;\r\n data.or.k[i].ti = null;\r\n }\r\n }\r\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this);\r\n // sh Indicates it needs to be capped between -180 and 180\r\n this.or.sh = true;\r\n } else {\r\n this.r = PropertyFactory.getProp(elem, data.r || { k: 0 }, 0, degToRads, this);\r\n }\r\n if (data.sk) {\r\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\r\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\r\n }\r\n this.a = PropertyFactory.getProp(elem, data.a || { k: [0, 0, 0] }, 1, 0, this);\r\n this.s = PropertyFactory.getProp(elem, data.s || { k: [100, 100, 100] }, 1, 0.01, this);\r\n // 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.\r\n if (data.o) {\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\r\n } else {\r\n this.o = { _mdf: false, v: 1 };\r\n }\r\n this._isDirty = true;\r\n if (!this.dynamicProperties.length) {\r\n this.getValue(true);\r\n }\r\n }\r\n\r\n TransformProperty.prototype = {\r\n applyToMatrix: applyToMatrix,\r\n getValue: processKeys,\r\n precalculateMatrix: precalculateMatrix,\r\n autoOrient: autoOrient,\r\n };\r\n\r\n extendPrototype([DynamicPropertyContainer], TransformProperty);\r\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\r\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\r\n\r\n function getTransformProperty(elem, data, container) {\r\n return new TransformProperty(elem, data, container);\r\n }\r\n\r\n return {\r\n getTransformProperty: getTransformProperty,\r\n };\r\n}());\r\n\r\n/* global createSizedArray, createSizedArray, pointPool */\r\n\r\nfunction ShapePath() {\r\n this.c = false;\r\n this._length = 0;\r\n this._maxLength = 8;\r\n this.v = createSizedArray(this._maxLength);\r\n this.o = createSizedArray(this._maxLength);\r\n this.i = createSizedArray(this._maxLength);\r\n}\r\n\r\nShapePath.prototype.setPathData = function (closed, len) {\r\n this.c = closed;\r\n this.setLength(len);\r\n var i = 0;\r\n while (i < len) {\r\n this.v[i] = pointPool.newElement();\r\n this.o[i] = pointPool.newElement();\r\n this.i[i] = pointPool.newElement();\r\n i += 1;\r\n }\r\n};\r\n\r\nShapePath.prototype.setLength = function (len) {\r\n while (this._maxLength < len) {\r\n this.doubleArrayLength();\r\n }\r\n this._length = len;\r\n};\r\n\r\nShapePath.prototype.doubleArrayLength = function () {\r\n this.v = this.v.concat(createSizedArray(this._maxLength));\r\n this.i = this.i.concat(createSizedArray(this._maxLength));\r\n this.o = this.o.concat(createSizedArray(this._maxLength));\r\n this._maxLength *= 2;\r\n};\r\n\r\nShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\r\n var arr;\r\n this._length = Math.max(this._length, pos + 1);\r\n if (this._length >= this._maxLength) {\r\n this.doubleArrayLength();\r\n }\r\n switch (type) {\r\n case 'v':\r\n arr = this.v;\r\n break;\r\n case 'i':\r\n arr = this.i;\r\n break;\r\n case 'o':\r\n arr = this.o;\r\n break;\r\n default:\r\n arr = [];\r\n break;\r\n }\r\n if (!arr[pos] || (arr[pos] && !replace)) {\r\n arr[pos] = pointPool.newElement();\r\n }\r\n arr[pos][0] = x;\r\n arr[pos][1] = y;\r\n};\r\n\r\nShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\r\n this.setXYAt(vX, vY, 'v', pos, replace);\r\n this.setXYAt(oX, oY, 'o', pos, replace);\r\n this.setXYAt(iX, iY, 'i', pos, replace);\r\n};\r\n\r\nShapePath.prototype.reverse = function () {\r\n var newPath = new ShapePath();\r\n newPath.setPathData(this.c, this._length);\r\n var vertices = this.v;\r\n var outPoints = this.o;\r\n var inPoints = this.i;\r\n var init = 0;\r\n if (this.c) {\r\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\r\n init = 1;\r\n }\r\n var cnt = this._length - 1;\r\n var len = this._length;\r\n\r\n var i;\r\n for (i = init; i < len; i += 1) {\r\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\r\n cnt -= 1;\r\n }\r\n return newPath;\r\n};\r\n\r\n/* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\r\n/* exported ShapePropertyFactory */\r\n\r\nvar ShapePropertyFactory = (function () {\r\n var initFrame = -999999;\r\n\r\n function interpolateShape(frameNum, previousValue, caching) {\r\n var iterationIndex = caching.lastIndex;\r\n var keyPropS;\r\n var keyPropE;\r\n var isHold;\r\n var j;\r\n var k;\r\n var jLen;\r\n var kLen;\r\n var perc;\r\n var vertexValue;\r\n var kf = this.keyframes;\r\n if (frameNum < kf[0].t - this.offsetTime) {\r\n keyPropS = kf[0].s[0];\r\n isHold = true;\r\n iterationIndex = 0;\r\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\r\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\r\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 } */\r\n isHold = true;\r\n } else {\r\n var i = iterationIndex;\r\n var len = kf.length - 1;\r\n var flag = true;\r\n var keyData;\r\n var nextKeyData;\r\n var keyframeMetadata;\r\n while (flag) {\r\n keyData = kf[i];\r\n nextKeyData = kf[i + 1];\r\n if ((nextKeyData.t - this.offsetTime) > frameNum) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n i += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n keyframeMetadata = this.keyframesMetadata[i] || {};\r\n isHold = keyData.h === 1;\r\n iterationIndex = i;\r\n if (!isHold) {\r\n if (frameNum >= nextKeyData.t - this.offsetTime) {\r\n perc = 1;\r\n } else if (frameNum < keyData.t - this.offsetTime) {\r\n perc = 0;\r\n } else {\r\n var fnc;\r\n if (keyframeMetadata.__fnct) {\r\n fnc = keyframeMetadata.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\r\n keyframeMetadata.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / ((nextKeyData.t - this.offsetTime) - (keyData.t - this.offsetTime)));\r\n }\r\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\r\n }\r\n keyPropS = keyData.s[0];\r\n }\r\n jLen = previousValue._length;\r\n kLen = keyPropS.i[0].length;\r\n caching.lastIndex = iterationIndex;\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n for (k = 0; k < kLen; k += 1) {\r\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\r\n previousValue.i[j][k] = vertexValue;\r\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\r\n previousValue.o[j][k] = vertexValue;\r\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\r\n previousValue.v[j][k] = vertexValue;\r\n }\r\n }\r\n }\r\n\r\n function interpolateShapeCurrentTime() {\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\r\n var lastFrame = this._caching.lastFrame;\r\n if (!(lastFrame !== initFrame && ((lastFrame < initTime && frameNum < initTime) || (lastFrame > endTime && frameNum > endTime)))) {\r\n /// /\r\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\r\n this.interpolateShape(frameNum, this.pv, this._caching);\r\n /// /\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function resetShape() {\r\n this.paths = this.localShapeCollection;\r\n }\r\n\r\n function shapesEqual(shape1, shape2) {\r\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\r\n return false;\r\n }\r\n var i;\r\n var len = shape1._length;\r\n for (i = 0; i < len; i += 1) {\r\n if (shape1.v[i][0] !== shape2.v[i][0]\r\n || shape1.v[i][1] !== shape2.v[i][1]\r\n || shape1.o[i][0] !== shape2.o[i][0]\r\n || shape1.o[i][1] !== shape2.o[i][1]\r\n || shape1.i[i][0] !== shape2.i[i][0]\r\n || shape1.i[i][1] !== shape2.i[i][1]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function setVValue(newPath) {\r\n if (!shapesEqual(this.v, newPath)) {\r\n this.v = shapePool.clone(newPath);\r\n this.localShapeCollection.releaseShapes();\r\n this.localShapeCollection.addShape(this.v);\r\n this._mdf = true;\r\n this.paths = this.localShapeCollection;\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n } if (!this.effectsSequence.length) {\r\n this._mdf = false;\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var finalValue;\r\n if (this.kf) {\r\n finalValue = this.pv;\r\n } else if (this.data.ks) {\r\n finalValue = this.data.ks.k;\r\n } else {\r\n finalValue = this.data.pt.k;\r\n }\r\n var i;\r\n var len = this.effectsSequence.length;\r\n for (i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function ShapeProperty(elem, data, type) {\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.container = elem;\r\n this.elem = elem;\r\n this.data = data;\r\n this.k = false;\r\n this.kf = false;\r\n this._mdf = false;\r\n var pathData = type === 3 ? data.pt.k : data.ks.k;\r\n this.v = shapePool.clone(pathData);\r\n this.pv = shapePool.clone(this.v);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.reset = resetShape;\r\n this.effectsSequence = [];\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n ShapeProperty.prototype.interpolateShape = interpolateShape;\r\n ShapeProperty.prototype.getValue = processEffectsSequence;\r\n ShapeProperty.prototype.setVValue = setVValue;\r\n ShapeProperty.prototype.addEffect = addEffect;\r\n\r\n function KeyframedShapeProperty(elem, data, type) {\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.container = elem;\r\n this.offsetTime = elem.data.st;\r\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\r\n this.keyframesMetadata = [];\r\n this.k = true;\r\n this.kf = true;\r\n var len = this.keyframes[0].s[0].i.length;\r\n this.v = shapePool.newElement();\r\n this.v.setPathData(this.keyframes[0].s[0].c, len);\r\n this.pv = shapePool.clone(this.v);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.lastFrame = initFrame;\r\n this.reset = resetShape;\r\n this._caching = { lastFrame: initFrame, lastIndex: 0 };\r\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\r\n }\r\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\r\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\r\n KeyframedShapeProperty.prototype.setVValue = setVValue;\r\n KeyframedShapeProperty.prototype.addEffect = addEffect;\r\n\r\n var EllShapeProperty = (function () {\r\n var cPoint = roundCorner;\r\n\r\n function EllShapePropertyFactory(elem, data) {\r\n /* this.v = {\r\n v: createSizedArray(4),\r\n i: createSizedArray(4),\r\n o: createSizedArray(4),\r\n c: true\r\n }; */\r\n this.v = shapePool.newElement();\r\n this.v.setPathData(true, 4);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.localShapeCollection.addShape(this.v);\r\n this.d = data.d;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\r\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.k = false;\r\n this.convertEllToPath();\r\n }\r\n }\r\n\r\n EllShapePropertyFactory.prototype = {\r\n reset: resetShape,\r\n getValue: function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf) {\r\n this.convertEllToPath();\r\n }\r\n },\r\n convertEllToPath: function () {\r\n var p0 = this.p.v[0];\r\n var p1 = this.p.v[1];\r\n var s0 = this.s.v[0] / 2;\r\n var s1 = this.s.v[1] / 2;\r\n var _cw = this.d !== 3;\r\n var _v = this.v;\r\n _v.v[0][0] = p0;\r\n _v.v[0][1] = p1 - s1;\r\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.v[1][1] = p1;\r\n _v.v[2][0] = p0;\r\n _v.v[2][1] = p1 + s1;\r\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.v[3][1] = p1;\r\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.i[0][1] = p1 - s1;\r\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.i[1][1] = p1 - s1 * cPoint;\r\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.i[2][1] = p1 + s1;\r\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.i[3][1] = p1 + s1 * cPoint;\r\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.o[0][1] = p1 - s1;\r\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.o[1][1] = p1 + s1 * cPoint;\r\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.o[2][1] = p1 + s1;\r\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.o[3][1] = p1 - s1 * cPoint;\r\n },\r\n };\r\n\r\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\r\n\r\n return EllShapePropertyFactory;\r\n }());\r\n\r\n var StarShapeProperty = (function () {\r\n function StarShapePropertyFactory(elem, data) {\r\n this.v = shapePool.newElement();\r\n this.v.setPathData(true, 0);\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.data = data;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n if (data.sy === 1) {\r\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\r\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\r\n this.convertToPath = this.convertStarToPath;\r\n } else {\r\n this.convertToPath = this.convertPolygonToPath;\r\n }\r\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\r\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\r\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\r\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\r\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.k = false;\r\n this.convertToPath();\r\n }\r\n }\r\n\r\n StarShapePropertyFactory.prototype = {\r\n reset: resetShape,\r\n getValue: function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if (this._mdf) {\r\n this.convertToPath();\r\n }\r\n },\r\n convertStarToPath: function () {\r\n var numPts = Math.floor(this.pt.v) * 2;\r\n var angle = (Math.PI * 2) / numPts;\r\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\r\n var longFlag = true;\r\n var longRad = this.or.v;\r\n var shortRad = this.ir.v;\r\n var longRound = this.os.v;\r\n var shortRound = this.is.v;\r\n var longPerimSegment = (2 * Math.PI * longRad) / (numPts * 2);\r\n var shortPerimSegment = (2 * Math.PI * shortRad) / (numPts * 2);\r\n var i;\r\n var rad;\r\n var roundness;\r\n var perimSegment;\r\n var currentAng = -Math.PI / 2;\r\n currentAng += this.r.v;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n this.v._length = 0;\r\n for (i = 0; i < numPts; i += 1) {\r\n rad = longFlag ? longRad : shortRad;\r\n roundness = longFlag ? longRound : shortRound;\r\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\r\n var x = rad * Math.cos(currentAng);\r\n var y = rad * Math.sin(currentAng);\r\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\r\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\r\n x += +this.p.v[0];\r\n y += +this.p.v[1];\r\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);\r\n\r\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; */\r\n longFlag = !longFlag;\r\n currentAng += angle * dir;\r\n }\r\n },\r\n convertPolygonToPath: function () {\r\n var numPts = Math.floor(this.pt.v);\r\n var angle = (Math.PI * 2) / numPts;\r\n var rad = this.or.v;\r\n var roundness = this.os.v;\r\n var perimSegment = (2 * Math.PI * rad) / (numPts * 4);\r\n var i;\r\n var currentAng = -Math.PI * 0.5;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n currentAng += this.r.v;\r\n this.v._length = 0;\r\n for (i = 0; i < numPts; i += 1) {\r\n var x = rad * Math.cos(currentAng);\r\n var y = rad * Math.sin(currentAng);\r\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\r\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\r\n x += +this.p.v[0];\r\n y += +this.p.v[1];\r\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);\r\n currentAng += angle * dir;\r\n }\r\n this.paths.length = 0;\r\n this.paths[0] = this.v;\r\n },\r\n\r\n };\r\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\r\n\r\n return StarShapePropertyFactory;\r\n }());\r\n\r\n var RectShapeProperty = (function () {\r\n function RectShapePropertyFactory(elem, data) {\r\n this.v = shapePool.newElement();\r\n this.v.c = true;\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\r\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\r\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.k = false;\r\n this.convertRectToPath();\r\n }\r\n }\r\n\r\n RectShapePropertyFactory.prototype = {\r\n convertRectToPath: function () {\r\n var p0 = this.p.v[0];\r\n var p1 = this.p.v[1];\r\n var v0 = this.s.v[0] / 2;\r\n var v1 = this.s.v[1] / 2;\r\n var round = bmMin(v0, v1, this.r.v);\r\n var cPoint = round * (1 - roundCorner);\r\n this.v._length = 0;\r\n\r\n if (this.d === 2 || this.d === 1) {\r\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\r\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\r\n if (round !== 0) {\r\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\r\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\r\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\r\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\r\n } else {\r\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\r\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\r\n }\r\n } else {\r\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\r\n if (round !== 0) {\r\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\r\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\r\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\r\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\r\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\r\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\r\n } else {\r\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\r\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\r\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\r\n }\r\n }\r\n },\r\n getValue: function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if (this._mdf) {\r\n this.convertRectToPath();\r\n }\r\n },\r\n reset: resetShape,\r\n };\r\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\r\n\r\n return RectShapePropertyFactory;\r\n }());\r\n\r\n function getShapeProp(elem, data, type) {\r\n var prop;\r\n if (type === 3 || type === 4) {\r\n var dataProp = type === 3 ? data.pt : data.ks;\r\n var keys = dataProp.k;\r\n if (keys.length) {\r\n prop = new KeyframedShapeProperty(elem, data, type);\r\n } else {\r\n prop = new ShapeProperty(elem, data, type);\r\n }\r\n } else if (type === 5) {\r\n prop = new RectShapeProperty(elem, data);\r\n } else if (type === 6) {\r\n prop = new EllShapeProperty(elem, data);\r\n } else if (type === 7) {\r\n prop = new StarShapeProperty(elem, data);\r\n }\r\n if (prop.k) {\r\n elem.addDynamicProperty(prop);\r\n }\r\n return prop;\r\n }\r\n\r\n function getConstructorFunction() {\r\n return ShapeProperty;\r\n }\r\n\r\n function getKeyframedConstructorFunction() {\r\n return KeyframedShapeProperty;\r\n }\r\n\r\n var ob = {};\r\n ob.getShapeProp = getShapeProp;\r\n ob.getConstructorFunction = getConstructorFunction;\r\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\r\n return ob;\r\n}());\r\n\r\n/* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\r\n/* exported ShapeModifiers */\r\n\r\nvar ShapeModifiers = (function () {\r\n var ob = {};\r\n var modifiers = {};\r\n ob.registerModifier = registerModifier;\r\n ob.getModifier = getModifier;\r\n\r\n function registerModifier(nm, factory) {\r\n if (!modifiers[nm]) {\r\n modifiers[nm] = factory;\r\n }\r\n }\r\n\r\n function getModifier(nm, elem, data) {\r\n return new modifiers[nm](elem, data);\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\nfunction ShapeModifier() {}\r\nShapeModifier.prototype.initModifierProperties = function () {};\r\nShapeModifier.prototype.addShapeToModifier = function () {};\r\nShapeModifier.prototype.addShape = function (data) {\r\n if (!this.closed) {\r\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.\r\n data.sh.container.addDynamicProperty(data.sh);\r\n var shapeData = { shape: data.sh, data: data, localShapeCollection: shapeCollectionPool.newShapeCollection() };\r\n this.shapes.push(shapeData);\r\n this.addShapeToModifier(shapeData);\r\n if (this._isAnimated) {\r\n data.setAsAnimated();\r\n }\r\n }\r\n};\r\nShapeModifier.prototype.init = function (elem, data) {\r\n this.shapes = [];\r\n this.elem = elem;\r\n this.initDynamicPropertyContainer(elem);\r\n this.initModifierProperties(elem, data);\r\n this.frameId = initialDefaultFrame;\r\n this.closed = false;\r\n this.k = false;\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.getValue(true);\r\n }\r\n};\r\nShapeModifier.prototype.processKeys = function () {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n};\r\n\r\nextendPrototype([DynamicPropertyContainer], ShapeModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\r\n\r\nfunction TrimModifier() {\r\n}\r\nextendPrototype([ShapeModifier], TrimModifier);\r\nTrimModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\r\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\r\n this.sValue = 0;\r\n this.eValue = 0;\r\n this.getValue = this.processKeys;\r\n this.m = data.m;\r\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\r\n};\r\n\r\nTrimModifier.prototype.addShapeToModifier = function (shapeData) {\r\n shapeData.pathsData = [];\r\n};\r\n\r\nTrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\r\n var segments = [];\r\n if (e <= 1) {\r\n segments.push({\r\n s: s,\r\n e: e,\r\n });\r\n } else if (s >= 1) {\r\n segments.push({\r\n s: s - 1,\r\n e: e - 1,\r\n });\r\n } else {\r\n segments.push({\r\n s: s,\r\n e: 1,\r\n });\r\n segments.push({\r\n s: 0,\r\n e: e - 1,\r\n });\r\n }\r\n var shapeSegments = [];\r\n var i;\r\n var len = segments.length;\r\n var segmentOb;\r\n for (i = 0; i < len; i += 1) {\r\n segmentOb = segments[i];\r\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\r\n var shapeS;\r\n var shapeE;\r\n if (segmentOb.s * totalModifierLength <= addedLength) {\r\n shapeS = 0;\r\n } else {\r\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\r\n }\r\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\r\n shapeE = 1;\r\n } else {\r\n shapeE = ((segmentOb.e * totalModifierLength - addedLength) / shapeLength);\r\n }\r\n shapeSegments.push([shapeS, shapeE]);\r\n }\r\n }\r\n if (!shapeSegments.length) {\r\n shapeSegments.push([0, 0]);\r\n }\r\n return shapeSegments;\r\n};\r\n\r\nTrimModifier.prototype.releasePathsData = function (pathsData) {\r\n var i;\r\n var len = pathsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n segmentsLengthPool.release(pathsData[i]);\r\n }\r\n pathsData.length = 0;\r\n return pathsData;\r\n};\r\n\r\nTrimModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var s;\r\n var e;\r\n if (this._mdf || _isFirstFrame) {\r\n var o = (this.o.v % 360) / 360;\r\n if (o < 0) {\r\n o += 1;\r\n }\r\n if (this.s.v > 1) {\r\n s = 1 + o;\r\n } else if (this.s.v < 0) {\r\n s = 0 + o;\r\n } else {\r\n s = this.s.v + o;\r\n }\r\n if (this.e.v > 1) {\r\n e = 1 + o;\r\n } else if (this.e.v < 0) {\r\n e = 0 + o;\r\n } else {\r\n e = this.e.v + o;\r\n }\r\n\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n s = Math.round(s * 10000) * 0.0001;\r\n e = Math.round(e * 10000) * 0.0001;\r\n this.sValue = s;\r\n this.eValue = e;\r\n } else {\r\n s = this.sValue;\r\n e = this.eValue;\r\n }\r\n var shapePaths;\r\n var i;\r\n var len = this.shapes.length;\r\n var j;\r\n var jLen;\r\n var pathsData;\r\n var pathData;\r\n var totalShapeLength;\r\n var totalModifierLength = 0;\r\n\r\n if (e === s) {\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].localShapeCollection.releaseShapes();\r\n this.shapes[i].shape._mdf = true;\r\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\r\n if (this._mdf) {\r\n this.shapes[i].pathsData.length = 0;\r\n }\r\n }\r\n } else if (!((e === 1 && s === 0) || (e === 0 && s === 1))) {\r\n var segments = [];\r\n var shapeData;\r\n var localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\r\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n } else {\r\n shapePaths = shapeData.shape.paths;\r\n jLen = shapePaths._length;\r\n totalShapeLength = 0;\r\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\r\n totalShapeLength = shapeData.totalShapeLength;\r\n } else {\r\n pathsData = this.releasePathsData(shapeData.pathsData);\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\r\n pathsData.push(pathData);\r\n totalShapeLength += pathData.totalLength;\r\n }\r\n shapeData.totalShapeLength = totalShapeLength;\r\n shapeData.pathsData = pathsData;\r\n }\r\n\r\n totalModifierLength += totalShapeLength;\r\n shapeData.shape._mdf = true;\r\n }\r\n }\r\n var shapeS = s;\r\n var shapeE = e;\r\n var addedLength = 0;\r\n var edges;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shapeData = this.shapes[i];\r\n if (shapeData.shape._mdf) {\r\n localShapeCollection = shapeData.localShapeCollection;\r\n localShapeCollection.releaseShapes();\r\n // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\r\n if (this.m === 2 && len > 1) {\r\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\r\n addedLength += shapeData.totalShapeLength;\r\n } else {\r\n edges = [[shapeS, shapeE]];\r\n }\r\n jLen = edges.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n shapeS = edges[j][0];\r\n shapeE = edges[j][1];\r\n segments.length = 0;\r\n if (shapeE <= 1) {\r\n segments.push({\r\n s: shapeData.totalShapeLength * shapeS,\r\n e: shapeData.totalShapeLength * shapeE,\r\n });\r\n } else if (shapeS >= 1) {\r\n segments.push({\r\n s: shapeData.totalShapeLength * (shapeS - 1),\r\n e: shapeData.totalShapeLength * (shapeE - 1),\r\n });\r\n } else {\r\n segments.push({\r\n s: shapeData.totalShapeLength * shapeS,\r\n e: shapeData.totalShapeLength,\r\n });\r\n segments.push({\r\n s: 0,\r\n e: shapeData.totalShapeLength * (shapeE - 1),\r\n });\r\n }\r\n var newShapesData = this.addShapes(shapeData, segments[0]);\r\n if (segments[0].s !== segments[0].e) {\r\n if (segments.length > 1) {\r\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\r\n if (lastShapeInCollection.c) {\r\n var lastShape = newShapesData.pop();\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\r\n } else {\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1]);\r\n }\r\n }\r\n this.addPaths(newShapesData, localShapeCollection);\r\n }\r\n }\r\n shapeData.shape.paths = localShapeCollection;\r\n }\r\n }\r\n } else if (this._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\r\n // Don't remove this even if it's losing cached info.\r\n this.shapes[i].pathsData.length = 0;\r\n this.shapes[i].shape._mdf = true;\r\n }\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\r\n var i;\r\n var len = newPaths.length;\r\n for (i = 0; i < len; i += 1) {\r\n localShapeCollection.addShape(newPaths[i]);\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\r\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\r\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\r\n if (newShape) {\r\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\r\n }\r\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\r\n shapePath.setXYAt(points[1], points[5], 'o', pos);\r\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\r\n if (newShape) {\r\n shapePath.setXYAt(points[0], points[4], 'v', pos);\r\n }\r\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\r\n var pathsData = shapeData.pathsData;\r\n var shapePaths = shapeData.shape.paths.shapes;\r\n var i;\r\n var len = shapeData.shape.paths._length;\r\n var j;\r\n var jLen;\r\n var addedLength = 0;\r\n var currentLengthData;\r\n var segmentCount;\r\n var lengths;\r\n var segment;\r\n var shapes = [];\r\n var initPos;\r\n var newShape = true;\r\n if (!shapePath) {\r\n shapePath = shapePool.newElement();\r\n segmentCount = 0;\r\n initPos = 0;\r\n } else {\r\n segmentCount = shapePath._length;\r\n initPos = shapePath._length;\r\n }\r\n shapes.push(shapePath);\r\n for (i = 0; i < len; i += 1) {\r\n lengths = pathsData[i].lengths;\r\n shapePath.c = shapePaths[i].c;\r\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\r\n for (j = 1; j < jLen; j += 1) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\r\n addedLength += currentLengthData.addedLength;\r\n shapePath.c = false;\r\n } else if (addedLength > shapeSegment.e) {\r\n shapePath.c = false;\r\n break;\r\n } else {\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\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]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n }\r\n if (shapePaths[i].c && lengths.length) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength <= shapeSegment.e) {\r\n var segmentLength = lengths[j - 1].addedLength;\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\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]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n } else {\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n if (shapePath._length) {\r\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\r\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\r\n }\r\n if (addedLength > shapeSegment.e) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n shapePath = shapePool.newElement();\r\n newShape = true;\r\n shapes.push(shapePath);\r\n segmentCount = 0;\r\n }\r\n }\r\n return shapes;\r\n};\r\n\r\nShapeModifiers.registerModifier('tm', TrimModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\r\n\r\nfunction RoundCornersModifier() {}\r\nextendPrototype([ShapeModifier], RoundCornersModifier);\r\nRoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.getValue = this.processKeys;\r\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\r\n this._isAnimated = !!this.rd.effectsSequence.length;\r\n};\r\n\r\nRoundCornersModifier.prototype.processPath = function (path, round) {\r\n var clonedPath = shapePool.newElement();\r\n clonedPath.c = path.c;\r\n var i;\r\n var len = path._length;\r\n var currentV;\r\n var currentI;\r\n var currentO;\r\n var closerV;\r\n var distance;\r\n var newPosPerc;\r\n var index = 0;\r\n var vX;\r\n var vY;\r\n var oX;\r\n var oY;\r\n var iX;\r\n var iY;\r\n for (i = 0; i < len; i += 1) {\r\n currentV = path.v[i];\r\n currentO = path.o[i];\r\n currentI = path.i[i];\r\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\r\n if ((i === 0 || i === len - 1) && !path.c) {\r\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\r\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\r\n index += 1;\r\n } else {\r\n if (i === 0) {\r\n closerV = path.v[len - 1];\r\n } else {\r\n closerV = path.v[i - 1];\r\n }\r\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\r\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\r\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\r\n vX = iX;\r\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\r\n vY = iY;\r\n oX = vX - (vX - currentV[0]) * roundCorner;\r\n oY = vY - (vY - currentV[1]) * roundCorner;\r\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\r\n index += 1;\r\n\r\n if (i === len - 1) {\r\n closerV = path.v[0];\r\n } else {\r\n closerV = path.v[i + 1];\r\n }\r\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\r\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\r\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\r\n vX = oX;\r\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\r\n vY = oY;\r\n iX = vX - (vX - currentV[0]) * roundCorner;\r\n iY = vY - (vY - currentV[1]) * roundCorner;\r\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\r\n index += 1;\r\n }\r\n } else {\r\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);\r\n index += 1;\r\n }\r\n }\r\n return clonedPath;\r\n};\r\n\r\nRoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var shapePaths;\r\n var i;\r\n var len = this.shapes.length;\r\n var j;\r\n var jLen;\r\n var rd = this.rd.v;\r\n\r\n if (rd !== 0) {\r\n var shapeData;\r\n var localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n localShapeCollection = shapeData.localShapeCollection;\r\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\r\n localShapeCollection.releaseShapes();\r\n shapeData.shape._mdf = true;\r\n shapePaths = shapeData.shape.paths.shapes;\r\n jLen = shapeData.shape.paths._length;\r\n for (j = 0; j < jLen; j += 1) {\r\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\r\n }\r\n }\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n }\r\n }\r\n if (!this.dynamicProperties.length) {\r\n this._mdf = false;\r\n }\r\n};\r\n\r\nShapeModifiers.registerModifier('rd', RoundCornersModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\r\n\r\nfunction PuckerAndBloatModifier() {}\r\nextendPrototype([ShapeModifier], PuckerAndBloatModifier);\r\nPuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.getValue = this.processKeys;\r\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\r\n this._isAnimated = !!this.amount.effectsSequence.length;\r\n};\r\n\r\nPuckerAndBloatModifier.prototype.processPath = function (path, amount) {\r\n var percent = amount / 100;\r\n var centerPoint = [0, 0];\r\n var pathLength = path._length;\r\n var i = 0;\r\n for (i = 0; i < pathLength; i += 1) {\r\n centerPoint[0] += path.v[i][0];\r\n centerPoint[1] += path.v[i][1];\r\n }\r\n centerPoint[0] /= pathLength;\r\n centerPoint[1] /= pathLength;\r\n var clonedPath = shapePool.newElement();\r\n clonedPath.c = path.c;\r\n var vX;\r\n var vY;\r\n var oX;\r\n var oY;\r\n var iX;\r\n var iY;\r\n for (i = 0; i < pathLength; i += 1) {\r\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\r\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\r\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\r\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\r\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\r\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\r\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\r\n }\r\n return clonedPath;\r\n};\r\n\r\nPuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var shapePaths;\r\n var i;\r\n var len = this.shapes.length;\r\n var j;\r\n var jLen;\r\n var amount = this.amount.v;\r\n\r\n if (amount !== 0) {\r\n var shapeData;\r\n var localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n localShapeCollection = shapeData.localShapeCollection;\r\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\r\n localShapeCollection.releaseShapes();\r\n shapeData.shape._mdf = true;\r\n shapePaths = shapeData.shape.paths.shapes;\r\n jLen = shapeData.shape.paths._length;\r\n for (j = 0; j < jLen; j += 1) {\r\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\r\n }\r\n }\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n }\r\n }\r\n if (!this.dynamicProperties.length) {\r\n this._mdf = false;\r\n }\r\n};\r\nShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\r\n\r\n/* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\r\n\r\nfunction RepeaterModifier() {}\r\nextendPrototype([ShapeModifier], RepeaterModifier);\r\n\r\nRepeaterModifier.prototype.initModifierProperties = function (elem, data) {\r\n this.getValue = this.processKeys;\r\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\r\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\r\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\r\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\r\n this.data = data;\r\n if (!this.dynamicProperties.length) {\r\n this.getValue(true);\r\n }\r\n this._isAnimated = !!this.dynamicProperties.length;\r\n this.pMatrix = new Matrix();\r\n this.rMatrix = new Matrix();\r\n this.sMatrix = new Matrix();\r\n this.tMatrix = new Matrix();\r\n this.matrix = new Matrix();\r\n};\r\n\r\nRepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\r\n var dir = inv ? -1 : 1;\r\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\r\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\r\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\r\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\r\n rMatrix.rotate(-transform.r.v * dir * perc);\r\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\r\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\r\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\r\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\r\n};\r\n\r\nRepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\r\n this.elem = elem;\r\n this.arr = arr;\r\n this.pos = pos;\r\n this.elemsData = elemsData;\r\n this._currentCopies = 0;\r\n this._elements = [];\r\n this._groups = [];\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.initModifierProperties(elem, arr[pos]);\r\n while (pos > 0) {\r\n pos -= 1;\r\n // this._elements.unshift(arr.splice(pos,1)[0]);\r\n this._elements.unshift(arr[pos]);\r\n }\r\n if (this.dynamicProperties.length) {\r\n this.k = true;\r\n } else {\r\n this.getValue(true);\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.resetElements = function (elements) {\r\n var i;\r\n var len = elements.length;\r\n for (i = 0; i < len; i += 1) {\r\n elements[i]._processed = false;\r\n if (elements[i].ty === 'gr') {\r\n this.resetElements(elements[i].it);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.cloneElements = function (elements) {\r\n var newElements = JSON.parse(JSON.stringify(elements));\r\n this.resetElements(newElements);\r\n return newElements;\r\n};\r\n\r\nRepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\r\n var i;\r\n var len = elements.length;\r\n for (i = 0; i < len; i += 1) {\r\n elements[i]._render = renderFlag;\r\n if (elements[i].ty === 'gr') {\r\n this.changeGroupRender(elements[i].it, renderFlag);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\r\n var items;\r\n var itemsTransform;\r\n var i;\r\n var dir;\r\n var cont;\r\n var hasReloaded = false;\r\n if (this._mdf || _isFirstFrame) {\r\n var copies = Math.ceil(this.c.v);\r\n if (this._groups.length < copies) {\r\n while (this._groups.length < copies) {\r\n var group = {\r\n it: this.cloneElements(this._elements),\r\n ty: 'gr',\r\n };\r\n group.it.push({\r\n a: { a: 0, ix: 1, k: [0, 0] }, nm: 'Transform', o: { a: 0, ix: 7, k: 100 }, p: { a: 0, ix: 2, k: [0, 0] }, r: { a: 1, ix: 6, k: [{ s: 0, e: 0, t: 0 }, { s: 0, e: 0, t: 1 }] }, s: { a: 0, ix: 3, k: [100, 100] }, sa: { a: 0, ix: 5, k: 0 }, sk: { a: 0, ix: 4, k: 0 }, ty: 'tr',\r\n });\r\n\r\n this.arr.splice(0, 0, group);\r\n this._groups.splice(0, 0, group);\r\n this._currentCopies += 1;\r\n }\r\n this.elem.reloadShapes();\r\n hasReloaded = true;\r\n }\r\n cont = 0;\r\n var renderFlag;\r\n for (i = 0; i <= this._groups.length - 1; i += 1) {\r\n renderFlag = cont < copies;\r\n this._groups[i]._render = renderFlag;\r\n this.changeGroupRender(this._groups[i].it, renderFlag);\r\n if (!renderFlag) {\r\n var elems = this.elemsData[i].it;\r\n var transformData = elems[elems.length - 1];\r\n if (transformData.transform.op.v !== 0) {\r\n transformData.transform.op._mdf = true;\r\n transformData.transform.op.v = 0;\r\n } else {\r\n transformData.transform.op._mdf = false;\r\n }\r\n }\r\n cont += 1;\r\n }\r\n\r\n this._currentCopies = copies;\r\n /// /\r\n\r\n var offset = this.o.v;\r\n var offsetModulo = offset % 1;\r\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\r\n var pProps = this.pMatrix.props;\r\n var rProps = this.rMatrix.props;\r\n var sProps = this.sMatrix.props;\r\n this.pMatrix.reset();\r\n this.rMatrix.reset();\r\n this.sMatrix.reset();\r\n this.tMatrix.reset();\r\n this.matrix.reset();\r\n var iteration = 0;\r\n\r\n if (offset > 0) {\r\n while (iteration < roundOffset) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n iteration += 1;\r\n }\r\n if (offsetModulo) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\r\n iteration += offsetModulo;\r\n }\r\n } else if (offset < 0) {\r\n while (iteration > roundOffset) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\r\n iteration -= 1;\r\n }\r\n if (offsetModulo) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\r\n iteration -= offsetModulo;\r\n }\r\n }\r\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\r\n dir = this.data.m === 1 ? 1 : -1;\r\n cont = this._currentCopies;\r\n var j;\r\n var jLen;\r\n while (cont) {\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n jLen = itemsTransform.length;\r\n items[items.length - 1].transform.mProps._mdf = true;\r\n items[items.length - 1].transform.op._mdf = true;\r\n items[items.length - 1].transform.op.v = this._currentCopies === 1\r\n ? this.so.v\r\n : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\r\n\r\n if (iteration !== 0) {\r\n if ((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)) {\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n }\r\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]);\r\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]);\r\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]);\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsTransform[j] = this.matrix.props[j];\r\n }\r\n this.matrix.reset();\r\n } else {\r\n this.matrix.reset();\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsTransform[j] = this.matrix.props[j];\r\n }\r\n }\r\n iteration += 1;\r\n cont -= 1;\r\n i += dir;\r\n }\r\n } else {\r\n cont = this._currentCopies;\r\n i = 0;\r\n dir = 1;\r\n while (cont) {\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n items[items.length - 1].transform.mProps._mdf = false;\r\n items[items.length - 1].transform.op._mdf = false;\r\n cont -= 1;\r\n i += dir;\r\n }\r\n }\r\n return hasReloaded;\r\n};\r\n\r\nRepeaterModifier.prototype.addShape = function () {};\r\n\r\nShapeModifiers.registerModifier('rp', RepeaterModifier);\r\n\r\n/* global createSizedArray, shapePool */\r\n\r\nfunction ShapeCollection() {\r\n this._length = 0;\r\n this._maxLength = 4;\r\n this.shapes = createSizedArray(this._maxLength);\r\n}\r\n\r\nShapeCollection.prototype.addShape = function (shapeData) {\r\n if (this._length === this._maxLength) {\r\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\r\n this._maxLength *= 2;\r\n }\r\n this.shapes[this._length] = shapeData;\r\n this._length += 1;\r\n};\r\n\r\nShapeCollection.prototype.releaseShapes = function () {\r\n var i;\r\n for (i = 0; i < this._length; i += 1) {\r\n shapePool.release(this.shapes[i]);\r\n }\r\n this._length = 0;\r\n};\r\n\r\n/* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction DashProperty(elem, data, renderer, container) {\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.dataProps = createSizedArray(data.length);\r\n this.renderer = renderer;\r\n this.k = false;\r\n this.dashStr = '';\r\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\r\n this.dashoffset = createTypedArray('float32', 1);\r\n this.initDynamicPropertyContainer(container);\r\n var i;\r\n var len = data.length || 0;\r\n var prop;\r\n for (i = 0; i < len; i += 1) {\r\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\r\n this.k = prop.k || this.k;\r\n this.dataProps[i] = { n: data[i].n, p: prop };\r\n }\r\n if (!this.k) {\r\n this.getValue(true);\r\n }\r\n this._isAnimated = this.k;\r\n}\r\n\r\nDashProperty.prototype.getValue = function (forceRender) {\r\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || forceRender;\r\n if (this._mdf) {\r\n var i = 0;\r\n var len = this.dataProps.length;\r\n if (this.renderer === 'svg') {\r\n this.dashStr = '';\r\n }\r\n for (i = 0; i < len; i += 1) {\r\n if (this.dataProps[i].n !== 'o') {\r\n if (this.renderer === 'svg') {\r\n this.dashStr += ' ' + this.dataProps[i].p.v;\r\n } else {\r\n this.dashArray[i] = this.dataProps[i].p.v;\r\n }\r\n } else {\r\n this.dashoffset[0] = this.dataProps[i].p.v;\r\n }\r\n }\r\n }\r\n};\r\nextendPrototype([DynamicPropertyContainer], DashProperty);\r\n\r\n/* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\nfunction GradientProperty(elem, data, container) {\r\n this.data = data;\r\n this.c = createTypedArray('uint8c', data.p * 4);\r\n var cLength = data.k.k[0].s ? (data.k.k[0].s.length - data.p * 4) : data.k.k.length - data.p * 4;\r\n this.o = createTypedArray('float32', cLength);\r\n this._cmdf = false;\r\n this._omdf = false;\r\n this._collapsable = this.checkCollapsable();\r\n this._hasOpacity = cLength;\r\n this.initDynamicPropertyContainer(container);\r\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\r\n this.k = this.prop.k;\r\n this.getValue(true);\r\n}\r\n\r\nGradientProperty.prototype.comparePoints = function (values, points) {\r\n var i = 0;\r\n var len = this.o.length / 2;\r\n var diff;\r\n while (i < len) {\r\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\r\n if (diff > 0.01) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.checkCollapsable = function () {\r\n if (this.o.length / 2 !== this.c.length / 4) {\r\n return false;\r\n }\r\n if (this.data.k.k[0].s) {\r\n var i = 0;\r\n var len = this.data.k.k.length;\r\n while (i < len) {\r\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.getValue = function (forceRender) {\r\n this.prop.getValue();\r\n this._mdf = false;\r\n this._cmdf = false;\r\n this._omdf = false;\r\n if (this.prop._mdf || forceRender) {\r\n var i;\r\n var len = this.data.p * 4;\r\n var mult;\r\n var val;\r\n for (i = 0; i < len; i += 1) {\r\n mult = i % 4 === 0 ? 100 : 255;\r\n val = Math.round(this.prop.v[i] * mult);\r\n if (this.c[i] !== val) {\r\n this.c[i] = val;\r\n this._cmdf = !forceRender;\r\n }\r\n }\r\n if (this.o.length) {\r\n len = this.prop.v.length;\r\n for (i = this.data.p * 4; i < len; i += 1) {\r\n mult = i % 2 === 0 ? 100 : 1;\r\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\r\n if (this.o[i - this.data.p * 4] !== val) {\r\n this.o[i - this.data.p * 4] = val;\r\n this._omdf = !forceRender;\r\n }\r\n }\r\n }\r\n this._mdf = !forceRender;\r\n }\r\n};\r\n\r\nextendPrototype([DynamicPropertyContainer], GradientProperty);\r\n\r\n/* exported buildShapeString */\r\n\r\nvar buildShapeString = function (pathNodes, length, closed, mat) {\r\n if (length === 0) {\r\n return '';\r\n }\r\n var _o = pathNodes.o;\r\n var _i = pathNodes.i;\r\n var _v = pathNodes.v;\r\n var i;\r\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\r\n for (i = 1; i < length; i += 1) {\r\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]);\r\n }\r\n if (closed && length) {\r\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]);\r\n shapeString += 'z';\r\n }\r\n return shapeString;\r\n};\r\n\r\n/* global Howl */\r\n/* exported audioControllerFactory */\r\n\r\nvar audioControllerFactory = (function () {\r\n function AudioController(audioFactory) {\r\n this.audios = [];\r\n this.audioFactory = audioFactory;\r\n this._volume = 1;\r\n this._isMuted = false;\r\n }\r\n\r\n AudioController.prototype = {\r\n addAudio: function (audio) {\r\n this.audios.push(audio);\r\n },\r\n pause: function () {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].pause();\r\n }\r\n },\r\n resume: function () {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].resume();\r\n }\r\n },\r\n setRate: function (rateValue) {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].setRate(rateValue);\r\n }\r\n },\r\n createAudio: function (assetPath) {\r\n if (this.audioFactory) {\r\n return this.audioFactory(assetPath);\r\n } if (Howl) {\r\n return new Howl({\r\n src: [assetPath],\r\n });\r\n }\r\n return {\r\n isPlaying: false,\r\n play: function () { this.isPlaying = true; },\r\n seek: function () { this.isPlaying = false; },\r\n playing: function () {},\r\n rate: function () {},\r\n setVolume: function () {},\r\n };\r\n },\r\n setAudioFactory: function (audioFactory) {\r\n this.audioFactory = audioFactory;\r\n },\r\n setVolume: function (value) {\r\n this._volume = value;\r\n this._updateVolume();\r\n },\r\n mute: function () {\r\n this._isMuted = true;\r\n this._updateVolume();\r\n },\r\n unmute: function () {\r\n this._isMuted = false;\r\n this._updateVolume();\r\n },\r\n getVolume: function () {\r\n return this._volume;\r\n },\r\n _updateVolume: function () {\r\n var i;\r\n var len = this.audios.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\r\n }\r\n },\r\n };\r\n\r\n return function () {\r\n return new AudioController();\r\n };\r\n}());\r\n\r\n/* global createTag, createNS, isSafari, dataManager */\r\n/* exported ImagePreloader */\r\n\r\nvar ImagePreloader = (function () {\r\n var proxyImage = (function () {\r\n var canvas = createTag('canvas');\r\n canvas.width = 1;\r\n canvas.height = 1;\r\n var ctx = canvas.getContext('2d');\r\n ctx.fillStyle = 'rgba(0,0,0,0)';\r\n ctx.fillRect(0, 0, 1, 1);\r\n return canvas;\r\n }());\r\n\r\n function imageLoaded() {\r\n this.loadedAssets += 1;\r\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\r\n if (this.imagesLoadedCb) {\r\n this.imagesLoadedCb(null);\r\n }\r\n }\r\n }\r\n function footageLoaded() {\r\n this.loadedFootagesCount += 1;\r\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\r\n if (this.imagesLoadedCb) {\r\n this.imagesLoadedCb(null);\r\n }\r\n }\r\n }\r\n\r\n function getAssetsPath(assetData, assetsPath, originalPath) {\r\n var path = '';\r\n if (assetData.e) {\r\n path = assetData.p;\r\n } else if (assetsPath) {\r\n var imagePath = assetData.p;\r\n if (imagePath.indexOf('images/') !== -1) {\r\n imagePath = imagePath.split('/')[1];\r\n }\r\n path = assetsPath + imagePath;\r\n } else {\r\n path = originalPath;\r\n path += assetData.u ? assetData.u : '';\r\n path += assetData.p;\r\n }\r\n return path;\r\n }\r\n\r\n function testImageLoaded(img) {\r\n var _count = 0;\r\n var intervalId = setInterval(function () {\r\n var box = img.getBBox();\r\n if (box.width || _count > 500) {\r\n this._imageLoaded();\r\n clearInterval(intervalId);\r\n }\r\n _count += 1;\r\n }.bind(this), 50);\r\n }\r\n\r\n function createImageData(assetData) {\r\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\r\n var img = createNS('image');\r\n if (isSafari) {\r\n this.testImageLoaded(img);\r\n } else {\r\n img.addEventListener('load', this._imageLoaded, false);\r\n }\r\n img.addEventListener('error', function () {\r\n ob.img = proxyImage;\r\n this._imageLoaded();\r\n }.bind(this), false);\r\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\r\n if (this._elementHelper.append) {\r\n this._elementHelper.append(img);\r\n } else {\r\n this._elementHelper.appendChild(img);\r\n }\r\n var ob = {\r\n img: img,\r\n assetData: assetData,\r\n };\r\n return ob;\r\n }\r\n\r\n function createImgData(assetData) {\r\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\r\n var img = createTag('img');\r\n img.crossOrigin = 'anonymous';\r\n img.addEventListener('load', this._imageLoaded, false);\r\n img.addEventListener('error', function () {\r\n ob.img = proxyImage;\r\n this._imageLoaded();\r\n }.bind(this), false);\r\n img.src = path;\r\n var ob = {\r\n img: img,\r\n assetData: assetData,\r\n };\r\n return ob;\r\n }\r\n\r\n function createFootageData(data) {\r\n var ob = {\r\n assetData: data,\r\n };\r\n var path = getAssetsPath(data, this.assetsPath, this.path);\r\n dataManager.loadData(path, function (footageData) {\r\n ob.img = footageData;\r\n this._footageLoaded();\r\n }.bind(this), function () {\r\n ob.img = {};\r\n this._footageLoaded();\r\n }.bind(this));\r\n return ob;\r\n }\r\n\r\n function loadAssets(assets, cb) {\r\n this.imagesLoadedCb = cb;\r\n var i;\r\n var len = assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (!assets[i].layers) {\r\n if (!assets[i].t || assets[i].t === 'seq') {\r\n this.totalImages += 1;\r\n this.images.push(this._createImageData(assets[i]));\r\n } else if (assets[i].t === 3) {\r\n this.totalFootages += 1;\r\n this.images.push(this.createFootageData(assets[i]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n function setPath(path) {\r\n this.path = path || '';\r\n }\r\n\r\n function setAssetsPath(path) {\r\n this.assetsPath = path || '';\r\n }\r\n\r\n function getAsset(assetData) {\r\n var i = 0;\r\n var len = this.images.length;\r\n while (i < len) {\r\n if (this.images[i].assetData === assetData) {\r\n return this.images[i].img;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n\r\n function destroy() {\r\n this.imagesLoadedCb = null;\r\n this.images.length = 0;\r\n }\r\n\r\n function loadedImages() {\r\n return this.totalImages === this.loadedAssets;\r\n }\r\n\r\n function loadedFootages() {\r\n return this.totalFootages === this.loadedFootagesCount;\r\n }\r\n\r\n function setCacheType(type, elementHelper) {\r\n if (type === 'svg') {\r\n this._elementHelper = elementHelper;\r\n this._createImageData = this.createImageData.bind(this);\r\n } else {\r\n this._createImageData = this.createImgData.bind(this);\r\n }\r\n }\r\n\r\n function ImagePreloaderFactory() {\r\n this._imageLoaded = imageLoaded.bind(this);\r\n this._footageLoaded = footageLoaded.bind(this);\r\n this.testImageLoaded = testImageLoaded.bind(this);\r\n this.createFootageData = createFootageData.bind(this);\r\n this.assetsPath = '';\r\n this.path = '';\r\n this.totalImages = 0;\r\n this.totalFootages = 0;\r\n this.loadedAssets = 0;\r\n this.loadedFootagesCount = 0;\r\n this.imagesLoadedCb = null;\r\n this.images = [];\r\n }\r\n\r\n ImagePreloaderFactory.prototype = {\r\n loadAssets: loadAssets,\r\n setAssetsPath: setAssetsPath,\r\n setPath: setPath,\r\n loadedImages: loadedImages,\r\n loadedFootages: loadedFootages,\r\n destroy: destroy,\r\n getAsset: getAsset,\r\n createImgData: createImgData,\r\n createImageData: createImageData,\r\n imageLoaded: imageLoaded,\r\n footageLoaded: footageLoaded,\r\n setCacheType: setCacheType,\r\n };\r\n\r\n return ImagePreloaderFactory;\r\n}());\r\n\r\n/* exported featureSupport */\r\n\r\nvar featureSupport = (function () {\r\n var ob = {\r\n maskType: true,\r\n };\r\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)) {\r\n ob.maskType = false;\r\n }\r\n return ob;\r\n}());\r\n\r\n/* global createNS */\r\n/* exported filtersFactory */\r\n\r\nvar filtersFactory = (function () {\r\n var ob = {};\r\n ob.createFilter = createFilter;\r\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\r\n\r\n function createFilter(filId, skipCoordinates) {\r\n var fil = createNS('filter');\r\n fil.setAttribute('id', filId);\r\n if (skipCoordinates !== true) {\r\n fil.setAttribute('filterUnits', 'objectBoundingBox');\r\n fil.setAttribute('x', '0%');\r\n fil.setAttribute('y', '0%');\r\n fil.setAttribute('width', '100%');\r\n fil.setAttribute('height', '100%');\r\n }\r\n return fil;\r\n }\r\n\r\n function createAlphaToLuminanceFilter() {\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\r\n return feColorMatrix;\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction TextAnimatorProperty(textData, renderType, elem) {\r\n this._isFirstFrame = true;\r\n this._hasMaskedPath = false;\r\n this._frameId = -1;\r\n this._textData = textData;\r\n this._renderType = renderType;\r\n this._elem = elem;\r\n this._animatorsData = createSizedArray(this._textData.a.length);\r\n this._pathData = {};\r\n this._moreOptions = {\r\n alignment: {},\r\n };\r\n this.renderedLetters = [];\r\n this.lettersChangedFlag = false;\r\n this.initDynamicPropertyContainer(elem);\r\n}\r\n\r\nTextAnimatorProperty.prototype.searchProperties = function () {\r\n var i;\r\n var len = this._textData.a.length;\r\n var animatorProps;\r\n var getProp = PropertyFactory.getProp;\r\n for (i = 0; i < len; i += 1) {\r\n animatorProps = this._textData.a[i];\r\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\r\n }\r\n if (this._textData.p && 'm' in this._textData.p) {\r\n this._pathData = {\r\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\r\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\r\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\r\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\r\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\r\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m),\r\n };\r\n this._hasMaskedPath = true;\r\n } else {\r\n this._hasMaskedPath = false;\r\n }\r\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\r\n};\r\n\r\nTextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\r\n this.lettersChangedFlag = lettersChangedFlag;\r\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\r\n return;\r\n }\r\n this._isFirstFrame = false;\r\n var alignment = this._moreOptions.alignment.v;\r\n var animators = this._animatorsData;\r\n var textData = this._textData;\r\n var matrixHelper = this.mHelper;\r\n var renderType = this._renderType;\r\n var renderedLettersCount = this.renderedLetters.length;\r\n var xPos;\r\n var yPos;\r\n var i;\r\n var len;\r\n var letters = documentData.l;\r\n var pathInfo;\r\n var currentLength;\r\n var currentPoint;\r\n var segmentLength;\r\n var flag;\r\n var pointInd;\r\n var segmentInd;\r\n var prevPoint;\r\n var points;\r\n var segments;\r\n var partialLength;\r\n var totalLength;\r\n var perc;\r\n var tanAngle;\r\n var mask;\r\n if (this._hasMaskedPath) {\r\n mask = this._pathData.m;\r\n if (!this._pathData.n || this._pathData._mdf) {\r\n var paths = mask.v;\r\n if (this._pathData.r.v) {\r\n paths = paths.reverse();\r\n }\r\n // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\r\n pathInfo = {\r\n tLength: 0,\r\n segments: [],\r\n };\r\n len = paths._length - 1;\r\n var bezierData;\r\n totalLength = 0;\r\n for (i = 0; i < len; i += 1) {\r\n bezierData = bez.buildBezierData(paths.v[i],\r\n paths.v[i + 1],\r\n [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]],\r\n [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\r\n pathInfo.tLength += bezierData.segmentLength;\r\n pathInfo.segments.push(bezierData);\r\n totalLength += bezierData.segmentLength;\r\n }\r\n i = len;\r\n if (mask.v.c) {\r\n bezierData = bez.buildBezierData(paths.v[i],\r\n paths.v[0],\r\n [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]],\r\n [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\r\n pathInfo.tLength += bezierData.segmentLength;\r\n pathInfo.segments.push(bezierData);\r\n totalLength += bezierData.segmentLength;\r\n }\r\n this._pathData.pi = pathInfo;\r\n }\r\n pathInfo = this._pathData.pi;\r\n\r\n currentLength = this._pathData.f.v;\r\n segmentInd = 0;\r\n pointInd = 1;\r\n segmentLength = 0;\r\n flag = true;\r\n segments = pathInfo.segments;\r\n if (currentLength < 0 && mask.v.c) {\r\n if (pathInfo.tLength < Math.abs(currentLength)) {\r\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\r\n }\r\n segmentInd = segments.length - 1;\r\n points = segments[segmentInd].points;\r\n pointInd = points.length - 1;\r\n while (currentLength < 0) {\r\n currentLength += points[pointInd].partialLength;\r\n pointInd -= 1;\r\n if (pointInd < 0) {\r\n segmentInd -= 1;\r\n points = segments[segmentInd].points;\r\n pointInd = points.length - 1;\r\n }\r\n }\r\n }\r\n points = segments[segmentInd].points;\r\n prevPoint = points[pointInd - 1];\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n\r\n len = letters.length;\r\n xPos = 0;\r\n yPos = 0;\r\n var yOff = documentData.finalSize * 1.2 * 0.714;\r\n var firstLine = true;\r\n var animatorProps;\r\n var animatorSelector;\r\n var j;\r\n var jLen;\r\n var letterValue;\r\n\r\n jLen = animators.length;\r\n\r\n var mult;\r\n var ind = -1;\r\n var offf;\r\n var xPathPos;\r\n var yPathPos;\r\n var initPathPos = currentLength;\r\n var initSegmentInd = segmentInd;\r\n var initPointInd = pointInd;\r\n var currentLine = -1;\r\n var elemOpacity;\r\n var sc;\r\n var sw;\r\n var fc;\r\n var k;\r\n var letterSw;\r\n var letterSc;\r\n var letterFc;\r\n var letterM = '';\r\n var letterP = this.defaultPropsArray;\r\n var letterO;\r\n\r\n //\r\n if (documentData.j === 2 || documentData.j === 1) {\r\n var animatorJustifyOffset = 0;\r\n var animatorFirstCharOffset = 0;\r\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\r\n var lastIndex = 0;\r\n var isNewLine = true;\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (letters[i].n) {\r\n if (animatorJustifyOffset) {\r\n animatorJustifyOffset += animatorFirstCharOffset;\r\n }\r\n while (lastIndex < i) {\r\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\r\n lastIndex += 1;\r\n }\r\n animatorJustifyOffset = 0;\r\n isNewLine = true;\r\n } else {\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.t.propType) {\r\n if (isNewLine && documentData.j === 2) {\r\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\r\n }\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\r\n } else {\r\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\r\n }\r\n }\r\n }\r\n isNewLine = false;\r\n }\r\n }\r\n if (animatorJustifyOffset) {\r\n animatorJustifyOffset += animatorFirstCharOffset;\r\n }\r\n while (lastIndex < i) {\r\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\r\n lastIndex += 1;\r\n }\r\n }\r\n //\r\n\r\n for (i = 0; i < len; i += 1) {\r\n matrixHelper.reset();\r\n elemOpacity = 1;\r\n if (letters[i].n) {\r\n xPos = 0;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n currentLength = initPathPos;\r\n firstLine = false;\r\n if (this._hasMaskedPath) {\r\n segmentInd = initSegmentInd;\r\n pointInd = initPointInd;\r\n points = segments[segmentInd].points;\r\n prevPoint = points[pointInd - 1];\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n segmentLength = 0;\r\n }\r\n letterM = '';\r\n letterFc = '';\r\n letterSw = '';\r\n letterO = '';\r\n letterP = this.defaultPropsArray;\r\n } else {\r\n if (this._hasMaskedPath) {\r\n if (currentLine !== letters[i].line) {\r\n switch (documentData.j) {\r\n case 1:\r\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\r\n break;\r\n case 2:\r\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\r\n break;\r\n default:\r\n break;\r\n }\r\n currentLine = letters[i].line;\r\n }\r\n if (ind !== letters[i].ind) {\r\n if (letters[ind]) {\r\n currentLength += letters[ind].extra;\r\n }\r\n currentLength += letters[i].an / 2;\r\n ind = letters[i].ind;\r\n }\r\n currentLength += (alignment[0] * letters[i].an) * 0.005;\r\n var animatorOffset = 0;\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.p.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n animatorOffset += animatorProps.p.v[0] * mult[0];\r\n } else {\r\n animatorOffset += animatorProps.p.v[0] * mult;\r\n }\r\n }\r\n if (animatorProps.a.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n animatorOffset += animatorProps.a.v[0] * mult[0];\r\n } else {\r\n animatorOffset += animatorProps.a.v[0] * mult;\r\n }\r\n }\r\n }\r\n flag = true;\r\n // Force alignment only works with a single line for now\r\n if (this._pathData.a.v) {\r\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);\r\n currentLength += this._pathData.f.v;\r\n }\r\n while (flag) {\r\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\r\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\r\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\r\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\r\n matrixHelper.translate((-alignment[0] * letters[i].an) * 0.005, -(alignment[1] * yOff) * 0.01);\r\n flag = false;\r\n } else if (points) {\r\n segmentLength += currentPoint.partialLength;\r\n pointInd += 1;\r\n if (pointInd >= points.length) {\r\n pointInd = 0;\r\n segmentInd += 1;\r\n if (!segments[segmentInd]) {\r\n if (mask.v.c) {\r\n pointInd = 0;\r\n segmentInd = 0;\r\n points = segments[segmentInd].points;\r\n } else {\r\n segmentLength -= currentPoint.partialLength;\r\n points = null;\r\n }\r\n } else {\r\n points = segments[segmentInd].points;\r\n }\r\n }\r\n if (points) {\r\n prevPoint = currentPoint;\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n }\r\n }\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n } else {\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n\r\n // Grouping alignment\r\n matrixHelper.translate((-alignment[0] * letters[i].an) * 0.005, (-alignment[1] * yOff) * 0.01, 0);\r\n }\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.t.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\r\n if (xPos !== 0 || documentData.j !== 0) {\r\n if (this._hasMaskedPath) {\r\n if (mult.length) {\r\n currentLength += animatorProps.t.v * mult[0];\r\n } else {\r\n currentLength += animatorProps.t.v * mult;\r\n }\r\n } else if (mult.length) {\r\n xPos += animatorProps.t.v * mult[0];\r\n } else {\r\n xPos += animatorProps.t.v * mult;\r\n }\r\n }\r\n }\r\n }\r\n if (documentData.strokeWidthAnim) {\r\n sw = documentData.sw || 0;\r\n }\r\n if (documentData.strokeColorAnim) {\r\n if (documentData.sc) {\r\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\r\n } else {\r\n sc = [0, 0, 0];\r\n }\r\n }\r\n if (documentData.fillColorAnim && documentData.fc) {\r\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\r\n }\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.a.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n\r\n if (mult.length) {\r\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\r\n } else {\r\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\r\n }\r\n }\r\n }\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n if (animatorProps.s.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (mult.length) {\r\n matrixHelper.scale(1 + ((animatorProps.s.v[0] - 1) * mult[0]), 1 + ((animatorProps.s.v[1] - 1) * mult[1]), 1);\r\n } else {\r\n matrixHelper.scale(1 + ((animatorProps.s.v[0] - 1) * mult), 1 + ((animatorProps.s.v[1] - 1) * mult), 1);\r\n }\r\n }\r\n }\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (animatorProps.sk.propType) {\r\n if (mult.length) {\r\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\r\n } else {\r\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\r\n }\r\n }\r\n if (animatorProps.r.propType) {\r\n if (mult.length) {\r\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\r\n } else {\r\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\r\n }\r\n }\r\n if (animatorProps.ry.propType) {\r\n if (mult.length) {\r\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\r\n } else {\r\n matrixHelper.rotateY(animatorProps.ry.v * mult);\r\n }\r\n }\r\n if (animatorProps.rx.propType) {\r\n if (mult.length) {\r\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\r\n } else {\r\n matrixHelper.rotateX(animatorProps.rx.v * mult);\r\n }\r\n }\r\n if (animatorProps.o.propType) {\r\n if (mult.length) {\r\n elemOpacity += ((animatorProps.o.v) * mult[0] - elemOpacity) * mult[0];\r\n } else {\r\n elemOpacity += ((animatorProps.o.v) * mult - elemOpacity) * mult;\r\n }\r\n }\r\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\r\n if (mult.length) {\r\n sw += animatorProps.sw.v * mult[0];\r\n } else {\r\n sw += animatorProps.sw.v * mult;\r\n }\r\n }\r\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\r\n for (k = 0; k < 3; k += 1) {\r\n if (mult.length) {\r\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\r\n } else {\r\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\r\n }\r\n }\r\n }\r\n if (documentData.fillColorAnim && documentData.fc) {\r\n if (animatorProps.fc.propType) {\r\n for (k = 0; k < 3; k += 1) {\r\n if (mult.length) {\r\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\r\n } else {\r\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\r\n }\r\n }\r\n }\r\n if (animatorProps.fh.propType) {\r\n if (mult.length) {\r\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\r\n } else {\r\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\r\n }\r\n }\r\n if (animatorProps.fs.propType) {\r\n if (mult.length) {\r\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\r\n } else {\r\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\r\n }\r\n }\r\n if (animatorProps.fb.propType) {\r\n if (mult.length) {\r\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\r\n } else {\r\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorProps = animators[j].a;\r\n\r\n if (animatorProps.p.propType) {\r\n animatorSelector = animators[j].s;\r\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\r\n if (this._hasMaskedPath) {\r\n if (mult.length) {\r\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\r\n } else {\r\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\r\n }\r\n } else if (mult.length) {\r\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\r\n } else {\r\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\r\n }\r\n }\r\n }\r\n if (documentData.strokeWidthAnim) {\r\n letterSw = sw < 0 ? 0 : sw;\r\n }\r\n if (documentData.strokeColorAnim) {\r\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\r\n }\r\n if (documentData.fillColorAnim && documentData.fc) {\r\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\r\n }\r\n\r\n if (this._hasMaskedPath) {\r\n matrixHelper.translate(0, -documentData.ls);\r\n\r\n matrixHelper.translate(0, (alignment[1] * yOff) * 0.01 + yPos, 0);\r\n if (this._pathData.p.v) {\r\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\r\n var rot = (Math.atan(tanAngle) * 180) / Math.PI;\r\n if (currentPoint.point[0] < prevPoint.point[0]) {\r\n rot += 180;\r\n }\r\n matrixHelper.rotate((-rot * Math.PI) / 180);\r\n }\r\n matrixHelper.translate(xPathPos, yPathPos, 0);\r\n currentLength -= (alignment[0] * letters[i].an) * 0.005;\r\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\r\n currentLength += letters[i].an / 2;\r\n currentLength += (documentData.tr * 0.001) * documentData.finalSize;\r\n }\r\n } else {\r\n matrixHelper.translate(xPos, yPos, 0);\r\n\r\n if (documentData.ps) {\r\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\r\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\r\n }\r\n switch (documentData.j) {\r\n case 1:\r\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\r\n break;\r\n case 2:\r\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\r\n break;\r\n default:\r\n break;\r\n }\r\n matrixHelper.translate(0, -documentData.ls);\r\n matrixHelper.translate(offf, 0, 0);\r\n matrixHelper.translate((alignment[0] * letters[i].an) * 0.005, (alignment[1] * yOff) * 0.01, 0);\r\n xPos += letters[i].l + (documentData.tr * 0.001) * documentData.finalSize;\r\n }\r\n if (renderType === 'html') {\r\n letterM = matrixHelper.toCSS();\r\n } else if (renderType === 'svg') {\r\n letterM = matrixHelper.to2dCSS();\r\n } else {\r\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]];\r\n }\r\n letterO = elemOpacity;\r\n }\r\n\r\n if (renderedLettersCount <= i) {\r\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\r\n this.renderedLetters.push(letterValue);\r\n renderedLettersCount += 1;\r\n this.lettersChangedFlag = true;\r\n } else {\r\n letterValue = this.renderedLetters[i];\r\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\r\n }\r\n }\r\n};\r\n\r\nTextAnimatorProperty.prototype.getValue = function () {\r\n if (this._elem.globalData.frameId === this._frameId) {\r\n return;\r\n }\r\n this._frameId = this._elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n};\r\n\r\nTextAnimatorProperty.prototype.mHelper = new Matrix();\r\nTextAnimatorProperty.prototype.defaultPropsArray = [];\r\nextendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\r\n\r\n/* global PropertyFactory, degToRads, TextSelectorProp */\r\n/* exported TextAnimatorDataProperty */\r\n\r\nfunction TextAnimatorDataProperty(elem, animatorProps, container) {\r\n var defaultData = { propType: false };\r\n var getProp = PropertyFactory.getProp;\r\n var textAnimatorAnimatables = animatorProps.a;\r\n this.a = {\r\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\r\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\r\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\r\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\r\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\r\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\r\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\r\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\r\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\r\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\r\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\r\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\r\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\r\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\r\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\r\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData,\r\n };\r\n\r\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\r\n this.s.t = animatorProps.s.t;\r\n}\r\n\r\nfunction LetterProps(o, sw, sc, fc, m, p) {\r\n this.o = o;\r\n this.sw = sw;\r\n this.sc = sc;\r\n this.fc = fc;\r\n this.m = m;\r\n this.p = p;\r\n this._mdf = {\r\n o: true,\r\n sw: !!sw,\r\n sc: !!sc,\r\n fc: !!fc,\r\n m: true,\r\n p: true,\r\n };\r\n}\r\n\r\nLetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\r\n this._mdf.o = false;\r\n this._mdf.sw = false;\r\n this._mdf.sc = false;\r\n this._mdf.fc = false;\r\n this._mdf.m = false;\r\n this._mdf.p = false;\r\n var updated = false;\r\n\r\n if (this.o !== o) {\r\n this.o = o;\r\n this._mdf.o = true;\r\n updated = true;\r\n }\r\n if (this.sw !== sw) {\r\n this.sw = sw;\r\n this._mdf.sw = true;\r\n updated = true;\r\n }\r\n if (this.sc !== sc) {\r\n this.sc = sc;\r\n this._mdf.sc = true;\r\n updated = true;\r\n }\r\n if (this.fc !== fc) {\r\n this.fc = fc;\r\n this._mdf.fc = true;\r\n updated = true;\r\n }\r\n if (this.m !== m) {\r\n this.m = m;\r\n this._mdf.m = true;\r\n updated = true;\r\n }\r\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])) {\r\n this.p = p;\r\n this._mdf.p = true;\r\n updated = true;\r\n }\r\n return updated;\r\n};\r\n\r\n/* global FontManager, initialDefaultFrame, getFontProperties */\r\n/* exported TextProperty */\r\n\r\nfunction TextProperty(elem, data) {\r\n this._frameId = initialDefaultFrame;\r\n this.pv = '';\r\n this.v = '';\r\n this.kf = false;\r\n this._isFirstFrame = true;\r\n this._mdf = false;\r\n this.data = data;\r\n this.elem = elem;\r\n this.comp = this.elem.comp;\r\n this.keysIndex = 0;\r\n this.canResize = false;\r\n this.minimumFontSize = 1;\r\n this.effectsSequence = [];\r\n this.currentData = {\r\n ascent: 0,\r\n boxWidth: this.defaultBoxWidth,\r\n f: '',\r\n fStyle: '',\r\n fWeight: '',\r\n fc: '',\r\n j: '',\r\n justifyOffset: '',\r\n l: [],\r\n lh: 0,\r\n lineWidths: [],\r\n ls: '',\r\n of: '',\r\n s: '',\r\n sc: '',\r\n sw: 0,\r\n t: 0,\r\n tr: 0,\r\n sz: 0,\r\n ps: null,\r\n fillColorAnim: false,\r\n strokeColorAnim: false,\r\n strokeWidthAnim: false,\r\n yOffset: 0,\r\n finalSize: 0,\r\n finalText: [],\r\n finalLineHeight: 0,\r\n __complete: false,\r\n\r\n };\r\n this.copyData(this.currentData, this.data.d.k[0].s);\r\n\r\n if (!this.searchProperty()) {\r\n this.completeTextData(this.currentData);\r\n }\r\n}\r\n\r\nTextProperty.prototype.defaultBoxWidth = [0, 0];\r\n\r\nTextProperty.prototype.copyData = function (obj, data) {\r\n for (var s in data) {\r\n if (Object.prototype.hasOwnProperty.call(data, s)) {\r\n obj[s] = data[s];\r\n }\r\n }\r\n return obj;\r\n};\r\n\r\nTextProperty.prototype.setCurrentData = function (data) {\r\n if (!data.__complete) {\r\n this.completeTextData(data);\r\n }\r\n this.currentData = data;\r\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\r\n this._mdf = true;\r\n};\r\n\r\nTextProperty.prototype.searchProperty = function () {\r\n return this.searchKeyframes();\r\n};\r\n\r\nTextProperty.prototype.searchKeyframes = function () {\r\n this.kf = this.data.d.k.length > 1;\r\n if (this.kf) {\r\n this.addEffect(this.getKeyframeValue.bind(this));\r\n }\r\n return this.kf;\r\n};\r\n\r\nTextProperty.prototype.addEffect = function (effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.getValue = function (_finalValue) {\r\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\r\n return;\r\n }\r\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\r\n var currentValue = this.currentData;\r\n var currentIndex = this.keysIndex;\r\n if (this.lock) {\r\n this.setCurrentData(this.currentData);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var i; var\r\n len = this.effectsSequence.length;\r\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\r\n for (i = 0; i < len; i += 1) {\r\n // Checking if index changed to prevent creating a new object every time the expression updates.\r\n if (currentIndex !== this.keysIndex) {\r\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\r\n } else {\r\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\r\n }\r\n }\r\n if (currentValue !== finalValue) {\r\n this.setCurrentData(finalValue);\r\n }\r\n this.v = this.currentData;\r\n this.pv = this.v;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n};\r\n\r\nTextProperty.prototype.getKeyframeValue = function () {\r\n var textKeys = this.data.d.k;\r\n var frameNum = this.elem.comp.renderedFrame;\r\n var i = 0; var\r\n len = textKeys.length;\r\n while (i <= len - 1) {\r\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if (this.keysIndex !== i) {\r\n this.keysIndex = i;\r\n }\r\n return this.data.d.k[this.keysIndex].s;\r\n};\r\n\r\nTextProperty.prototype.buildFinalText = function (text) {\r\n var charactersArray = [];\r\n var i = 0;\r\n var len = text.length;\r\n var charCode;\r\n var secondCharCode;\r\n var shouldCombine = false;\r\n while (i < len) {\r\n charCode = text.charCodeAt(i);\r\n if (FontManager.isCombinedCharacter(charCode)) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\r\n secondCharCode = text.charCodeAt(i + 1);\r\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\r\n if (shouldCombine || FontManager.isModifier(charCode, secondCharCode)) {\r\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\r\n shouldCombine = false;\r\n } else {\r\n charactersArray.push(text.substr(i, 2));\r\n }\r\n i += 1;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else if (charCode > 0xDBFF) {\r\n secondCharCode = text.charCodeAt(i + 1);\r\n if (FontManager.isZeroWidthJoiner(charCode, secondCharCode)) {\r\n shouldCombine = true;\r\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\r\n i += 1;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n shouldCombine = true;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n i += 1;\r\n }\r\n return charactersArray;\r\n};\r\n\r\nTextProperty.prototype.completeTextData = function (documentData) {\r\n documentData.__complete = true;\r\n var fontManager = this.elem.globalData.fontManager;\r\n var data = this.data;\r\n var letters = [];\r\n var i; var\r\n len;\r\n var newLineFlag; var index = 0; var\r\n val;\r\n var anchorGrouping = data.m.g;\r\n var currentSize = 0; var currentPos = 0; var currentLine = 0; var\r\n lineWidths = [];\r\n var lineWidth = 0;\r\n var maxLineWidth = 0;\r\n var j; var\r\n jLen;\r\n var fontData = fontManager.getFontByName(documentData.f);\r\n var charData; var\r\n cLength = 0;\r\n\r\n var fontProps = getFontProperties(fontData);\r\n documentData.fWeight = fontProps.weight;\r\n documentData.fStyle = fontProps.style;\r\n documentData.finalSize = documentData.s;\r\n documentData.finalText = this.buildFinalText(documentData.t);\r\n len = documentData.finalText.length;\r\n documentData.finalLineHeight = documentData.lh;\r\n var trackingOffset = (documentData.tr / 1000) * documentData.finalSize;\r\n var charCode;\r\n if (documentData.sz) {\r\n var flag = true;\r\n var boxWidth = documentData.sz[0];\r\n var boxHeight = documentData.sz[1];\r\n var currentHeight; var\r\n finalText;\r\n while (flag) {\r\n finalText = this.buildFinalText(documentData.t);\r\n currentHeight = 0;\r\n lineWidth = 0;\r\n len = finalText.length;\r\n trackingOffset = (documentData.tr / 1000) * documentData.finalSize;\r\n var lastSpaceIndex = -1;\r\n for (i = 0; i < len; i += 1) {\r\n charCode = finalText[i].charCodeAt(0);\r\n newLineFlag = false;\r\n if (finalText[i] === ' ') {\r\n lastSpaceIndex = i;\r\n } else if (charCode === 13 || charCode === 3) {\r\n lineWidth = 0;\r\n newLineFlag = true;\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\r\n }\r\n if (fontManager.chars) {\r\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\r\n cLength = newLineFlag ? 0 : (charData.w * documentData.finalSize) / 100;\r\n } else {\r\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\r\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\r\n }\r\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\r\n if (lastSpaceIndex === -1) {\r\n len += 1;\r\n } else {\r\n i = lastSpaceIndex;\r\n }\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\r\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r');\r\n // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\r\n lastSpaceIndex = -1;\r\n lineWidth = 0;\r\n } else {\r\n lineWidth += cLength;\r\n lineWidth += trackingOffset;\r\n }\r\n }\r\n currentHeight += (fontData.ascent * documentData.finalSize) / 100;\r\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\r\n documentData.finalSize -= 1;\r\n documentData.finalLineHeight = (documentData.finalSize * documentData.lh) / documentData.s;\r\n } else {\r\n documentData.finalText = finalText;\r\n len = documentData.finalText.length;\r\n flag = false;\r\n }\r\n }\r\n }\r\n lineWidth = -trackingOffset;\r\n cLength = 0;\r\n var uncollapsedSpaces = 0;\r\n var currentChar;\r\n for (i = 0; i < len; i += 1) {\r\n newLineFlag = false;\r\n currentChar = documentData.finalText[i];\r\n charCode = currentChar.charCodeAt(0);\r\n if (charCode === 13 || charCode === 3) {\r\n uncollapsedSpaces = 0;\r\n lineWidths.push(lineWidth);\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidth = -2 * trackingOffset;\r\n val = '';\r\n newLineFlag = true;\r\n currentLine += 1;\r\n } else {\r\n val = currentChar;\r\n }\r\n if (fontManager.chars) {\r\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\r\n cLength = newLineFlag ? 0 : (charData.w * documentData.finalSize) / 100;\r\n } else {\r\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\r\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n }\r\n\r\n //\r\n if (currentChar === ' ') {\r\n uncollapsedSpaces += cLength + trackingOffset;\r\n } else {\r\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\r\n uncollapsedSpaces = 0;\r\n }\r\n letters.push({\r\n l: cLength, an: cLength, add: currentSize, n: newLineFlag, anIndexes: [], val: val, line: currentLine, animatorJustifyOffset: 0,\r\n });\r\n if (anchorGrouping == 2) { // eslint-disable-line eqeqeq\r\n currentSize += cLength;\r\n if (val === '' || val === ' ' || i === len - 1) {\r\n if (val === '' || val === ' ') {\r\n currentSize -= cLength;\r\n }\r\n while (currentPos <= i) {\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n index += 1;\r\n currentSize = 0;\r\n }\r\n } else if (anchorGrouping == 3) { // eslint-disable-line eqeqeq\r\n currentSize += cLength;\r\n if (val === '' || i === len - 1) {\r\n if (val === '') {\r\n currentSize -= cLength;\r\n }\r\n while (currentPos <= i) {\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n currentSize = 0;\r\n index += 1;\r\n }\r\n } else {\r\n letters[index].ind = index;\r\n letters[index].extra = 0;\r\n index += 1;\r\n }\r\n }\r\n documentData.l = letters;\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidths.push(lineWidth);\r\n if (documentData.sz) {\r\n documentData.boxWidth = documentData.sz[0];\r\n documentData.justifyOffset = 0;\r\n } else {\r\n documentData.boxWidth = maxLineWidth;\r\n switch (documentData.j) {\r\n case 1:\r\n documentData.justifyOffset = -documentData.boxWidth;\r\n break;\r\n case 2:\r\n documentData.justifyOffset = -documentData.boxWidth / 2;\r\n break;\r\n default:\r\n documentData.justifyOffset = 0;\r\n }\r\n }\r\n documentData.lineWidths = lineWidths;\r\n\r\n var animators = data.a; var animatorData; var\r\n letterData;\r\n jLen = animators.length;\r\n var based; var ind; var\r\n indexes = [];\r\n for (j = 0; j < jLen; j += 1) {\r\n animatorData = animators[j];\r\n if (animatorData.a.sc) {\r\n documentData.strokeColorAnim = true;\r\n }\r\n if (animatorData.a.sw) {\r\n documentData.strokeWidthAnim = true;\r\n }\r\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\r\n documentData.fillColorAnim = true;\r\n }\r\n ind = 0;\r\n based = animatorData.s.b;\r\n for (i = 0; i < len; i += 1) {\r\n letterData = letters[i];\r\n letterData.anIndexes[j] = ind;\r\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))) { // eslint-disable-line eqeqeq\r\n if (animatorData.s.rn === 1) {\r\n indexes.push(ind);\r\n }\r\n ind += 1;\r\n }\r\n }\r\n data.a[j].s.totalChars = ind;\r\n var currentInd = -1; var\r\n newInd;\r\n if (animatorData.s.rn === 1) {\r\n for (i = 0; i < len; i += 1) {\r\n letterData = letters[i];\r\n if (currentInd != letterData.anIndexes[j]) { // eslint-disable-line eqeqeq\r\n currentInd = letterData.anIndexes[j];\r\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\r\n }\r\n letterData.anIndexes[j] = newInd;\r\n }\r\n }\r\n }\r\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\r\n documentData.ls = documentData.ls || 0;\r\n documentData.ascent = (fontData.ascent * documentData.finalSize) / 100;\r\n};\r\n\r\nTextProperty.prototype.updateDocumentData = function (newData, index) {\r\n index = index === undefined ? this.keysIndex : index;\r\n var dData = this.copyData({}, this.data.d.k[index].s);\r\n dData = this.copyData(dData, newData);\r\n this.data.d.k[index].s = dData;\r\n this.recalculate(index);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.recalculate = function (index) {\r\n var dData = this.data.d.k[index].s;\r\n dData.__complete = false;\r\n this.keysIndex = 0;\r\n this._isFirstFrame = true;\r\n this.getValue(dData);\r\n};\r\n\r\nTextProperty.prototype.canResizeFont = function (_canResize) {\r\n this.canResize = _canResize;\r\n this.recalculate(this.keysIndex);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.setMinimumFontSize = function (_fontValue) {\r\n this.minimumFontSize = Math.floor(_fontValue) || 1;\r\n this.recalculate(this.keysIndex);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\n/* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\r\n/* exported TextSelectorProp */\r\n\r\nvar TextSelectorProp = (function () {\r\n var max = Math.max;\r\n var min = Math.min;\r\n var floor = Math.floor;\r\n\r\n function TextSelectorPropFactory(elem, data) {\r\n this._currentTextLength = -1;\r\n this.k = false;\r\n this.data = data;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.finalS = 0;\r\n this.finalE = 0;\r\n this.initDynamicPropertyContainer(elem);\r\n this.s = PropertyFactory.getProp(elem, data.s || { k: 0 }, 0, 0, this);\r\n if ('e' in data) {\r\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\r\n } else {\r\n this.e = { v: 100 };\r\n }\r\n this.o = PropertyFactory.getProp(elem, data.o || { k: 0 }, 0, 0, this);\r\n this.xe = PropertyFactory.getProp(elem, data.xe || { k: 0 }, 0, 0, this);\r\n this.ne = PropertyFactory.getProp(elem, data.ne || { k: 0 }, 0, 0, this);\r\n this.sm = PropertyFactory.getProp(elem, data.sm || { k: 100 }, 0, 0, this);\r\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\r\n if (!this.dynamicProperties.length) {\r\n this.getValue();\r\n }\r\n }\r\n\r\n TextSelectorPropFactory.prototype = {\r\n getMult: function (ind) {\r\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\r\n this.getValue();\r\n }\r\n // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\r\n var x1 = 0;\r\n var y1 = 0;\r\n var x2 = 1;\r\n var y2 = 1;\r\n if (this.ne.v > 0) {\r\n x1 = this.ne.v / 100.0;\r\n } else {\r\n y1 = -this.ne.v / 100.0;\r\n }\r\n if (this.xe.v > 0) {\r\n x2 = 1.0 - this.xe.v / 100.0;\r\n } else {\r\n y2 = 1.0 + this.xe.v / 100.0;\r\n }\r\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\r\n\r\n var mult = 0;\r\n var s = this.finalS;\r\n var e = this.finalE;\r\n var type = this.data.sh;\r\n if (type === 2) {\r\n if (e === s) {\r\n mult = ind >= e ? 1 : 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 3) {\r\n if (e === s) {\r\n mult = ind >= e ? 0 : 1;\r\n } else {\r\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n\r\n mult = easer(mult);\r\n } else if (type === 4) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n if (mult < 0.5) {\r\n mult *= 2;\r\n } else {\r\n mult = 1 - 2 * (mult - 0.5);\r\n }\r\n }\r\n mult = easer(mult);\r\n } else if (type === 5) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n var tot = e - s;\r\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n var x = -tot / 2 + ind;\r\n var a = tot / 2;\r\n mult = Math.sqrt(1 - (x * x) / (a * a));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 6) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n mult = (1 + (Math.cos((Math.PI + Math.PI * 2 * (ind) / (e - s))))) / 2; // eslint-disable-line\r\n }\r\n mult = easer(mult);\r\n } else {\r\n if (ind >= floor(s)) {\r\n if (ind - s < 0) {\r\n mult = max(0, min(min(e, 1) - (s - ind), 1));\r\n } else {\r\n mult = max(0, min(e - ind, 1));\r\n }\r\n }\r\n mult = easer(mult);\r\n }\r\n // Smoothness implementation.\r\n // The smoothness represents a reduced range of the original [0; 1] range.\r\n // if smoothness is 25%, the new range will be [0.375; 0.625]\r\n // Steps are:\r\n // - find the lower value of the new range (threshold)\r\n // - if multiplier is smaller than that value, floor it to 0\r\n // - if it is larger,\r\n // - subtract the threshold\r\n // - divide it by the smoothness (this will return the range to [0; 1])\r\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\r\n if (this.sm.v !== 100) {\r\n var smoothness = this.sm.v * 0.01;\r\n if (smoothness === 0) {\r\n smoothness = 0.00000001;\r\n }\r\n var threshold = 0.5 - smoothness * 0.5;\r\n if (mult < threshold) {\r\n mult = 0;\r\n } else {\r\n mult = (mult - threshold) / smoothness;\r\n if (mult > 1) {\r\n mult = 1;\r\n }\r\n }\r\n }\r\n return mult * this.a.v;\r\n },\r\n getValue: function (newCharsFlag) {\r\n this.iterateDynamicProperties();\r\n this._mdf = newCharsFlag || this._mdf;\r\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\r\n if (newCharsFlag && this.data.r === 2) {\r\n this.e.v = this._currentTextLength;\r\n }\r\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\r\n var o = this.o.v / divisor;\r\n var s = this.s.v / divisor + o;\r\n var e = (this.e.v / divisor) + o;\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n this.finalS = s;\r\n this.finalE = e;\r\n },\r\n };\r\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\r\n\r\n function getTextSelectorProp(elem, data, arr) {\r\n return new TextSelectorPropFactory(elem, data, arr);\r\n }\r\n\r\n return {\r\n getTextSelectorProp: getTextSelectorProp,\r\n };\r\n}());\r\n\r\n/* global createSizedArray, pooling */\r\n/* exported poolFactory */\r\n\r\nvar poolFactory = (function () {\r\n return function (initialLength, _create, _release) {\r\n var _length = 0;\r\n var _maxLength = initialLength;\r\n var pool = createSizedArray(_maxLength);\r\n\r\n var ob = {\r\n newElement: newElement,\r\n release: release,\r\n };\r\n\r\n function newElement() {\r\n var element;\r\n if (_length) {\r\n _length -= 1;\r\n element = pool[_length];\r\n } else {\r\n element = _create();\r\n }\r\n return element;\r\n }\r\n\r\n function release(element) {\r\n if (_length === _maxLength) {\r\n pool = pooling.double(pool);\r\n _maxLength *= 2;\r\n }\r\n if (_release) {\r\n _release(element);\r\n }\r\n pool[_length] = element;\r\n _length += 1;\r\n }\r\n\r\n return ob;\r\n };\r\n}());\r\n\r\n/* global createSizedArray */\r\n/* exported pooling */\r\n\r\nvar pooling = (function () {\r\n function double(arr) {\r\n return arr.concat(createSizedArray(arr.length));\r\n }\r\n\r\n return {\r\n double: double,\r\n };\r\n}());\r\n\r\n/* global createTypedArray, poolFactory */\r\n/* exported pointPool */\r\n\r\nvar pointPool = (function () {\r\n function create() {\r\n return createTypedArray('float32', 2);\r\n }\r\n return poolFactory(8, create);\r\n}());\r\n\r\n/* global ShapePath, pointPool, poolFactory */\r\n/* exported shapePool */\r\n\r\nvar shapePool = (function () {\r\n function create() {\r\n return new ShapePath();\r\n }\r\n\r\n function release(shapePath) {\r\n var len = shapePath._length;\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n pointPool.release(shapePath.v[i]);\r\n pointPool.release(shapePath.i[i]);\r\n pointPool.release(shapePath.o[i]);\r\n shapePath.v[i] = null;\r\n shapePath.i[i] = null;\r\n shapePath.o[i] = null;\r\n }\r\n shapePath._length = 0;\r\n shapePath.c = false;\r\n }\r\n\r\n function clone(shape) {\r\n var cloned = factory.newElement();\r\n var i;\r\n var len = shape._length === undefined ? shape.v.length : shape._length;\r\n cloned.setLength(len);\r\n cloned.c = shape.c;\r\n\r\n for (i = 0; i < len; i += 1) {\r\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);\r\n }\r\n return cloned;\r\n }\r\n\r\n var factory = poolFactory(4, create, release);\r\n factory.clone = clone;\r\n\r\n return factory;\r\n}());\r\n\r\n/* global createSizedArray, ShapeCollection, shapePool, pooling */\r\n/* exported shapeCollectionPool */\r\n\r\nvar shapeCollectionPool = (function () {\r\n var ob = {\r\n newShapeCollection: newShapeCollection,\r\n release: release,\r\n };\r\n\r\n var _length = 0;\r\n var _maxLength = 4;\r\n var pool = createSizedArray(_maxLength);\r\n\r\n function newShapeCollection() {\r\n var shapeCollection;\r\n if (_length) {\r\n _length -= 1;\r\n shapeCollection = pool[_length];\r\n } else {\r\n shapeCollection = new ShapeCollection();\r\n }\r\n return shapeCollection;\r\n }\r\n\r\n function release(shapeCollection) {\r\n var i;\r\n var len = shapeCollection._length;\r\n for (i = 0; i < len; i += 1) {\r\n shapePool.release(shapeCollection.shapes[i]);\r\n }\r\n shapeCollection._length = 0;\r\n\r\n if (_length === _maxLength) {\r\n pool = pooling.double(pool);\r\n _maxLength *= 2;\r\n }\r\n pool[_length] = shapeCollection;\r\n _length += 1;\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global poolFactory, bezierLengthPool */\r\n/* exported segmentsLengthPool */\r\n\r\nvar segmentsLengthPool = (function () {\r\n function create() {\r\n return {\r\n lengths: [],\r\n totalLength: 0,\r\n };\r\n }\r\n\r\n function release(element) {\r\n var i;\r\n var len = element.lengths.length;\r\n for (i = 0; i < len; i += 1) {\r\n bezierLengthPool.release(element.lengths[i]);\r\n }\r\n element.lengths.length = 0;\r\n }\r\n\r\n return poolFactory(8, create, release);\r\n}());\r\n\r\n/* global createTypedArray, defaultCurveSegments, poolFactory */\r\n/* exported bezierLengthPool */\r\n\r\nvar bezierLengthPool = (function () {\r\n function create() {\r\n return {\r\n addedLength: 0,\r\n percents: createTypedArray('float32', defaultCurveSegments),\r\n lengths: createTypedArray('float32', defaultCurveSegments),\r\n };\r\n }\r\n return poolFactory(8, create);\r\n}());\r\n\r\n/* exported markerParser */\r\n\r\nvar markerParser = (\r\n\r\n function () {\r\n function parsePayloadLines(payload) {\r\n var lines = payload.split('\\r\\n');\r\n var keys = {};\r\n var line;\r\n var keysCount = 0;\r\n for (var i = 0; i < lines.length; i += 1) {\r\n line = lines[i].split(':');\r\n if (line.length === 2) {\r\n keys[line[0]] = line[1].trim();\r\n keysCount += 1;\r\n }\r\n }\r\n if (keysCount === 0) {\r\n throw new Error();\r\n }\r\n return keys;\r\n }\r\n\r\n return function (_markers) {\r\n var markers = [];\r\n for (var i = 0; i < _markers.length; i += 1) {\r\n var _marker = _markers[i];\r\n var markerData = {\r\n time: _marker.tm,\r\n duration: _marker.dr,\r\n };\r\n try {\r\n markerData.payload = JSON.parse(_markers[i].cm);\r\n } catch (_) {\r\n try {\r\n markerData.payload = parsePayloadLines(_markers[i].cm);\r\n } catch (__) {\r\n markerData.payload = {\r\n name: _markers[i],\r\n };\r\n }\r\n }\r\n markers.push(markerData);\r\n }\r\n return markers;\r\n };\r\n }());\r\n\r\n/* global AudioElement, FootageElement, FontManager */\r\n\r\nfunction BaseRenderer() {}\r\nBaseRenderer.prototype.checkLayers = function (num) {\r\n var i;\r\n var len = this.layers.length;\r\n var data;\r\n this.completeLayers = true;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (!this.elements[i]) {\r\n data = this.layers[i];\r\n if (data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st)) {\r\n this.buildItem(i);\r\n }\r\n }\r\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.createItem = function (layer) {\r\n switch (layer.ty) {\r\n case 2:\r\n return this.createImage(layer);\r\n case 0:\r\n return this.createComp(layer);\r\n case 1:\r\n return this.createSolid(layer);\r\n case 3:\r\n return this.createNull(layer);\r\n case 4:\r\n return this.createShape(layer);\r\n case 5:\r\n return this.createText(layer);\r\n case 6:\r\n return this.createAudio(layer);\r\n case 13:\r\n return this.createCamera(layer);\r\n case 15:\r\n return this.createFootage(layer);\r\n default:\r\n return this.createNull(layer);\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.createCamera = function () {\r\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\r\n};\r\n\r\nBaseRenderer.prototype.createAudio = function (data) {\r\n return new AudioElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.createFootage = function (data) {\r\n return new FootageElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.buildAllItems = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.buildItem(i);\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.includeLayers = function (newLayers) {\r\n this.completeLayers = false;\r\n var i;\r\n var len = newLayers.length;\r\n var j;\r\n var jLen = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n j = 0;\r\n while (j < jLen) {\r\n if (this.layers[j].id === newLayers[i].id) {\r\n this.layers[j] = newLayers[i];\r\n break;\r\n }\r\n j += 1;\r\n }\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.setProjectInterface = function (pInterface) {\r\n this.globalData.projectInterface = pInterface;\r\n};\r\n\r\nBaseRenderer.prototype.initItems = function () {\r\n if (!this.globalData.progressiveLoad) {\r\n this.buildAllItems();\r\n }\r\n};\r\nBaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\r\n var elements = this.elements;\r\n var layers = this.layers;\r\n var i = 0;\r\n var len = layers.length;\r\n while (i < len) {\r\n if (layers[i].ind == parentName) { // eslint-disable-line eqeqeq\r\n if (!elements[i] || elements[i] === true) {\r\n this.buildItem(i);\r\n this.addPendingElement(element);\r\n } else {\r\n hierarchy.push(elements[i]);\r\n elements[i].setAsParent();\r\n if (layers[i].parent !== undefined) {\r\n this.buildElementParenting(element, layers[i].parent, hierarchy);\r\n } else {\r\n element.setHierarchy(hierarchy);\r\n }\r\n }\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.addPendingElement = function (element) {\r\n this.pendingElements.push(element);\r\n};\r\n\r\nBaseRenderer.prototype.searchExtraCompositions = function (assets) {\r\n var i;\r\n var len = assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (assets[i].xt) {\r\n var comp = this.createComp(assets[i]);\r\n comp.initExpressions();\r\n this.globalData.projectInterface.registerComposition(comp);\r\n }\r\n }\r\n};\r\n\r\nBaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\r\n this.globalData.fontManager = new FontManager();\r\n this.globalData.fontManager.addChars(animData.chars);\r\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\r\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\r\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\r\n this.globalData.imageLoader = this.animationItem.imagePreloader;\r\n this.globalData.audioController = this.animationItem.audioController;\r\n this.globalData.frameId = 0;\r\n this.globalData.frameRate = animData.fr;\r\n this.globalData.nm = animData.nm;\r\n this.globalData.compSize = {\r\n w: animData.w,\r\n h: animData.h,\r\n };\r\n};\r\n\r\n/* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\nIImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\r\n\r\nfunction SVGRenderer(animationItem, config) {\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.svgElement = createNS('svg');\r\n var ariaLabel = '';\r\n if (config && config.title) {\r\n var titleElement = createNS('title');\r\n var titleId = createElementID();\r\n titleElement.setAttribute('id', titleId);\r\n titleElement.textContent = config.title;\r\n this.svgElement.appendChild(titleElement);\r\n ariaLabel += titleId;\r\n }\r\n if (config && config.description) {\r\n var descElement = createNS('desc');\r\n var descId = createElementID();\r\n descElement.setAttribute('id', descId);\r\n descElement.textContent = config.description;\r\n this.svgElement.appendChild(descElement);\r\n ariaLabel += ' ' + descId;\r\n }\r\n if (ariaLabel) {\r\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\r\n }\r\n var defs = createNS('defs');\r\n this.svgElement.appendChild(defs);\r\n var maskElement = createNS('g');\r\n this.svgElement.appendChild(maskElement);\r\n this.layerElement = maskElement;\r\n this.renderConfig = {\r\n preserveAspectRatio: (config && config.preserveAspectRatio) || 'xMidYMid meet',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n contentVisibility: (config && config.contentVisibility) || 'visible',\r\n progressiveLoad: (config && config.progressiveLoad) || false,\r\n hideOnTransparent: !((config && config.hideOnTransparent === false)),\r\n viewBoxOnly: (config && config.viewBoxOnly) || false,\r\n viewBoxSize: (config && config.viewBoxSize) || false,\r\n className: (config && config.className) || '',\r\n id: (config && config.id) || '',\r\n focusable: config && config.focusable,\r\n filterSize: {\r\n width: (config && config.filterSize && config.filterSize.width) || '100%',\r\n height: (config && config.filterSize && config.filterSize.height) || '100%',\r\n x: (config && config.filterSize && config.filterSize.x) || '0%',\r\n y: (config && config.filterSize && config.filterSize.y) || '0%',\r\n },\r\n };\r\n\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n defs: defs,\r\n renderConfig: this.renderConfig,\r\n };\r\n this.elements = [];\r\n this.pendingElements = [];\r\n this.destroyed = false;\r\n this.rendererType = 'svg';\r\n}\r\n\r\nextendPrototype([BaseRenderer], SVGRenderer);\r\n\r\nSVGRenderer.prototype.createNull = function (data) {\r\n return new NullElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createShape = function (data) {\r\n return new SVGShapeElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createText = function (data) {\r\n return new SVGTextLottieElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createImage = function (data) {\r\n return new IImageElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createComp = function (data) {\r\n return new SVGCompElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.createSolid = function (data) {\r\n return new ISolidElement(data, this.globalData, this);\r\n};\r\n\r\nSVGRenderer.prototype.configAnimation = function (animData) {\r\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n if (this.renderConfig.viewBoxSize) {\r\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\r\n } else {\r\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\r\n }\r\n\r\n if (!this.renderConfig.viewBoxOnly) {\r\n this.svgElement.setAttribute('width', animData.w);\r\n this.svgElement.setAttribute('height', animData.h);\r\n this.svgElement.style.width = '100%';\r\n this.svgElement.style.height = '100%';\r\n this.svgElement.style.transform = 'translate3d(0,0,0)';\r\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\r\n }\r\n if (this.renderConfig.className) {\r\n this.svgElement.setAttribute('class', this.renderConfig.className);\r\n }\r\n if (this.renderConfig.id) {\r\n this.svgElement.setAttribute('id', this.renderConfig.id);\r\n }\r\n if (this.renderConfig.focusable !== undefined) {\r\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\r\n }\r\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio);\r\n // this.layerElement.style.transform = 'translate3d(0,0,0)';\r\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\r\n this.animationItem.wrapper.appendChild(this.svgElement);\r\n // Mask animation\r\n var defs = this.globalData.defs;\r\n\r\n this.setupGlobalData(animData, defs);\r\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\r\n this.data = animData;\r\n\r\n var maskElement = createNS('clipPath');\r\n var rect = createNS('rect');\r\n rect.setAttribute('width', animData.w);\r\n rect.setAttribute('height', animData.h);\r\n rect.setAttribute('x', 0);\r\n rect.setAttribute('y', 0);\r\n var maskId = createElementID();\r\n maskElement.setAttribute('id', maskId);\r\n maskElement.appendChild(rect);\r\n this.layerElement.setAttribute('clip-path', 'url(' + locationHref + '#' + maskId + ')');\r\n\r\n defs.appendChild(maskElement);\r\n this.layers = animData.layers;\r\n this.elements = createSizedArray(animData.layers.length);\r\n};\r\n\r\nSVGRenderer.prototype.destroy = function () {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.wrapper.innerText = '';\r\n }\r\n this.layerElement = null;\r\n this.globalData.defs = null;\r\n var i;\r\n var len = this.layers ? this.layers.length : 0;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.destroyed = true;\r\n this.animationItem = null;\r\n};\r\n\r\nSVGRenderer.prototype.updateContainerSize = function () {\r\n};\r\n\r\nSVGRenderer.prototype.buildItem = function (pos) {\r\n var elements = this.elements;\r\n if (elements[pos] || this.layers[pos].ty === 99) {\r\n return;\r\n }\r\n elements[pos] = true;\r\n var element = this.createItem(this.layers[pos]);\r\n\r\n elements[pos] = element;\r\n if (expressionsPlugin) {\r\n if (this.layers[pos].ty === 0) {\r\n this.globalData.projectInterface.registerComposition(element);\r\n }\r\n element.initExpressions();\r\n }\r\n this.appendElementInPos(element, pos);\r\n if (this.layers[pos].tt) {\r\n if (!this.elements[pos - 1] || this.elements[pos - 1] === true) {\r\n this.buildItem(pos - 1);\r\n this.addPendingElement(element);\r\n } else {\r\n element.setMatte(elements[pos - 1].layerId);\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.checkPendingElements = function () {\r\n while (this.pendingElements.length) {\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n if (element.data.tt) {\r\n var i = 0;\r\n var len = this.elements.length;\r\n while (i < len) {\r\n if (this.elements[i] === element) {\r\n element.setMatte(this.elements[i - 1].layerId);\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.renderFrame = function (num) {\r\n if (this.renderedFrame === num || this.destroyed) {\r\n return;\r\n }\r\n if (num === null) {\r\n num = this.renderedFrame;\r\n } else {\r\n this.renderedFrame = num;\r\n }\r\n // console.log('-------');\r\n // console.log('FRAME ',num);\r\n this.globalData.frameNum = num;\r\n this.globalData.frameId += 1;\r\n this.globalData.projectInterface.currentFrame = num;\r\n this.globalData._mdf = false;\r\n var i;\r\n var len = this.layers.length;\r\n if (!this.completeLayers) {\r\n this.checkLayers(num);\r\n }\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if (this.globalData._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.appendElementInPos = function (element, pos) {\r\n var newElement = element.getBaseElement();\r\n if (!newElement) {\r\n return;\r\n }\r\n var i = 0;\r\n var nextElement;\r\n while (i < pos) {\r\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\r\n nextElement = this.elements[i].getBaseElement();\r\n }\r\n i += 1;\r\n }\r\n if (nextElement) {\r\n this.layerElement.insertBefore(newElement, nextElement);\r\n } else {\r\n this.layerElement.appendChild(newElement);\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.hide = function () {\r\n this.layerElement.style.display = 'none';\r\n};\r\n\r\nSVGRenderer.prototype.show = function () {\r\n this.layerElement.style.display = 'block';\r\n};\r\n\r\n/* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\nCVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\r\n\r\nfunction CanvasRenderer(animationItem, config) {\r\n this.animationItem = animationItem;\r\n this.renderConfig = {\r\n clearCanvas: (config && config.clearCanvas !== undefined) ? config.clearCanvas : true,\r\n context: (config && config.context) || null,\r\n progressiveLoad: (config && config.progressiveLoad) || false,\r\n preserveAspectRatio: (config && config.preserveAspectRatio) || 'xMidYMid meet',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n contentVisibility: (config && config.contentVisibility) || 'visible',\r\n className: (config && config.className) || '',\r\n id: (config && config.id) || '',\r\n };\r\n this.renderConfig.dpr = (config && config.dpr) || 1;\r\n if (this.animationItem.wrapper) {\r\n this.renderConfig.dpr = (config && config.dpr) || window.devicePixelRatio || 1;\r\n }\r\n this.renderedFrame = -1;\r\n this.globalData = {\r\n frameNum: -1,\r\n _mdf: false,\r\n renderConfig: this.renderConfig,\r\n currentGlobalAlpha: -1,\r\n };\r\n this.contextData = new CVContextData();\r\n this.elements = [];\r\n this.pendingElements = [];\r\n this.transformMat = new Matrix();\r\n this.completeLayers = false;\r\n this.rendererType = 'canvas';\r\n}\r\nextendPrototype([BaseRenderer], CanvasRenderer);\r\n\r\nCanvasRenderer.prototype.createShape = function (data) {\r\n return new CVShapeElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createText = function (data) {\r\n return new CVTextElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createImage = function (data) {\r\n return new CVImageElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createComp = function (data) {\r\n return new CVCompElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createSolid = function (data) {\r\n return new CVSolidElement(data, this.globalData, this);\r\n};\r\n\r\nCanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\r\n\r\nCanvasRenderer.prototype.ctxTransform = function (props) {\r\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\r\n return;\r\n }\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\r\n return;\r\n }\r\n this.transformMat.cloneFromProps(props);\r\n var cProps = this.contextData.cTr.props;\r\n this.transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]);\r\n // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n this.contextData.cTr.cloneFromProps(this.transformMat.props);\r\n var trProps = this.contextData.cTr.props;\r\n this.canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\r\n};\r\n\r\nCanvasRenderer.prototype.ctxOpacity = function (op) {\r\n /* if(op === 1){\r\n return;\r\n } */\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\r\n this.globalData.currentGlobalAlpha = this.contextData.cO;\r\n return;\r\n }\r\n this.contextData.cO *= op < 0 ? 0 : op;\r\n if (this.globalData.currentGlobalAlpha !== this.contextData.cO) {\r\n this.canvasContext.globalAlpha = this.contextData.cO;\r\n this.globalData.currentGlobalAlpha = this.contextData.cO;\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.reset = function () {\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.restore();\r\n return;\r\n }\r\n this.contextData.reset();\r\n};\r\n\r\nCanvasRenderer.prototype.save = function (actionFlag) {\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.save();\r\n return;\r\n }\r\n if (actionFlag) {\r\n this.canvasContext.save();\r\n }\r\n var props = this.contextData.cTr.props;\r\n if (this.contextData._length <= this.contextData.cArrPos) {\r\n this.contextData.duplicate();\r\n }\r\n var i;\r\n var arr = this.contextData.saved[this.contextData.cArrPos];\r\n for (i = 0; i < 16; i += 1) {\r\n arr[i] = props[i];\r\n }\r\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO;\r\n this.contextData.cArrPos += 1;\r\n};\r\n\r\nCanvasRenderer.prototype.restore = function (actionFlag) {\r\n if (!this.renderConfig.clearCanvas) {\r\n this.canvasContext.restore();\r\n return;\r\n }\r\n if (actionFlag) {\r\n this.canvasContext.restore();\r\n this.globalData.blendMode = 'source-over';\r\n }\r\n this.contextData.cArrPos -= 1;\r\n var popped = this.contextData.saved[this.contextData.cArrPos];\r\n var i;\r\n var arr = this.contextData.cTr.props;\r\n for (i = 0; i < 16; i += 1) {\r\n arr[i] = popped[i];\r\n }\r\n this.canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\r\n popped = this.contextData.savedOp[this.contextData.cArrPos];\r\n this.contextData.cO = popped;\r\n if (this.globalData.currentGlobalAlpha !== popped) {\r\n this.canvasContext.globalAlpha = popped;\r\n this.globalData.currentGlobalAlpha = popped;\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.configAnimation = function (animData) {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.container = createTag('canvas');\r\n var containerStyle = this.animationItem.container.style;\r\n containerStyle.width = '100%';\r\n containerStyle.height = '100%';\r\n var origin = '0px 0px 0px';\r\n containerStyle.transformOrigin = origin;\r\n containerStyle.mozTransformOrigin = origin;\r\n containerStyle.webkitTransformOrigin = origin;\r\n containerStyle['-webkit-transform'] = origin;\r\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\r\n this.animationItem.wrapper.appendChild(this.animationItem.container);\r\n this.canvasContext = this.animationItem.container.getContext('2d');\r\n if (this.renderConfig.className) {\r\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\r\n }\r\n if (this.renderConfig.id) {\r\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\r\n }\r\n } else {\r\n this.canvasContext = this.renderConfig.context;\r\n }\r\n this.data = animData;\r\n this.layers = animData.layers;\r\n this.transformCanvas = {\r\n w: animData.w,\r\n h: animData.h,\r\n sx: 0,\r\n sy: 0,\r\n tx: 0,\r\n ty: 0,\r\n };\r\n this.setupGlobalData(animData, document.body);\r\n this.globalData.canvasContext = this.canvasContext;\r\n this.globalData.renderer = this;\r\n this.globalData.isDashed = false;\r\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\r\n this.globalData.transformCanvas = this.transformCanvas;\r\n this.elements = createSizedArray(animData.layers.length);\r\n\r\n this.updateContainerSize();\r\n};\r\n\r\nCanvasRenderer.prototype.updateContainerSize = function () {\r\n this.reset();\r\n var elementWidth;\r\n var elementHeight;\r\n if (this.animationItem.wrapper && this.animationItem.container) {\r\n elementWidth = this.animationItem.wrapper.offsetWidth;\r\n elementHeight = this.animationItem.wrapper.offsetHeight;\r\n this.animationItem.container.setAttribute('width', elementWidth * this.renderConfig.dpr);\r\n this.animationItem.container.setAttribute('height', elementHeight * this.renderConfig.dpr);\r\n } else {\r\n elementWidth = this.canvasContext.canvas.width * this.renderConfig.dpr;\r\n elementHeight = this.canvasContext.canvas.height * this.renderConfig.dpr;\r\n }\r\n var elementRel;\r\n var animationRel;\r\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\r\n var par = this.renderConfig.preserveAspectRatio.split(' ');\r\n var fillType = par[1] || 'meet';\r\n var pos = par[0] || 'xMidYMid';\r\n var xPos = pos.substr(0, 4);\r\n var yPos = pos.substr(4);\r\n elementRel = elementWidth / elementHeight;\r\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\r\n if ((animationRel > elementRel && fillType === 'meet') || (animationRel < elementRel && fillType === 'slice')) {\r\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\r\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\r\n } else {\r\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\r\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\r\n }\r\n\r\n if (xPos === 'xMid' && ((animationRel < elementRel && fillType === 'meet') || (animationRel > elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.tx = ((elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2) * this.renderConfig.dpr;\r\n } else if (xPos === 'xMax' && ((animationRel < elementRel && fillType === 'meet') || (animationRel > elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.tx = 0;\r\n }\r\n if (yPos === 'YMid' && ((animationRel > elementRel && fillType === 'meet') || (animationRel < elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.ty = ((elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2) * this.renderConfig.dpr;\r\n } else if (yPos === 'YMax' && ((animationRel > elementRel && fillType === 'meet') || (animationRel < elementRel && fillType === 'slice'))) {\r\n this.transformCanvas.ty = ((elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w))) * this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.ty = 0;\r\n }\r\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\r\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\r\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\r\n this.transformCanvas.tx = 0;\r\n this.transformCanvas.ty = 0;\r\n } else {\r\n this.transformCanvas.sx = this.renderConfig.dpr;\r\n this.transformCanvas.sy = this.renderConfig.dpr;\r\n this.transformCanvas.tx = 0;\r\n this.transformCanvas.ty = 0;\r\n }\r\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];\r\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.globalData.canvasContext = null;\r\n this.animationItem.container = null;\r\n this.destroyed = true;\r\n};\r\n\r\nCanvasRenderer.prototype.renderFrame = function (num, forceRender) {\r\n if ((this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender) || this.destroyed || num === -1) {\r\n return;\r\n }\r\n this.renderedFrame = num;\r\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\r\n this.globalData.frameId += 1;\r\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\r\n this.globalData.projectInterface.currentFrame = num;\r\n\r\n // console.log('--------');\r\n // console.log('NEW: ',num);\r\n var i;\r\n var len = this.layers.length;\r\n if (!this.completeLayers) {\r\n this.checkLayers(num);\r\n }\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if (this.globalData._mdf) {\r\n if (this.renderConfig.clearCanvas === true) {\r\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\r\n } else {\r\n this.save();\r\n }\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n if (this.renderConfig.clearCanvas !== true) {\r\n this.restore();\r\n }\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.buildItem = function (pos) {\r\n var elements = this.elements;\r\n if (elements[pos] || this.layers[pos].ty === 99) {\r\n return;\r\n }\r\n var element = this.createItem(this.layers[pos], this, this.globalData);\r\n elements[pos] = element;\r\n element.initExpressions();\r\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\r\n};\r\n\r\nCanvasRenderer.prototype.checkPendingElements = function () {\r\n while (this.pendingElements.length) {\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.hide = function () {\r\n this.animationItem.container.style.display = 'none';\r\n};\r\n\r\nCanvasRenderer.prototype.show = function () {\r\n this.animationItem.container.style.display = 'block';\r\n};\r\n\r\n/* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\nHTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\nHSolidElement, styleDiv, createTag, createNS */\r\n\r\nfunction HybridRenderer(animationItem, config) {\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.renderConfig = {\r\n className: (config && config.className) || '',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n hideOnTransparent: !(config && config.hideOnTransparent === false),\r\n filterSize: {\r\n width: (config && config.filterSize && config.filterSize.width) || '400%',\r\n height: (config && config.filterSize && config.filterSize.height) || '400%',\r\n x: (config && config.filterSize && config.filterSize.x) || '-100%',\r\n y: (config && config.filterSize && config.filterSize.y) || '-100%',\r\n },\r\n };\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n renderConfig: this.renderConfig,\r\n };\r\n this.pendingElements = [];\r\n this.elements = [];\r\n this.threeDElements = [];\r\n this.destroyed = false;\r\n this.camera = null;\r\n this.supports3d = true;\r\n this.rendererType = 'html';\r\n}\r\n\r\nextendPrototype([BaseRenderer], HybridRenderer);\r\n\r\nHybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\r\n\r\nHybridRenderer.prototype.checkPendingElements = function () {\r\n while (this.pendingElements.length) {\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.appendElementInPos = function (element, pos) {\r\n var newDOMElement = element.getBaseElement();\r\n if (!newDOMElement) {\r\n return;\r\n }\r\n var layer = this.layers[pos];\r\n if (!layer.ddd || !this.supports3d) {\r\n if (this.threeDElements) {\r\n this.addTo3dContainer(newDOMElement, pos);\r\n } else {\r\n var i = 0;\r\n var nextDOMElement;\r\n var nextLayer;\r\n var tmpDOMElement;\r\n while (i < pos) {\r\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\r\n nextLayer = this.elements[i];\r\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\r\n nextDOMElement = tmpDOMElement || nextDOMElement;\r\n }\r\n i += 1;\r\n }\r\n if (nextDOMElement) {\r\n if (!layer.ddd || !this.supports3d) {\r\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\r\n }\r\n } else if (!layer.ddd || !this.supports3d) {\r\n this.layerElement.appendChild(newDOMElement);\r\n }\r\n }\r\n } else {\r\n this.addTo3dContainer(newDOMElement, pos);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.createShape = function (data) {\r\n if (!this.supports3d) {\r\n return new SVGShapeElement(data, this.globalData, this);\r\n }\r\n return new HShapeElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createText = function (data) {\r\n if (!this.supports3d) {\r\n return new SVGTextLottieElement(data, this.globalData, this);\r\n }\r\n return new HTextElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createCamera = function (data) {\r\n this.camera = new HCameraElement(data, this.globalData, this);\r\n return this.camera;\r\n};\r\n\r\nHybridRenderer.prototype.createImage = function (data) {\r\n if (!this.supports3d) {\r\n return new IImageElement(data, this.globalData, this);\r\n }\r\n return new HImageElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createComp = function (data) {\r\n if (!this.supports3d) {\r\n return new SVGCompElement(data, this.globalData, this);\r\n }\r\n return new HCompElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createSolid = function (data) {\r\n if (!this.supports3d) {\r\n return new ISolidElement(data, this.globalData, this);\r\n }\r\n return new HSolidElement(data, this.globalData, this);\r\n};\r\n\r\nHybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\r\n\r\nHybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\r\n var i = 0;\r\n var len = this.threeDElements.length;\r\n while (i < len) {\r\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\r\n return this.threeDElements[i].perspectiveElem;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nHybridRenderer.prototype.createThreeDContainer = function (pos, type) {\r\n var perspectiveElem = createTag('div');\r\n var style;\r\n var containerStyle;\r\n styleDiv(perspectiveElem);\r\n var container = createTag('div');\r\n styleDiv(container);\r\n if (type === '3d') {\r\n style = perspectiveElem.style;\r\n style.width = this.globalData.compSize.w + 'px';\r\n style.height = this.globalData.compSize.h + 'px';\r\n var center = '50% 50%';\r\n style.webkitTransformOrigin = center;\r\n style.mozTransformOrigin = center;\r\n style.transformOrigin = center;\r\n containerStyle = container.style;\r\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n containerStyle.transform = matrix;\r\n containerStyle.webkitTransform = matrix;\r\n }\r\n\r\n perspectiveElem.appendChild(container);\r\n // this.resizerElem.appendChild(perspectiveElem);\r\n var threeDContainerData = {\r\n container: container,\r\n perspectiveElem: perspectiveElem,\r\n startPos: pos,\r\n endPos: pos,\r\n type: type,\r\n };\r\n this.threeDElements.push(threeDContainerData);\r\n return threeDContainerData;\r\n};\r\n\r\nHybridRenderer.prototype.build3dContainers = function () {\r\n var i;\r\n var len = this.layers.length;\r\n var lastThreeDContainerData;\r\n var currentContainer = '';\r\n for (i = 0; i < len; i += 1) {\r\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\r\n if (currentContainer !== '3d') {\r\n currentContainer = '3d';\r\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\r\n }\r\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\r\n } else {\r\n if (currentContainer !== '2d') {\r\n currentContainer = '2d';\r\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\r\n }\r\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\r\n }\r\n }\r\n len = this.threeDElements.length;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\r\n var i = 0;\r\n var len = this.threeDElements.length;\r\n while (i < len) {\r\n if (pos <= this.threeDElements[i].endPos) {\r\n var j = this.threeDElements[i].startPos;\r\n var nextElement;\r\n while (j < pos) {\r\n if (this.elements[j] && this.elements[j].getBaseElement) {\r\n nextElement = this.elements[j].getBaseElement();\r\n }\r\n j += 1;\r\n }\r\n if (nextElement) {\r\n this.threeDElements[i].container.insertBefore(elem, nextElement);\r\n } else {\r\n this.threeDElements[i].container.appendChild(elem);\r\n }\r\n break;\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.configAnimation = function (animData) {\r\n var resizerElem = createTag('div');\r\n var wrapper = this.animationItem.wrapper;\r\n var style = resizerElem.style;\r\n style.width = animData.w + 'px';\r\n style.height = animData.h + 'px';\r\n this.resizerElem = resizerElem;\r\n styleDiv(resizerElem);\r\n style.transformStyle = 'flat';\r\n style.mozTransformStyle = 'flat';\r\n style.webkitTransformStyle = 'flat';\r\n if (this.renderConfig.className) {\r\n resizerElem.setAttribute('class', this.renderConfig.className);\r\n }\r\n wrapper.appendChild(resizerElem);\r\n\r\n style.overflow = 'hidden';\r\n var svg = createNS('svg');\r\n svg.setAttribute('width', '1');\r\n svg.setAttribute('height', '1');\r\n styleDiv(svg);\r\n this.resizerElem.appendChild(svg);\r\n var defs = createNS('defs');\r\n svg.appendChild(defs);\r\n this.data = animData;\r\n // Mask animation\r\n this.setupGlobalData(animData, svg);\r\n this.globalData.defs = defs;\r\n this.layers = animData.layers;\r\n this.layerElement = this.resizerElem;\r\n this.build3dContainers();\r\n this.updateContainerSize();\r\n};\r\n\r\nHybridRenderer.prototype.destroy = function () {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.wrapper.innerText = '';\r\n }\r\n this.animationItem.container = null;\r\n this.globalData.defs = null;\r\n var i;\r\n var len = this.layers ? this.layers.length : 0;\r\n for (i = 0; i < len; i += 1) {\r\n this.elements[i].destroy();\r\n }\r\n this.elements.length = 0;\r\n this.destroyed = true;\r\n this.animationItem = null;\r\n};\r\n\r\nHybridRenderer.prototype.updateContainerSize = function () {\r\n var elementWidth = this.animationItem.wrapper.offsetWidth;\r\n var elementHeight = this.animationItem.wrapper.offsetHeight;\r\n var elementRel = elementWidth / elementHeight;\r\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\r\n var sx;\r\n var sy;\r\n var tx;\r\n var ty;\r\n if (animationRel > elementRel) {\r\n sx = elementWidth / (this.globalData.compSize.w);\r\n sy = elementWidth / (this.globalData.compSize.w);\r\n tx = 0;\r\n ty = ((elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2);\r\n } else {\r\n sx = elementHeight / (this.globalData.compSize.h);\r\n sy = elementHeight / (this.globalData.compSize.h);\r\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\r\n ty = 0;\r\n }\r\n var style = this.resizerElem.style;\r\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\r\n style.transform = style.webkitTransform;\r\n};\r\n\r\nHybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\r\n\r\nHybridRenderer.prototype.hide = function () {\r\n this.resizerElem.style.display = 'none';\r\n};\r\n\r\nHybridRenderer.prototype.show = function () {\r\n this.resizerElem.style.display = 'block';\r\n};\r\n\r\nHybridRenderer.prototype.initItems = function () {\r\n this.buildAllItems();\r\n if (this.camera) {\r\n this.camera.setup();\r\n } else {\r\n var cWidth = this.globalData.compSize.w;\r\n var cHeight = this.globalData.compSize.h;\r\n var i;\r\n var len = this.threeDElements.length;\r\n for (i = 0; i < len; i += 1) {\r\n var style = this.threeDElements[i].perspectiveElem.style;\r\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\r\n style.perspective = style.webkitPerspective;\r\n }\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.searchExtraCompositions = function (assets) {\r\n var i;\r\n var len = assets.length;\r\n var floatingContainer = createTag('div');\r\n for (i = 0; i < len; i += 1) {\r\n if (assets[i].xt) {\r\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\r\n comp.initExpressions();\r\n this.globalData.projectInterface.registerComposition(comp);\r\n }\r\n }\r\n};\r\n\r\n/* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\r\n\r\nfunction MaskElement(data, element, globalData) {\r\n this.data = data;\r\n this.element = element;\r\n this.globalData = globalData;\r\n this.storedData = [];\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.maskElement = null;\r\n var defs = this.globalData.defs;\r\n var i;\r\n var len = this.masksProperties ? this.masksProperties.length : 0;\r\n this.viewData = createSizedArray(len);\r\n this.solidPath = '';\r\n\r\n var path;\r\n var properties = this.masksProperties;\r\n var count = 0;\r\n var currentMasks = [];\r\n var j;\r\n var jLen;\r\n var layerId = createElementID();\r\n var rect;\r\n var expansor;\r\n var feMorph;\r\n var x;\r\n var maskType = 'clipPath';\r\n var maskRef = 'clip-path';\r\n for (i = 0; i < len; i += 1) {\r\n if ((properties[i].mode !== 'a' && properties[i].mode !== 'n') || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\r\n maskType = 'mask';\r\n maskRef = 'mask';\r\n }\r\n\r\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\r\n rect = createNS('rect');\r\n rect.setAttribute('fill', '#ffffff');\r\n rect.setAttribute('width', this.element.comp.data.w || 0);\r\n rect.setAttribute('height', this.element.comp.data.h || 0);\r\n currentMasks.push(rect);\r\n } else {\r\n rect = null;\r\n }\r\n\r\n path = createNS('path');\r\n if (properties[i].mode === 'n') {\r\n // TODO move this to a factory or to a constructor\r\n this.viewData[i] = {\r\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\r\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\r\n elem: path,\r\n lastPath: '',\r\n };\r\n defs.appendChild(path);\r\n } else {\r\n count += 1;\r\n\r\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\r\n path.setAttribute('clip-rule', 'nonzero');\r\n var filterID;\r\n\r\n if (properties[i].x.k !== 0) {\r\n maskType = 'mask';\r\n maskRef = 'mask';\r\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\r\n filterID = createElementID();\r\n expansor = createNS('filter');\r\n expansor.setAttribute('id', filterID);\r\n feMorph = createNS('feMorphology');\r\n feMorph.setAttribute('operator', 'erode');\r\n feMorph.setAttribute('in', 'SourceGraphic');\r\n feMorph.setAttribute('radius', '0');\r\n expansor.appendChild(feMorph);\r\n defs.appendChild(expansor);\r\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\r\n } else {\r\n feMorph = null;\r\n x = null;\r\n }\r\n\r\n // TODO move this to a factory or to a constructor\r\n this.storedData[i] = {\r\n elem: path,\r\n x: x,\r\n expan: feMorph,\r\n lastPath: '',\r\n lastOperator: '',\r\n filterId: filterID,\r\n lastRadius: 0,\r\n };\r\n if (properties[i].mode === 'i') {\r\n jLen = currentMasks.length;\r\n var g = createNS('g');\r\n for (j = 0; j < jLen; j += 1) {\r\n g.appendChild(currentMasks[j]);\r\n }\r\n var mask = createNS('mask');\r\n mask.setAttribute('mask-type', 'alpha');\r\n mask.setAttribute('id', layerId + '_' + count);\r\n mask.appendChild(path);\r\n defs.appendChild(mask);\r\n g.setAttribute('mask', 'url(' + locationHref + '#' + layerId + '_' + count + ')');\r\n\r\n currentMasks.length = 0;\r\n currentMasks.push(g);\r\n } else {\r\n currentMasks.push(path);\r\n }\r\n if (properties[i].inv && !this.solidPath) {\r\n this.solidPath = this.createLayerSolidPath();\r\n }\r\n // TODO move this to a factory or to a constructor\r\n this.viewData[i] = {\r\n elem: path,\r\n lastPath: '',\r\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\r\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\r\n invRect: rect,\r\n };\r\n if (!this.viewData[i].prop.k) {\r\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\r\n }\r\n }\r\n }\r\n\r\n this.maskElement = createNS(maskType);\r\n\r\n len = currentMasks.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.maskElement.appendChild(currentMasks[i]);\r\n }\r\n\r\n if (count > 0) {\r\n this.maskElement.setAttribute('id', layerId);\r\n this.element.maskedElement.setAttribute(maskRef, 'url(' + locationHref + '#' + layerId + ')');\r\n defs.appendChild(this.maskElement);\r\n }\r\n if (this.viewData.length) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nMaskElement.prototype.getMaskProperty = function (pos) {\r\n return this.viewData[pos].prop;\r\n};\r\n\r\nMaskElement.prototype.renderFrame = function (isFirstFrame) {\r\n var finalMat = this.element.finalTransform.mat;\r\n var i;\r\n var len = this.masksProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.viewData[i].prop._mdf || isFirstFrame) {\r\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\r\n }\r\n if (this.viewData[i].op._mdf || isFirstFrame) {\r\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\r\n }\r\n if (this.masksProperties[i].mode !== 'n') {\r\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\r\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\r\n }\r\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\r\n var feMorph = this.storedData[i].expan;\r\n if (this.storedData[i].x.v < 0) {\r\n if (this.storedData[i].lastOperator !== 'erode') {\r\n this.storedData[i].lastOperator = 'erode';\r\n this.storedData[i].elem.setAttribute('filter', 'url(' + locationHref + '#' + this.storedData[i].filterId + ')');\r\n }\r\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\r\n } else {\r\n if (this.storedData[i].lastOperator !== 'dilate') {\r\n this.storedData[i].lastOperator = 'dilate';\r\n this.storedData[i].elem.setAttribute('filter', null);\r\n }\r\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nMaskElement.prototype.getMaskelement = function () {\r\n return this.maskElement;\r\n};\r\n\r\nMaskElement.prototype.createLayerSolidPath = function () {\r\n var path = 'M0,0 ';\r\n path += ' h' + this.globalData.compSize.w;\r\n path += ' v' + this.globalData.compSize.h;\r\n path += ' h-' + this.globalData.compSize.w;\r\n path += ' v-' + this.globalData.compSize.h + ' ';\r\n return path;\r\n};\r\n\r\nMaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\r\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\r\n var i;\r\n var len;\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\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];\r\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];\r\n }\r\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];\r\n if (pathNodes.c && len > 1) {\r\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];\r\n }\r\n // pathNodes.__renderedString = pathString;\r\n\r\n if (viewData.lastPath !== pathString) {\r\n var pathShapeValue = '';\r\n if (viewData.elem) {\r\n if (pathNodes.c) {\r\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\r\n }\r\n viewData.elem.setAttribute('d', pathShapeValue);\r\n }\r\n viewData.lastPath = pathString;\r\n }\r\n};\r\n\r\nMaskElement.prototype.destroy = function () {\r\n this.element = null;\r\n this.globalData = null;\r\n this.maskElement = null;\r\n this.data = null;\r\n this.masksProperties = null;\r\n};\r\n\r\n/**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\r\n\r\nfunction HierarchyElement() {}\r\n\r\nHierarchyElement.prototype = {\r\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\r\n initHierarchy: function () {\r\n // element's parent list\r\n this.hierarchy = [];\r\n // if element is parent of another layer _isParent will be true\r\n this._isParent = false;\r\n this.checkParenting();\r\n },\r\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 */\r\n setHierarchy: function (hierarchy) {\r\n this.hierarchy = hierarchy;\r\n },\r\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\r\n setAsParent: function () {\r\n this._isParent = true;\r\n },\r\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\r\n checkParenting: function () {\r\n if (this.data.parent !== undefined) {\r\n this.comp.buildElementParenting(this, this.data.parent, []);\r\n }\r\n },\r\n};\r\n\r\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 */\r\n\r\nfunction FrameElement() {}\r\n\r\nFrameElement.prototype = {\r\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\r\n initFrame: function () {\r\n // set to true when inpoint is rendered\r\n this._isFirstFrame = false;\r\n // list of animated properties\r\n this.dynamicProperties = [];\r\n // If layer has been modified in current tick this will be true\r\n this._mdf = false;\r\n },\r\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 */\r\n prepareProperties: function (num, isVisible) {\r\n var i;\r\n var len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n },\r\n addDynamicProperty: function (prop) {\r\n if (this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n }\r\n },\r\n};\r\n\r\n/* global TransformPropertyFactory, Matrix */\r\n\r\nfunction TransformElement() {}\r\n\r\nTransformElement.prototype = {\r\n initTransform: function () {\r\n this.finalTransform = {\r\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : { o: 0 },\r\n _matMdf: false,\r\n _opMdf: false,\r\n mat: new Matrix(),\r\n };\r\n if (this.data.ao) {\r\n this.finalTransform.mProp.autoOriented = true;\r\n }\r\n\r\n // TODO: check TYPE 11: Guided elements\r\n if (this.data.ty !== 11) {\r\n // this.createElements();\r\n }\r\n },\r\n renderTransform: function () {\r\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\r\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\r\n\r\n if (this.hierarchy) {\r\n var mat;\r\n var finalMat = this.finalTransform.mat;\r\n var i = 0;\r\n var len = this.hierarchy.length;\r\n // Checking if any of the transformation matrices in the hierarchy chain has changed.\r\n if (!this.finalTransform._matMdf) {\r\n while (i < len) {\r\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\r\n this.finalTransform._matMdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n\r\n if (this.finalTransform._matMdf) {\r\n mat = this.finalTransform.mProp.v.props;\r\n finalMat.cloneFromProps(mat);\r\n for (i = 0; i < len; i += 1) {\r\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\r\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\r\n }\r\n }\r\n }\r\n },\r\n globalToLocal: function (pt) {\r\n var transforms = [];\r\n transforms.push(this.finalTransform);\r\n var flag = true;\r\n var comp = this.comp;\r\n while (flag) {\r\n if (comp.finalTransform) {\r\n if (comp.data.hasMask) {\r\n transforms.splice(0, 0, comp.finalTransform);\r\n }\r\n comp = comp.comp;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n var i;\r\n var len = transforms.length;\r\n var ptNew;\r\n for (i = 0; i < len; i += 1) {\r\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);\r\n // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\r\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\r\n }\r\n return pt;\r\n },\r\n mHelper: new Matrix(),\r\n};\r\n\r\nfunction RenderableElement() {\r\n\r\n}\r\n\r\nRenderableElement.prototype = {\r\n initRenderable: function () {\r\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\r\n this.isInRange = false;\r\n // layer's display state\r\n this.hidden = false;\r\n // If layer's transparency equals 0, it can be hidden\r\n this.isTransparent = false;\r\n // list of animated components\r\n this.renderableComponents = [];\r\n },\r\n addRenderableComponent: function (component) {\r\n if (this.renderableComponents.indexOf(component) === -1) {\r\n this.renderableComponents.push(component);\r\n }\r\n },\r\n removeRenderableComponent: function (component) {\r\n if (this.renderableComponents.indexOf(component) !== -1) {\r\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\r\n }\r\n },\r\n prepareRenderableFrame: function (num) {\r\n this.checkLayerLimits(num);\r\n },\r\n checkTransparency: function () {\r\n if (this.finalTransform.mProp.o.v <= 0) {\r\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\r\n this.isTransparent = true;\r\n this.hide();\r\n }\r\n } else if (this.isTransparent) {\r\n this.isTransparent = false;\r\n this.show();\r\n }\r\n },\r\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 */\r\n checkLayerLimits: function (num) {\r\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\r\n if (this.isInRange !== true) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n this.isInRange = true;\r\n this.show();\r\n }\r\n } else if (this.isInRange !== false) {\r\n this.globalData._mdf = true;\r\n this.isInRange = false;\r\n this.hide();\r\n }\r\n },\r\n renderRenderable: function () {\r\n var i;\r\n var len = this.renderableComponents.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\r\n }\r\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\r\n },\r\n sourceRectAtTime: function () {\r\n return {\r\n top: 0,\r\n left: 0,\r\n width: 100,\r\n height: 100,\r\n };\r\n },\r\n getLayerSize: function () {\r\n if (this.data.ty === 5) {\r\n return { w: this.data.textData.width, h: this.data.textData.height };\r\n }\r\n return { w: this.data.width, h: this.data.height };\r\n },\r\n};\r\n\r\n/* global extendPrototype, RenderableElement, createProxyFunction */\r\n\r\nfunction RenderableDOMElement() {}\r\n\r\n(function () {\r\n var _prototype = {\r\n initElement: function (data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n },\r\n hide: function () {\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'none';\r\n this.hidden = true;\r\n }\r\n },\r\n show: function () {\r\n if (this.isInRange && !this.isTransparent) {\r\n if (!this.data.hd) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'block';\r\n }\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function () {\r\n // If it is exported as hidden (data.hd === true) no need to render\r\n // If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n renderInnerContent: function () {},\r\n prepareFrame: function (num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n this.checkTransparency();\r\n },\r\n destroy: function () {\r\n this.innerElem = null;\r\n this.destroyBaseElement();\r\n },\r\n };\r\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\r\n}());\r\n\r\n/* exported ProcessedElement */\r\n\r\nfunction ProcessedElement(element, position) {\r\n this.elem = element;\r\n this.pos = position;\r\n}\r\n\r\n/* global createNS */\r\n\r\nfunction SVGStyleData(data, level) {\r\n this.data = data;\r\n this.type = data.ty;\r\n this.d = '';\r\n this.lvl = level;\r\n this._mdf = false;\r\n this.closed = data.hd === true;\r\n this.pElem = createNS('path');\r\n this.msElem = null;\r\n}\r\n\r\nSVGStyleData.prototype.reset = function () {\r\n this.d = '';\r\n this._mdf = false;\r\n};\r\n\r\nfunction SVGShapeData(transformers, level, shape) {\r\n this.caches = [];\r\n this.styles = [];\r\n this.transformers = transformers;\r\n this.lStr = '';\r\n this.sh = shape;\r\n this.lvl = level;\r\n // TODO find if there are some cases where _isAnimated can be false.\r\n // For now, since shapes add up with other shapes. They have to be calculated every time.\r\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\r\n this._isAnimated = !!shape.k;\r\n // TODO: commenting this for now since all shapes are animated\r\n var i = 0;\r\n var len = transformers.length;\r\n while (i < len) {\r\n if (transformers[i].mProps.dynamicProperties.length) {\r\n this._isAnimated = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n}\r\n\r\nSVGShapeData.prototype.setAsAnimated = function () {\r\n this._isAnimated = true;\r\n};\r\n\r\n/* exported SVGTransformData */\r\n\r\nfunction SVGTransformData(mProps, op, container) {\r\n this.transform = {\r\n mProps: mProps,\r\n op: op,\r\n container: container,\r\n };\r\n this.elements = [];\r\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\r\n}\r\n\r\n/* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction SVGStrokeStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\r\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\r\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\r\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\r\n this.style = styleOb;\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\r\n\r\n/* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\r\n\r\nfunction SVGFillStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\r\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\r\n this.style = styleOb;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGFillStyleData);\r\n\r\n/* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\nextendPrototype, DynamicPropertyContainer, lineCapEnum, lineJoinEnum */\r\n\r\nfunction SVGGradientFillStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.initGradientData(elem, data, styleOb);\r\n}\r\n\r\nSVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\r\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\r\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\r\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\r\n this.h = PropertyFactory.getProp(elem, data.h || { k: 0 }, 0, 0.01, this);\r\n this.a = PropertyFactory.getProp(elem, data.a || { k: 0 }, 0, degToRads, this);\r\n this.g = new GradientProperty(elem, data.g, this);\r\n this.style = styleOb;\r\n this.stops = [];\r\n this.setGradientData(styleOb.pElem, data);\r\n this.setGradientOpacity(data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\r\n var gradientId = createElementID();\r\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n gfill.setAttribute('id', gradientId);\r\n gfill.setAttribute('spreadMethod', 'pad');\r\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\r\n var stops = [];\r\n var stop;\r\n var j;\r\n var jLen;\r\n jLen = data.g.p * 4;\r\n for (j = 0; j < jLen; j += 4) {\r\n stop = createNS('stop');\r\n gfill.appendChild(stop);\r\n stops.push(stop);\r\n }\r\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + locationHref + '#' + gradientId + ')');\r\n this.gf = gfill;\r\n this.cst = stops;\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\r\n if (this.g._hasOpacity && !this.g._collapsable) {\r\n var stop;\r\n var j;\r\n var jLen;\r\n var mask = createNS('mask');\r\n var maskElement = createNS('path');\r\n mask.appendChild(maskElement);\r\n var opacityId = createElementID();\r\n var maskId = createElementID();\r\n mask.setAttribute('id', maskId);\r\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n opFill.setAttribute('id', opacityId);\r\n opFill.setAttribute('spreadMethod', 'pad');\r\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\r\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\r\n var stops = this.stops;\r\n for (j = data.g.p * 4; j < jLen; j += 2) {\r\n stop = createNS('stop');\r\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\r\n opFill.appendChild(stop);\r\n stops.push(stop);\r\n }\r\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + locationHref + '#' + opacityId + ')');\r\n if (data.ty === 'gs') {\r\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\r\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\r\n if (data.lj === 1) {\r\n maskElement.setAttribute('stroke-miterlimit', data.ml);\r\n }\r\n }\r\n this.of = opFill;\r\n this.ms = mask;\r\n this.ost = stops;\r\n this.maskId = maskId;\r\n styleOb.msElem = maskElement;\r\n }\r\n};\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\r\n\r\n/* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\r\n\r\nfunction SVGGradientStrokeStyleData(elem, data, styleOb) {\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\r\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\r\n this.initGradientData(elem, data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\r\n\r\n/* global createNS */\r\n/* exported ShapeGroupData */\r\n\r\nfunction ShapeGroupData() {\r\n this.it = [];\r\n this.prevViewData = [];\r\n this.gr = createNS('g');\r\n}\r\n\r\n/* global Matrix, buildShapeString, bmFloor */\r\n/* exported SVGElementsRenderer */\r\n\r\nvar SVGElementsRenderer = (function () {\r\n var _identityMatrix = new Matrix();\r\n var _matrixHelper = new Matrix();\r\n\r\n var ob = {\r\n createRenderFunction: createRenderFunction,\r\n };\r\n\r\n function createRenderFunction(data) {\r\n switch (data.ty) {\r\n case 'fl':\r\n return renderFill;\r\n case 'gf':\r\n return renderGradient;\r\n case 'gs':\r\n return renderGradientStroke;\r\n case 'st':\r\n return renderStroke;\r\n case 'sh':\r\n case 'el':\r\n case 'rc':\r\n case 'sr':\r\n return renderPath;\r\n case 'tr':\r\n return renderContentTransform;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n function renderContentTransform(styleData, itemData, isFirstFrame) {\r\n if (isFirstFrame || itemData.transform.op._mdf) {\r\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\r\n }\r\n if (isFirstFrame || itemData.transform.mProps._mdf) {\r\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\r\n }\r\n }\r\n\r\n function renderPath(styleData, itemData, isFirstFrame) {\r\n var j;\r\n var jLen;\r\n var pathStringTransformed;\r\n var redraw;\r\n var pathNodes;\r\n var l;\r\n var lLen = itemData.styles.length;\r\n var lvl = itemData.lvl;\r\n var paths;\r\n var mat;\r\n var props;\r\n var iterations;\r\n var k;\r\n for (l = 0; l < lLen; l += 1) {\r\n redraw = itemData.sh._mdf || isFirstFrame;\r\n if (itemData.styles[l].lvl < lvl) {\r\n mat = _matrixHelper.reset();\r\n iterations = lvl - itemData.styles[l].lvl;\r\n k = itemData.transformers.length - 1;\r\n while (!redraw && iterations > 0) {\r\n redraw = itemData.transformers[k].mProps._mdf || redraw;\r\n iterations -= 1;\r\n k -= 1;\r\n }\r\n if (redraw) {\r\n iterations = lvl - itemData.styles[l].lvl;\r\n k = itemData.transformers.length - 1;\r\n while (iterations > 0) {\r\n props = itemData.transformers[k].mProps.v.props;\r\n mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\r\n iterations -= 1;\r\n k -= 1;\r\n }\r\n }\r\n } else {\r\n mat = _identityMatrix;\r\n }\r\n paths = itemData.sh.paths;\r\n jLen = paths._length;\r\n if (redraw) {\r\n pathStringTransformed = '';\r\n for (j = 0; j < jLen; j += 1) {\r\n pathNodes = paths.shapes[j];\r\n if (pathNodes && pathNodes._length) {\r\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\r\n }\r\n }\r\n itemData.caches[l] = pathStringTransformed;\r\n } else {\r\n pathStringTransformed = itemData.caches[l];\r\n }\r\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\r\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\r\n }\r\n }\r\n\r\n function renderFill(styleData, itemData, isFirstFrame) {\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\r\n }\r\n if (itemData.o._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\r\n }\r\n }\r\n\r\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\r\n renderGradient(styleData, itemData, isFirstFrame);\r\n renderStroke(styleData, itemData, isFirstFrame);\r\n }\r\n\r\n function renderGradient(styleData, itemData, isFirstFrame) {\r\n var gfill = itemData.gf;\r\n var hasOpacity = itemData.g._hasOpacity;\r\n var pt1 = itemData.s.v;\r\n var pt2 = itemData.e.v;\r\n\r\n if (itemData.o._mdf || isFirstFrame) {\r\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\r\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\r\n }\r\n if (itemData.s._mdf || isFirstFrame) {\r\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\r\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\r\n gfill.setAttribute(attr1, pt1[0]);\r\n gfill.setAttribute(attr2, pt1[1]);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute(attr1, pt1[0]);\r\n itemData.of.setAttribute(attr2, pt1[1]);\r\n }\r\n }\r\n var stops;\r\n var i;\r\n var len;\r\n var stop;\r\n if (itemData.g._cmdf || isFirstFrame) {\r\n stops = itemData.cst;\r\n var cValues = itemData.g.c;\r\n len = stops.length;\r\n for (i = 0; i < len; i += 1) {\r\n stop = stops[i];\r\n stop.setAttribute('offset', cValues[i * 4] + '%');\r\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\r\n }\r\n }\r\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\r\n var oValues = itemData.g.o;\r\n if (itemData.g._collapsable) {\r\n stops = itemData.cst;\r\n } else {\r\n stops = itemData.ost;\r\n }\r\n len = stops.length;\r\n for (i = 0; i < len; i += 1) {\r\n stop = stops[i];\r\n if (!itemData.g._collapsable) {\r\n stop.setAttribute('offset', oValues[i * 2] + '%');\r\n }\r\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\r\n }\r\n }\r\n if (styleData.t === 1) {\r\n if (itemData.e._mdf || isFirstFrame) {\r\n gfill.setAttribute('x2', pt2[0]);\r\n gfill.setAttribute('y2', pt2[1]);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute('x2', pt2[0]);\r\n itemData.of.setAttribute('y2', pt2[1]);\r\n }\r\n }\r\n } else {\r\n var rad;\r\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\r\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n gfill.setAttribute('r', rad);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute('r', rad);\r\n }\r\n }\r\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\r\n if (!rad) {\r\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n }\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v;\r\n if (percent >= 1) {\r\n percent = 0.99;\r\n } else if (percent <= -1) {\r\n percent = -0.99;\r\n }\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n gfill.setAttribute('fx', x);\r\n gfill.setAttribute('fy', y);\r\n if (hasOpacity && !itemData.g._collapsable) {\r\n itemData.of.setAttribute('fx', x);\r\n itemData.of.setAttribute('fy', y);\r\n }\r\n }\r\n // gfill.setAttribute('fy','200');\r\n }\r\n }\r\n\r\n function renderStroke(styleData, itemData, isFirstFrame) {\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\r\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\r\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\r\n }\r\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\r\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\r\n }\r\n if (itemData.o._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\r\n }\r\n if (itemData.w._mdf || isFirstFrame) {\r\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\r\n if (styleElem.msElem) {\r\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\r\n }\r\n }\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global Matrix */\r\n\r\nfunction ShapeTransformManager() {\r\n this.sequences = {};\r\n this.sequenceList = [];\r\n this.transform_key_count = 0;\r\n}\r\n\r\nShapeTransformManager.prototype = {\r\n addTransformSequence: function (transforms) {\r\n var i;\r\n var len = transforms.length;\r\n var key = '_';\r\n for (i = 0; i < len; i += 1) {\r\n key += transforms[i].transform.key + '_';\r\n }\r\n var sequence = this.sequences[key];\r\n if (!sequence) {\r\n sequence = {\r\n transforms: [].concat(transforms),\r\n finalTransform: new Matrix(),\r\n _mdf: false,\r\n };\r\n this.sequences[key] = sequence;\r\n this.sequenceList.push(sequence);\r\n }\r\n return sequence;\r\n },\r\n processSequence: function (sequence, isFirstFrame) {\r\n var i = 0;\r\n var len = sequence.transforms.length;\r\n var _mdf = isFirstFrame;\r\n while (i < len && !isFirstFrame) {\r\n if (sequence.transforms[i].transform.mProps._mdf) {\r\n _mdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if (_mdf) {\r\n var props;\r\n sequence.finalTransform.reset();\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n props = sequence.transforms[i].transform.mProps.v.props;\r\n sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\r\n }\r\n }\r\n sequence._mdf = _mdf;\r\n },\r\n processSequences: function (isFirstFrame) {\r\n var i;\r\n var len = this.sequenceList.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.processSequence(this.sequenceList[i], isFirstFrame);\r\n }\r\n },\r\n getNewKey: function () {\r\n this.transform_key_count += 1;\r\n return '_' + this.transform_key_count;\r\n },\r\n};\r\n\r\n/* global ShapePropertyFactory, SVGShapeData */\r\n\r\nfunction CVShapeData(element, data, styles, transformsManager) {\r\n this.styledShapes = [];\r\n this.tr = [0, 0, 0, 0, 0, 0];\r\n var ty = 4;\r\n if (data.ty === 'rc') {\r\n ty = 5;\r\n } else if (data.ty === 'el') {\r\n ty = 6;\r\n } else if (data.ty === 'sr') {\r\n ty = 7;\r\n }\r\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\r\n var i;\r\n var len = styles.length;\r\n var styledShape;\r\n for (i = 0; i < len; i += 1) {\r\n if (!styles[i].closed) {\r\n styledShape = {\r\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\r\n trNodes: [],\r\n };\r\n this.styledShapes.push(styledShape);\r\n styles[i].elements.push(styledShape);\r\n }\r\n }\r\n}\r\n\r\nCVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\r\n\r\n/* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\nTextExpressionInterface, getBlendMode,createElementID, EffectsManager */\r\n\r\nfunction BaseElement() {\r\n}\r\n\r\nBaseElement.prototype = {\r\n checkMasks: function () {\r\n if (!this.data.hasMask) {\r\n return false;\r\n }\r\n var i = 0;\r\n var len = this.data.masksProperties.length;\r\n while (i < len) {\r\n if ((this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false)) {\r\n return true;\r\n }\r\n i += 1;\r\n }\r\n return false;\r\n },\r\n initExpressions: function () {\r\n this.layerInterface = LayerExpressionInterface(this);\r\n if (this.data.hasMask && this.maskManager) {\r\n this.layerInterface.registerMaskInterface(this.maskManager);\r\n }\r\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\r\n this.layerInterface.registerEffectsInterface(effectsInterface);\r\n\r\n if (this.data.ty === 0 || this.data.xt) {\r\n this.compInterface = CompExpressionInterface(this);\r\n } else if (this.data.ty === 4) {\r\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\r\n this.layerInterface.content = this.layerInterface.shapeInterface;\r\n } else if (this.data.ty === 5) {\r\n this.layerInterface.textInterface = TextExpressionInterface(this);\r\n this.layerInterface.text = this.layerInterface.textInterface;\r\n }\r\n },\r\n setBlendMode: function () {\r\n var blendModeValue = getBlendMode(this.data.bm);\r\n var elem = this.baseElement || this.layerElement;\r\n\r\n elem.style['mix-blend-mode'] = blendModeValue;\r\n },\r\n initBaseData: function (data, globalData, comp) {\r\n this.globalData = globalData;\r\n this.comp = comp;\r\n this.data = data;\r\n this.layerId = createElementID();\r\n\r\n // Stretch factor for old animations missing this property.\r\n if (!this.data.sr) {\r\n this.data.sr = 1;\r\n }\r\n // effects manager\r\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\r\n },\r\n getType: function () {\r\n return this.type;\r\n },\r\n sourceRectAtTime: function () {},\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\r\n\r\nfunction NullElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initFrame();\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n}\r\n\r\nNullElement.prototype.prepareFrame = function (num) {\r\n this.prepareProperties(num, true);\r\n};\r\n\r\nNullElement.prototype.renderFrame = function () {\r\n};\r\n\r\nNullElement.prototype.getBaseElement = function () {\r\n return null;\r\n};\r\n\r\nNullElement.prototype.destroy = function () {\r\n};\r\n\r\nNullElement.prototype.sourceRectAtTime = function () {\r\n};\r\n\r\nNullElement.prototype.hide = function () {\r\n};\r\n\r\nextendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\r\n\r\n/* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\r\n\r\nfunction SVGBaseElement() {\r\n}\r\n\r\nSVGBaseElement.prototype = {\r\n initRendererElement: function () {\r\n this.layerElement = createNS('g');\r\n },\r\n createContainerElements: function () {\r\n this.matteElement = createNS('g');\r\n this.transformedElement = this.layerElement;\r\n this.maskedElement = this.layerElement;\r\n this._sizeChanged = false;\r\n var layerElementParent = null;\r\n // If this layer acts as a mask for the following layer\r\n var filId;\r\n var fil;\r\n var gg;\r\n if (this.data.td) {\r\n if (this.data.td == 3 || this.data.td == 1) { // eslint-disable-line eqeqeq\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', this.layerId);\r\n masker.setAttribute('mask-type', this.data.td == 3 ? 'luminance' : 'alpha'); // eslint-disable-line eqeqeq\r\n masker.appendChild(this.layerElement);\r\n layerElementParent = masker;\r\n this.globalData.defs.appendChild(masker);\r\n // This is only for IE and Edge when mask if of type alpha\r\n if (!featureSupport.maskType && this.data.td == 1) { // eslint-disable-line eqeqeq\r\n masker.setAttribute('mask-type', 'luminance');\r\n filId = createElementID();\r\n fil = filtersFactory.createFilter(filId);\r\n this.globalData.defs.appendChild(fil);\r\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\r\n gg = createNS('g');\r\n gg.appendChild(this.layerElement);\r\n layerElementParent = gg;\r\n masker.appendChild(gg);\r\n gg.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\r\n }\r\n } else if (this.data.td == 2) { // eslint-disable-line eqeqeq\r\n var maskGroup = createNS('mask');\r\n maskGroup.setAttribute('id', this.layerId);\r\n maskGroup.setAttribute('mask-type', 'alpha');\r\n var maskGrouper = createNS('g');\r\n maskGroup.appendChild(maskGrouper);\r\n filId = createElementID();\r\n fil = filtersFactory.createFilter(filId);\r\n /// /\r\n\r\n // This solution doesn't work on Android when meta tag with viewport attribute is set\r\n /* var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n fil.appendChild(feColorMatrix); */\r\n /// /\r\n var feCTr = createNS('feComponentTransfer');\r\n feCTr.setAttribute('in', 'SourceGraphic');\r\n fil.appendChild(feCTr);\r\n var feFunc = createNS('feFuncA');\r\n feFunc.setAttribute('type', 'table');\r\n feFunc.setAttribute('tableValues', '1.0 0.0');\r\n feCTr.appendChild(feFunc);\r\n /// /\r\n this.globalData.defs.appendChild(fil);\r\n var alphaRect = createNS('rect');\r\n alphaRect.setAttribute('width', this.comp.data.w);\r\n alphaRect.setAttribute('height', this.comp.data.h);\r\n alphaRect.setAttribute('x', '0');\r\n alphaRect.setAttribute('y', '0');\r\n alphaRect.setAttribute('fill', '#ffffff');\r\n alphaRect.setAttribute('opacity', '0');\r\n maskGrouper.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\r\n maskGrouper.appendChild(alphaRect);\r\n maskGrouper.appendChild(this.layerElement);\r\n layerElementParent = maskGrouper;\r\n if (!featureSupport.maskType) {\r\n maskGroup.setAttribute('mask-type', 'luminance');\r\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\r\n gg = createNS('g');\r\n maskGrouper.appendChild(alphaRect);\r\n gg.appendChild(this.layerElement);\r\n layerElementParent = gg;\r\n maskGrouper.appendChild(gg);\r\n }\r\n this.globalData.defs.appendChild(maskGroup);\r\n }\r\n } else if (this.data.tt) {\r\n this.matteElement.appendChild(this.layerElement);\r\n layerElementParent = this.matteElement;\r\n this.baseElement = this.matteElement;\r\n } else {\r\n this.baseElement = this.layerElement;\r\n }\r\n if (this.data.ln) {\r\n this.layerElement.setAttribute('id', this.data.ln);\r\n }\r\n if (this.data.cl) {\r\n this.layerElement.setAttribute('class', this.data.cl);\r\n }\r\n // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\r\n if (this.data.ty === 0 && !this.data.hd) {\r\n var cp = createNS('clipPath');\r\n var pt = createNS('path');\r\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\r\n var clipId = createElementID();\r\n cp.setAttribute('id', clipId);\r\n cp.appendChild(pt);\r\n this.globalData.defs.appendChild(cp);\r\n\r\n if (this.checkMasks()) {\r\n var cpGroup = createNS('g');\r\n cpGroup.setAttribute('clip-path', 'url(' + locationHref + '#' + clipId + ')');\r\n cpGroup.appendChild(this.layerElement);\r\n this.transformedElement = cpGroup;\r\n if (layerElementParent) {\r\n layerElementParent.appendChild(this.transformedElement);\r\n } else {\r\n this.baseElement = this.transformedElement;\r\n }\r\n } else {\r\n this.layerElement.setAttribute('clip-path', 'url(' + locationHref + '#' + clipId + ')');\r\n }\r\n }\r\n if (this.data.bm !== 0) {\r\n this.setBlendMode();\r\n }\r\n },\r\n renderElement: function () {\r\n if (this.finalTransform._matMdf) {\r\n this.transformedElement.setAttribute('transform', this.finalTransform.mat.to2dCSS());\r\n }\r\n if (this.finalTransform._opMdf) {\r\n this.transformedElement.setAttribute('opacity', this.finalTransform.mProp.o.v);\r\n }\r\n },\r\n destroyBaseElement: function () {\r\n this.layerElement = null;\r\n this.matteElement = null;\r\n this.maskManager.destroy();\r\n },\r\n getBaseElement: function () {\r\n if (this.data.hd) {\r\n return null;\r\n }\r\n return this.baseElement;\r\n },\r\n createRenderableComponents: function () {\r\n this.maskManager = new MaskElement(this.data, this, this.globalData);\r\n this.renderableEffectsManager = new SVGEffects(this);\r\n },\r\n setMatte: function (id) {\r\n if (!this.matteElement) {\r\n return;\r\n }\r\n this.matteElement.setAttribute('mask', 'url(' + locationHref + '#' + id + ')');\r\n },\r\n};\r\n\r\n/* global ProcessedElement */\r\n\r\nfunction IShapeElement() {\r\n}\r\n\r\nIShapeElement.prototype = {\r\n addShapeToModifiers: function (data) {\r\n var i;\r\n var len = this.shapeModifiers.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.shapeModifiers[i].addShape(data);\r\n }\r\n },\r\n isShapeInAnimatedModifiers: function (data) {\r\n var i = 0;\r\n var len = this.shapeModifiers.length;\r\n while (i < len) {\r\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n renderModifiers: function () {\r\n if (!this.shapeModifiers.length) {\r\n return;\r\n }\r\n var i;\r\n var len = this.shapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].sh.reset();\r\n }\r\n\r\n len = this.shapeModifiers.length;\r\n var shouldBreakProcess;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame);\r\n // workaround to fix cases where a repeater resets the shape so the following processes get called twice\r\n // TODO: find a better solution for this\r\n if (shouldBreakProcess) {\r\n break;\r\n }\r\n }\r\n },\r\n\r\n searchProcessedElement: function (elem) {\r\n var elements = this.processedElements;\r\n var i = 0;\r\n var len = elements.length;\r\n while (i < len) {\r\n if (elements[i].elem === elem) {\r\n return elements[i].pos;\r\n }\r\n i += 1;\r\n }\r\n return 0;\r\n },\r\n addProcessedElement: function (elem, pos) {\r\n var elements = this.processedElements;\r\n var i = elements.length;\r\n while (i) {\r\n i -= 1;\r\n if (elements[i].elem === elem) {\r\n elements[i].pos = pos;\r\n return;\r\n }\r\n }\r\n elements.push(new ProcessedElement(elem, pos));\r\n },\r\n prepareFrame: function (num) {\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n },\r\n};\r\n\r\n/* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\r\n\r\nfunction ITextElement() {\r\n}\r\n\r\nITextElement.prototype.initElement = function (data, globalData, comp) {\r\n this.lettersChangedFlag = true;\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\r\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n this.textAnimator.searchProperties(this.dynamicProperties);\r\n};\r\n\r\nITextElement.prototype.prepareFrame = function (num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\r\n this.buildNewText();\r\n this.textProperty._isFirstFrame = false;\r\n this.textProperty._mdf = false;\r\n }\r\n};\r\n\r\nITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\r\n var j;\r\n var jLen = shapes.length;\r\n var pathNodes;\r\n var shapeStr = '';\r\n for (j = 0; j < jLen; j += 1) {\r\n pathNodes = shapes[j].ks.k;\r\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\r\n }\r\n return shapeStr;\r\n};\r\n\r\nITextElement.prototype.updateDocumentData = function (newData, index) {\r\n this.textProperty.updateDocumentData(newData, index);\r\n};\r\n\r\nITextElement.prototype.canResizeFont = function (_canResize) {\r\n this.textProperty.canResizeFont(_canResize);\r\n};\r\n\r\nITextElement.prototype.setMinimumFontSize = function (_fontSize) {\r\n this.textProperty.setMinimumFontSize(_fontSize);\r\n};\r\n\r\nITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\r\n if (documentData.ps) {\r\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\r\n }\r\n matrixHelper.translate(0, -documentData.ls, 0);\r\n switch (documentData.j) {\r\n case 1:\r\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\r\n break;\r\n case 2:\r\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\r\n break;\r\n default:\r\n break;\r\n }\r\n matrixHelper.translate(xPos, yPos, 0);\r\n};\r\n\r\nITextElement.prototype.buildColor = function (colorData) {\r\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\r\n};\r\n\r\nITextElement.prototype.emptyProp = new LetterProps();\r\n\r\nITextElement.prototype.destroy = function () {\r\n\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\r\n\r\nfunction ICompElement() {}\r\n\r\nextendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\r\n\r\nICompElement.prototype.initElement = function (data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initRenderable();\r\n this.initHierarchy();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n if (this.data.xt || !globalData.progressiveLoad) {\r\n this.buildAllItems();\r\n }\r\n this.hide();\r\n};\r\n\r\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}; */\r\n\r\nICompElement.prototype.prepareFrame = function (num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if (!this.isInRange && !this.data.xt) {\r\n return;\r\n }\r\n\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n if (timeRemapped === this.data.op) {\r\n timeRemapped = this.data.op - 1;\r\n }\r\n this.renderedFrame = timeRemapped;\r\n } else {\r\n this.renderedFrame = num / this.data.sr;\r\n }\r\n var i;\r\n var len = this.elements.length;\r\n if (!this.completeLayers) {\r\n this.checkLayers(this.renderedFrame);\r\n }\r\n // This iteration needs to be backwards because of how expressions connect between each other\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\r\n if (this.elements[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.renderInnerContent = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.setElements = function (elems) {\r\n this.elements = elems;\r\n};\r\n\r\nICompElement.prototype.getElements = function () {\r\n return this.elements;\r\n};\r\n\r\nICompElement.prototype.destroyElements = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.destroy = function () {\r\n this.destroyElements();\r\n this.destroyBaseElement();\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\r\n\r\nfunction IImageElement(data, globalData, comp) {\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data, globalData, comp);\r\n this.sourceRect = {\r\n top: 0, left: 0, width: this.assetData.w, height: this.assetData.h,\r\n };\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\r\n\r\nIImageElement.prototype.createContent = function () {\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n\r\n this.innerElem = createNS('image');\r\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\r\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\r\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\r\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\r\n\r\n this.layerElement.appendChild(this.innerElem);\r\n};\r\n\r\nIImageElement.prototype.sourceRectAtTime = function () {\r\n return this.sourceRect;\r\n};\r\n\r\n/* global extendPrototype, IImageElement, createNS */\r\n\r\nfunction ISolidElement(data, globalData, comp) {\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([IImageElement], ISolidElement);\r\n\r\nISolidElement.prototype.createContent = function () {\r\n var rect = createNS('rect');\r\n /// /rect.style.width = this.data.sw;\r\n /// /rect.style.height = this.data.sh;\r\n /// /rect.style.fill = this.data.sc;\r\n rect.setAttribute('width', this.data.sw);\r\n rect.setAttribute('height', this.data.sh);\r\n rect.setAttribute('fill', this.data.sc);\r\n this.layerElement.appendChild(rect);\r\n};\r\n\r\n/* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\r\n\r\nfunction AudioElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initBaseData(data, globalData, comp);\r\n this._isPlaying = false;\r\n this._canPlay = false;\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n this.audio = this.globalData.audioController.createAudio(assetPath);\r\n this._currentTime = 0;\r\n this.globalData.audioController.addAudio(this);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nAudioElement.prototype.prepareFrame = function (num) {\r\n this.prepareRenderableFrame(num, true);\r\n this.prepareProperties(num, true);\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n this._currentTime = timeRemapped;\r\n } else {\r\n this._currentTime = num / this.data.sr;\r\n }\r\n};\r\n\r\nextendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\r\n\r\nAudioElement.prototype.renderFrame = function () {\r\n if (this.isInRange && this._canPlay) {\r\n if (!this._isPlaying) {\r\n this.audio.play();\r\n this.audio.seek(this._currentTime / this.globalData.frameRate);\r\n this._isPlaying = true;\r\n } else if (!this.audio.playing()\r\n || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1\r\n ) {\r\n this.audio.seek(this._currentTime / this.globalData.frameRate);\r\n }\r\n }\r\n};\r\n\r\nAudioElement.prototype.show = function () {\r\n // this.audio.play()\r\n};\r\n\r\nAudioElement.prototype.hide = function () {\r\n this.audio.pause();\r\n this._isPlaying = false;\r\n};\r\n\r\nAudioElement.prototype.pause = function () {\r\n this.audio.pause();\r\n this._isPlaying = false;\r\n this._canPlay = false;\r\n};\r\n\r\nAudioElement.prototype.resume = function () {\r\n this._canPlay = true;\r\n};\r\n\r\nAudioElement.prototype.setRate = function (rateValue) {\r\n this.audio.rate(rateValue);\r\n};\r\n\r\nAudioElement.prototype.volume = function (volumeValue) {\r\n this.audio.volume(volumeValue);\r\n};\r\n\r\nAudioElement.prototype.getBaseElement = function () {\r\n return null;\r\n};\r\n\r\nAudioElement.prototype.destroy = function () {\r\n};\r\n\r\nAudioElement.prototype.sourceRectAtTime = function () {\r\n};\r\n\r\nAudioElement.prototype.initExpressions = function () {\r\n};\r\n\r\n/* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\r\n\r\nfunction FootageElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\r\n this.initBaseData(data, globalData, comp);\r\n}\r\n\r\nFootageElement.prototype.prepareFrame = function () {\r\n};\r\n\r\nextendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\r\n\r\nFootageElement.prototype.getBaseElement = function () {\r\n return null;\r\n};\r\n\r\nFootageElement.prototype.renderFrame = function () {\r\n};\r\n\r\nFootageElement.prototype.destroy = function () {\r\n};\r\n\r\nFootageElement.prototype.initExpressions = function () {\r\n this.layerInterface = FootageInterface(this);\r\n};\r\n\r\nFootageElement.prototype.getFootageData = function () {\r\n return this.footageData;\r\n};\r\n\r\n/* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\r\n\r\nfunction SVGCompElement(data, globalData, comp) {\r\n this.layers = data.layers;\r\n this.supports3d = true;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n // this.layerElement = createNS('g');\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nextendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\nRenderableDOMElement, ITextElement, createSizedArray, createNS */\r\n\r\nfunction SVGTextLottieElement(data, globalData, comp) {\r\n this.textSpans = [];\r\n this.renderType = 'svg';\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\r\n\r\nSVGTextLottieElement.prototype.createContent = function () {\r\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\r\n this.textContainer = createNS('text');\r\n }\r\n};\r\n\r\nSVGTextLottieElement.prototype.buildTextContents = function (textArray) {\r\n var i = 0;\r\n var len = textArray.length;\r\n var textContents = [];\r\n var currentTextContent = '';\r\n while (i < len) {\r\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\r\n textContents.push(currentTextContent);\r\n currentTextContent = '';\r\n } else {\r\n currentTextContent += textArray[i];\r\n }\r\n i += 1;\r\n }\r\n textContents.push(currentTextContent);\r\n return textContents;\r\n};\r\n\r\nSVGTextLottieElement.prototype.buildNewText = function () {\r\n var i;\r\n var len;\r\n\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\r\n if (documentData.fc) {\r\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\r\n } else {\r\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\r\n }\r\n if (documentData.sc) {\r\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\r\n this.layerElement.setAttribute('stroke-width', documentData.sw);\r\n }\r\n this.layerElement.setAttribute('font-size', documentData.finalSize);\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if (fontData.fClass) {\r\n this.layerElement.setAttribute('class', fontData.fClass);\r\n } else {\r\n this.layerElement.setAttribute('font-family', fontData.fFamily);\r\n var fWeight = documentData.fWeight;\r\n var fStyle = documentData.fStyle;\r\n this.layerElement.setAttribute('font-style', fStyle);\r\n this.layerElement.setAttribute('font-weight', fWeight);\r\n }\r\n this.layerElement.setAttribute('aria-label', documentData.t);\r\n\r\n var letters = documentData.l || [];\r\n var usesGlyphs = !!this.globalData.fontManager.chars;\r\n len = letters.length;\r\n\r\n var tSpan;\r\n var matrixHelper = this.mHelper;\r\n var shapes;\r\n var shapeStr = '';\r\n var singleShape = this.data.singleShape;\r\n var xPos = 0;\r\n var yPos = 0;\r\n var firstLine = true;\r\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\r\n if (singleShape && !usesGlyphs && !documentData.sz) {\r\n var tElement = this.textContainer;\r\n var justify = 'start';\r\n switch (documentData.j) {\r\n case 1:\r\n justify = 'end';\r\n break;\r\n case 2:\r\n justify = 'middle';\r\n break;\r\n default:\r\n justify = 'start';\r\n break;\r\n }\r\n tElement.setAttribute('text-anchor', justify);\r\n tElement.setAttribute('letter-spacing', trackingOffset);\r\n var textContent = this.buildTextContents(documentData.finalText);\r\n len = textContent.length;\r\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\r\n for (i = 0; i < len; i += 1) {\r\n tSpan = this.textSpans[i] || createNS('tspan');\r\n tSpan.textContent = textContent[i];\r\n tSpan.setAttribute('x', 0);\r\n tSpan.setAttribute('y', yPos);\r\n tSpan.style.display = 'inherit';\r\n tElement.appendChild(tSpan);\r\n this.textSpans[i] = tSpan;\r\n yPos += documentData.finalLineHeight;\r\n }\r\n\r\n this.layerElement.appendChild(tElement);\r\n } else {\r\n var cachedSpansLength = this.textSpans.length;\r\n var shapeData;\r\n var charData;\r\n for (i = 0; i < len; i += 1) {\r\n if (!usesGlyphs || !singleShape || i === 0) {\r\n tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs ? 'path' : 'text');\r\n if (cachedSpansLength <= i) {\r\n tSpan.setAttribute('stroke-linecap', 'butt');\r\n tSpan.setAttribute('stroke-linejoin', 'round');\r\n tSpan.setAttribute('stroke-miterlimit', '4');\r\n this.textSpans[i] = tSpan;\r\n this.layerElement.appendChild(tSpan);\r\n }\r\n tSpan.style.display = 'inherit';\r\n }\r\n\r\n matrixHelper.reset();\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n if (letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n xPos += letters[i].l || 0;\r\n // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\r\n xPos += trackingOffset;\r\n }\r\n if (usesGlyphs) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = (charData && charData.data) || {};\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n if (!singleShape) {\r\n tSpan.setAttribute('d', this.createPathShape(matrixHelper, shapes));\r\n } else {\r\n shapeStr += this.createPathShape(matrixHelper, shapes);\r\n }\r\n } else {\r\n if (singleShape) {\r\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\r\n }\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\r\n }\r\n //\r\n }\r\n if (singleShape && tSpan) {\r\n tSpan.setAttribute('d', shapeStr);\r\n }\r\n }\r\n while (i < this.textSpans.length) {\r\n this.textSpans[i].style.display = 'none';\r\n i += 1;\r\n }\r\n\r\n this._sizeChanged = true;\r\n};\r\n\r\nSVGTextLottieElement.prototype.sourceRectAtTime = function () {\r\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\r\n this.renderInnerContent();\r\n if (this._sizeChanged) {\r\n this._sizeChanged = false;\r\n var textBox = this.layerElement.getBBox();\r\n this.bbox = {\r\n top: textBox.y,\r\n left: textBox.x,\r\n width: textBox.width,\r\n height: textBox.height,\r\n };\r\n }\r\n return this.bbox;\r\n};\r\n\r\nSVGTextLottieElement.prototype.renderInnerContent = function () {\r\n if (!this.data.singleShape) {\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\r\n this._sizeChanged = true;\r\n var i;\r\n var len;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter;\r\n var textSpan;\r\n for (i = 0; i < len; i += 1) {\r\n if (!letters[i].n) {\r\n renderedLetter = renderedLetters[i];\r\n textSpan = this.textSpans[i];\r\n if (renderedLetter._mdf.m) {\r\n textSpan.setAttribute('transform', renderedLetter.m);\r\n }\r\n if (renderedLetter._mdf.o) {\r\n textSpan.setAttribute('opacity', renderedLetter.o);\r\n }\r\n if (renderedLetter._mdf.sw) {\r\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\r\n }\r\n if (renderedLetter._mdf.sc) {\r\n textSpan.setAttribute('stroke', renderedLetter.sc);\r\n }\r\n if (renderedLetter._mdf.fc) {\r\n textSpan.setAttribute('fill', renderedLetter.fc);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\nFrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\nSVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\nTransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers,\r\nlineCapEnum, lineJoinEnum */\r\n\r\nfunction SVGShapeElement(data, globalData, comp) {\r\n // List of drawable elements\r\n this.shapes = [];\r\n // Full shape data\r\n this.shapesData = data.shapes;\r\n // List of styles that will be applied to shapes\r\n this.stylesList = [];\r\n // List of modifiers that will be applied to shapes\r\n this.shapeModifiers = [];\r\n // List of items in shape tree\r\n this.itemsData = [];\r\n // List of items in previous shape tree\r\n this.processedElements = [];\r\n // List of animated components\r\n this.animatedContents = [];\r\n this.initElement(data, globalData, comp);\r\n // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\r\n // List of elements that have been created\r\n this.prevViewData = [];\r\n // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\r\n\r\nSVGShapeElement.prototype.initSecondaryElement = function () {\r\n};\r\n\r\nSVGShapeElement.prototype.identityMatrix = new Matrix();\r\n\r\nSVGShapeElement.prototype.buildExpressionInterface = function () {};\r\n\r\nSVGShapeElement.prototype.createContent = function () {\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n};\r\n\r\n/*\r\nThis method searches for multiple shapes that affect a single element and one of them is animated\r\n*/\r\nSVGShapeElement.prototype.filterUniqueShapes = function () {\r\n var i;\r\n var len = this.shapes.length;\r\n var shape;\r\n var j;\r\n var jLen = this.stylesList.length;\r\n var style;\r\n var tempShapes = [];\r\n var areAnimated = false;\r\n for (j = 0; j < jLen; j += 1) {\r\n style = this.stylesList[j];\r\n areAnimated = false;\r\n tempShapes.length = 0;\r\n for (i = 0; i < len; i += 1) {\r\n shape = this.shapes[i];\r\n if (shape.styles.indexOf(style) !== -1) {\r\n tempShapes.push(shape);\r\n areAnimated = shape._isAnimated || areAnimated;\r\n }\r\n }\r\n if (tempShapes.length > 1 && areAnimated) {\r\n this.setShapesAsAnimated(tempShapes);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\r\n var i;\r\n var len = shapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n shapes[i].setAsAnimated();\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.createStyleElement = function (data, level) {\r\n // TODO: prevent drawing of hidden styles\r\n var elementData;\r\n var styleOb = new SVGStyleData(data, level);\r\n\r\n var pathElement = styleOb.pElem;\r\n if (data.ty === 'st') {\r\n elementData = new SVGStrokeStyleData(this, data, styleOb);\r\n } else if (data.ty === 'fl') {\r\n elementData = new SVGFillStyleData(this, data, styleOb);\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\r\n elementData = new GradientConstructor(this, data, styleOb);\r\n this.globalData.defs.appendChild(elementData.gf);\r\n if (elementData.maskId) {\r\n this.globalData.defs.appendChild(elementData.ms);\r\n this.globalData.defs.appendChild(elementData.of);\r\n pathElement.setAttribute('mask', 'url(' + locationHref + '#' + elementData.maskId + ')');\r\n }\r\n }\r\n\r\n if (data.ty === 'st' || data.ty === 'gs') {\r\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\r\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\r\n pathElement.setAttribute('fill-opacity', '0');\r\n if (data.lj === 1) {\r\n pathElement.setAttribute('stroke-miterlimit', data.ml);\r\n }\r\n }\r\n\r\n if (data.r === 2) {\r\n pathElement.setAttribute('fill-rule', 'evenodd');\r\n }\r\n\r\n if (data.ln) {\r\n pathElement.setAttribute('id', data.ln);\r\n }\r\n if (data.cl) {\r\n pathElement.setAttribute('class', data.cl);\r\n }\r\n if (data.bm) {\r\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n this.stylesList.push(styleOb);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createGroupElement = function (data) {\r\n var elementData = new ShapeGroupData();\r\n if (data.ln) {\r\n elementData.gr.setAttribute('id', data.ln);\r\n }\r\n if (data.cl) {\r\n elementData.gr.setAttribute('class', data.cl);\r\n }\r\n if (data.bm) {\r\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createTransformElement = function (data, container) {\r\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\r\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\r\n var ty = 4;\r\n if (data.ty === 'rc') {\r\n ty = 5;\r\n } else if (data.ty === 'el') {\r\n ty = 6;\r\n } else if (data.ty === 'sr') {\r\n ty = 7;\r\n }\r\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\r\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\r\n var i = 0;\r\n var len = this.animatedContents.length;\r\n while (i < len) {\r\n if (this.animatedContents[i].element === element) {\r\n return;\r\n }\r\n i += 1;\r\n }\r\n this.animatedContents.push({\r\n fn: SVGElementsRenderer.createRenderFunction(data),\r\n element: element,\r\n data: data,\r\n });\r\n};\r\n\r\nSVGShapeElement.prototype.setElementStyles = function (elementData) {\r\n var arr = elementData.styles;\r\n var j;\r\n var jLen = this.stylesList.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (!this.stylesList[j].closed) {\r\n arr.push(this.stylesList[j]);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.reloadShapes = function () {\r\n this._isFirstFrame = true;\r\n var i;\r\n var len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n};\r\n\r\nSVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\r\n var ownTransformers = [].concat(transformers);\r\n var i;\r\n var len = arr.length - 1;\r\n var j;\r\n var jLen;\r\n var ownStyles = [];\r\n var ownModifiers = [];\r\n var currentTransform;\r\n var modifier;\r\n var processedPos;\r\n for (i = len; i >= 0; i -= 1) {\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if (!processedPos) {\r\n arr[i]._render = render;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createStyleElement(arr[i], level);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n if (arr[i]._render) {\r\n if (itemsData[i].style.pElem.parentNode !== container) {\r\n container.appendChild(itemsData[i].style.pElem);\r\n }\r\n }\r\n ownStyles.push(itemsData[i].style);\r\n } else if (arr[i].ty === 'gr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\r\n }\r\n }\r\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\r\n if (arr[i]._render) {\r\n if (itemsData[i].gr.parentNode !== container) {\r\n container.appendChild(itemsData[i].gr);\r\n }\r\n }\r\n } else if (arr[i].ty === 'tr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createTransformElement(arr[i], container);\r\n }\r\n currentTransform = itemsData[i].transform;\r\n ownTransformers.push(currentTransform);\r\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\r\n }\r\n this.setElementStyles(itemsData[i]);\r\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n modifier.init(this, arr[i]);\r\n itemsData[i] = modifier;\r\n this.shapeModifiers.push(modifier);\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = false;\r\n }\r\n ownModifiers.push(modifier);\r\n } else if (arr[i].ty === 'rp') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n itemsData[i] = modifier;\r\n modifier.init(this, arr, i, itemsData);\r\n this.shapeModifiers.push(modifier);\r\n render = false;\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = true;\r\n }\r\n ownModifiers.push(modifier);\r\n }\r\n this.addProcessedElement(arr[i], i + 1);\r\n }\r\n len = ownStyles.length;\r\n for (i = 0; i < len; i += 1) {\r\n ownStyles[i].closed = true;\r\n }\r\n len = ownModifiers.length;\r\n for (i = 0; i < len; i += 1) {\r\n ownModifiers[i].closed = true;\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.renderInnerContent = function () {\r\n this.renderModifiers();\r\n var i;\r\n var len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.stylesList[i].reset();\r\n }\r\n this.renderShape();\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\r\n if (this.stylesList[i].msElem) {\r\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d);\r\n // Adding M0 0 fixes same mask bug on all browsers\r\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\r\n }\r\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.renderShape = function () {\r\n var i;\r\n var len = this.animatedContents.length;\r\n var animatedContent;\r\n for (i = 0; i < len; i += 1) {\r\n animatedContent = this.animatedContents[i];\r\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\r\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.destroy = function () {\r\n this.destroyBaseElement();\r\n this.shapesData = null;\r\n this.itemsData = null;\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGTintFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\r\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');\r\n feColorMatrix.setAttribute('result', 'f1');\r\n filter.appendChild(feColorMatrix);\r\n feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\r\n feColorMatrix.setAttribute('result', 'f2');\r\n filter.appendChild(feColorMatrix);\r\n this.matrixFilter = feColorMatrix;\r\n if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in', 'SourceGraphic');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in', 'f2');\r\n feMerge.appendChild(feMergeNode);\r\n }\r\n}\r\n\r\nSVGTintFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var colorBlack = this.filterManager.effectElements[0].p.v;\r\n var colorWhite = this.filterManager.effectElements[1].p.v;\r\n var opacity = this.filterManager.effectElements[2].p.v / 100;\r\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 ' + opacity + ' 0');\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGFillFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\r\n filter.appendChild(feColorMatrix);\r\n this.matrixFilter = feColorMatrix;\r\n}\r\nSVGFillFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var color = this.filterManager.effectElements[2].p.v;\r\n var opacity = this.filterManager.effectElements[6].p.v;\r\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');\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGGaussianBlurEffect(filter, filterManager) {\r\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\r\n filter.setAttribute('x', '-100%');\r\n filter.setAttribute('y', '-100%');\r\n filter.setAttribute('width', '300%');\r\n filter.setAttribute('height', '300%');\r\n\r\n this.filterManager = filterManager;\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n filter.appendChild(feGaussianBlur);\r\n this.feGaussianBlur = feGaussianBlur;\r\n}\r\n\r\nSVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n // Empirical value, matching AE's blur appearance.\r\n var kBlurrinessToSigma = 0.3;\r\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma;\r\n\r\n // Dimensions mapping:\r\n //\r\n // 1 -> horizontal & vertical\r\n // 2 -> horizontal only\r\n // 3 -> vertical only\r\n //\r\n var dimensions = this.filterManager.effectElements[1].p.v;\r\n var sigmaX = (dimensions == 3) ? 0 : sigma; // eslint-disable-line eqeqeq\r\n var sigmaY = (dimensions == 2) ? 0 : sigma; // eslint-disable-line eqeqeq\r\n\r\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY);\r\n\r\n // Repeat edges mapping:\r\n //\r\n // 0 -> off -> duplicate\r\n // 1 -> on -> wrap\r\n var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\r\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\r\n }\r\n};\r\n\r\n/* global createNS, createElementID, locationHref, bmFloor */\r\n\r\nfunction SVGStrokeEffect(elem, filterManager) {\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.elem = elem;\r\n this.paths = [];\r\n}\r\n\r\nSVGStrokeEffect.prototype.initialize = function () {\r\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n var path;\r\n var groupPath;\r\n var i;\r\n var len;\r\n if (this.filterManager.effectElements[1].p.v === 1) {\r\n len = this.elem.maskManager.masksProperties.length;\r\n i = 0;\r\n } else {\r\n i = this.filterManager.effectElements[0].p.v - 1;\r\n len = i + 1;\r\n }\r\n groupPath = createNS('g');\r\n groupPath.setAttribute('fill', 'none');\r\n groupPath.setAttribute('stroke-linecap', 'round');\r\n groupPath.setAttribute('stroke-dashoffset', 1);\r\n for (i; i < len; i += 1) {\r\n path = createNS('path');\r\n groupPath.appendChild(path);\r\n this.paths.push({ p: path, m: i });\r\n }\r\n if (this.filterManager.effectElements[10].p.v === 3) {\r\n var mask = createNS('mask');\r\n var id = createElementID();\r\n mask.setAttribute('id', id);\r\n mask.setAttribute('mask-type', 'alpha');\r\n mask.appendChild(groupPath);\r\n this.elem.globalData.defs.appendChild(mask);\r\n var g = createNS('g');\r\n g.setAttribute('mask', 'url(' + locationHref + '#' + id + ')');\r\n while (elemChildren[0]) {\r\n g.appendChild(elemChildren[0]);\r\n }\r\n this.elem.layerElement.appendChild(g);\r\n this.masker = mask;\r\n groupPath.setAttribute('stroke', '#fff');\r\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\r\n if (this.filterManager.effectElements[10].p.v === 2) {\r\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n while (elemChildren.length) {\r\n this.elem.layerElement.removeChild(elemChildren[0]);\r\n }\r\n }\r\n this.elem.layerElement.appendChild(groupPath);\r\n this.elem.layerElement.removeAttribute('mask');\r\n groupPath.setAttribute('stroke', '#fff');\r\n }\r\n this.initialized = true;\r\n this.pathMasker = groupPath;\r\n};\r\n\r\nSVGStrokeEffect.prototype.renderFrame = function (forceRender) {\r\n if (!this.initialized) {\r\n this.initialize();\r\n }\r\n var i;\r\n var len = this.paths.length;\r\n var mask;\r\n var path;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.paths[i].m !== -1) {\r\n mask = this.elem.maskManager.viewData[this.paths[i].m];\r\n path = this.paths[i].p;\r\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\r\n path.setAttribute('d', mask.lastPath);\r\n }\r\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) {\r\n var dasharrayValue;\r\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\r\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\r\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\r\n var l = path.getTotalLength();\r\n dasharrayValue = '0 0 0 ' + l * s + ' ';\r\n var lineLength = l * (e - s);\r\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\r\n var units = Math.floor(lineLength / segment);\r\n var j;\r\n for (j = 0; j < units; j += 1) {\r\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\r\n }\r\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\r\n } else {\r\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\r\n }\r\n path.setAttribute('stroke-dasharray', dasharrayValue);\r\n }\r\n }\r\n }\r\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\r\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\r\n }\r\n\r\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\r\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\r\n }\r\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\r\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\r\n var color = this.filterManager.effectElements[3].p.v;\r\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\r\n }\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGTritoneFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\r\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');\r\n feColorMatrix.setAttribute('result', 'f1');\r\n filter.appendChild(feColorMatrix);\r\n var feComponentTransfer = createNS('feComponentTransfer');\r\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\r\n filter.appendChild(feComponentTransfer);\r\n this.matrixFilter = feComponentTransfer;\r\n var feFuncR = createNS('feFuncR');\r\n feFuncR.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFuncR);\r\n this.feFuncR = feFuncR;\r\n var feFuncG = createNS('feFuncG');\r\n feFuncG.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFuncG);\r\n this.feFuncG = feFuncG;\r\n var feFuncB = createNS('feFuncB');\r\n feFuncB.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFuncB);\r\n this.feFuncB = feFuncB;\r\n}\r\n\r\nSVGTritoneFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var color1 = this.filterManager.effectElements[0].p.v;\r\n var color2 = this.filterManager.effectElements[1].p.v;\r\n var color3 = this.filterManager.effectElements[2].p.v;\r\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\r\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\r\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\r\n this.feFuncR.setAttribute('tableValues', tableR);\r\n this.feFuncG.setAttribute('tableValues', tableG);\r\n this.feFuncB.setAttribute('tableValues', tableB);\r\n // var opacity = this.filterManager.effectElements[2].p.v/100;\r\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 ' + opacity + ' 0');\r\n }\r\n};\r\n\r\n/* global createNS */\r\n\r\nfunction SVGProLevelsFilter(filter, filterManager) {\r\n this.filterManager = filterManager;\r\n var effectElements = this.filterManager.effectElements;\r\n var feComponentTransfer = createNS('feComponentTransfer');\r\n\r\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) {\r\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\r\n }\r\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) {\r\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\r\n }\r\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) {\r\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\r\n }\r\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) {\r\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\r\n }\r\n\r\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\r\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\r\n filter.appendChild(feComponentTransfer);\r\n feComponentTransfer = createNS('feComponentTransfer');\r\n }\r\n\r\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) {\r\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\r\n filter.appendChild(feComponentTransfer);\r\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\r\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\r\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\r\n }\r\n}\r\n\r\nSVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\r\n var feFunc = createNS(type);\r\n feFunc.setAttribute('type', 'table');\r\n feComponentTransfer.appendChild(feFunc);\r\n return feFunc;\r\n};\r\n\r\nSVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\r\n var cnt = 0;\r\n var segments = 256;\r\n var perc;\r\n var min = Math.min(inputBlack, inputWhite);\r\n var max = Math.max(inputBlack, inputWhite);\r\n var table = Array.call(null, { length: segments });\r\n var colorValue;\r\n var pos = 0;\r\n var outputDelta = outputWhite - outputBlack;\r\n var inputDelta = inputWhite - inputBlack;\r\n while (cnt <= 256) {\r\n perc = cnt / 256;\r\n if (perc <= min) {\r\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\r\n } else if (perc >= max) {\r\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\r\n } else {\r\n colorValue = (outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma));\r\n }\r\n table[pos] = colorValue;\r\n pos += 1;\r\n cnt += 256 / (segments - 1);\r\n }\r\n return table.join(' ');\r\n};\r\n\r\nSVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n var val;\r\n var effectElements = this.filterManager.effectElements;\r\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)) {\r\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\r\n this.feFuncRComposed.setAttribute('tableValues', val);\r\n this.feFuncGComposed.setAttribute('tableValues', val);\r\n this.feFuncBComposed.setAttribute('tableValues', val);\r\n }\r\n\r\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)) {\r\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\r\n this.feFuncR.setAttribute('tableValues', val);\r\n }\r\n\r\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)) {\r\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\r\n this.feFuncG.setAttribute('tableValues', val);\r\n }\r\n\r\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)) {\r\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\r\n this.feFuncB.setAttribute('tableValues', val);\r\n }\r\n\r\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)) {\r\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\r\n this.feFuncA.setAttribute('tableValues', val);\r\n }\r\n }\r\n};\r\n\r\n/* global createNS, rgbToHex, degToRads */\r\n\r\nfunction SVGDropShadowEffect(filter, filterManager) {\r\n var filterSize = filterManager.container.globalData.renderConfig.filterSize;\r\n filter.setAttribute('x', filterSize.x);\r\n filter.setAttribute('y', filterSize.y);\r\n filter.setAttribute('width', filterSize.width);\r\n filter.setAttribute('height', filterSize.height);\r\n this.filterManager = filterManager;\r\n\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\r\n feGaussianBlur.setAttribute('result', 'drop_shadow_1');\r\n feGaussianBlur.setAttribute('stdDeviation', '0');\r\n this.feGaussianBlur = feGaussianBlur;\r\n filter.appendChild(feGaussianBlur);\r\n\r\n var feOffset = createNS('feOffset');\r\n feOffset.setAttribute('dx', '25');\r\n feOffset.setAttribute('dy', '0');\r\n feOffset.setAttribute('in', 'drop_shadow_1');\r\n feOffset.setAttribute('result', 'drop_shadow_2');\r\n this.feOffset = feOffset;\r\n filter.appendChild(feOffset);\r\n var feFlood = createNS('feFlood');\r\n feFlood.setAttribute('flood-color', '#00ff00');\r\n feFlood.setAttribute('flood-opacity', '1');\r\n feFlood.setAttribute('result', 'drop_shadow_3');\r\n this.feFlood = feFlood;\r\n filter.appendChild(feFlood);\r\n\r\n var feComposite = createNS('feComposite');\r\n feComposite.setAttribute('in', 'drop_shadow_3');\r\n feComposite.setAttribute('in2', 'drop_shadow_2');\r\n feComposite.setAttribute('operator', 'in');\r\n feComposite.setAttribute('result', 'drop_shadow_4');\r\n filter.appendChild(feComposite);\r\n\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in', 'SourceGraphic');\r\n this.feMergeNode = feMergeNode;\r\n this.feMerge = feMerge;\r\n this.originalNodeAdded = false;\r\n feMerge.appendChild(feMergeNode);\r\n}\r\n\r\nSVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\r\n if (forceRender || this.filterManager._mdf) {\r\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\r\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\r\n }\r\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\r\n var col = this.filterManager.effectElements[0].p.v;\r\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\r\n }\r\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\r\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\r\n }\r\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\r\n var distance = this.filterManager.effectElements[3].p.v;\r\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\r\n var x = distance * Math.cos(angle);\r\n var y = distance * Math.sin(angle);\r\n this.feOffset.setAttribute('dx', x);\r\n this.feOffset.setAttribute('dy', y);\r\n }\r\n /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n this.feMerge.removeChild(this.feMergeNode);\r\n this.originalNodeAdded = false;\r\n } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n this.feMerge.appendChild(this.feMergeNode);\r\n this.originalNodeAdded = true;\r\n }\r\n } */\r\n }\r\n};\r\n\r\n/* global createElementID, createNS */\r\n\r\nvar _svgMatteSymbols = [];\r\n\r\nfunction SVGMatte3Effect(filterElem, filterManager, elem) {\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.filterElem = filterElem;\r\n this.elem = elem;\r\n elem.matteElement = createNS('g');\r\n elem.matteElement.appendChild(elem.layerElement);\r\n elem.matteElement.appendChild(elem.transformedElement);\r\n elem.baseElement = elem.matteElement;\r\n}\r\n\r\nSVGMatte3Effect.prototype.findSymbol = function (mask) {\r\n var i = 0;\r\n var len = _svgMatteSymbols.length;\r\n while (i < len) {\r\n if (_svgMatteSymbols[i] === mask) {\r\n return _svgMatteSymbols[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nSVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\r\n var parentNode = mask.layerElement.parentNode;\r\n if (!parentNode) {\r\n return;\r\n }\r\n var children = parentNode.children;\r\n var i = 0;\r\n var len = children.length;\r\n while (i < len) {\r\n if (children[i] === mask.layerElement) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n var nextChild;\r\n if (i <= len - 2) {\r\n nextChild = children[i + 1];\r\n }\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n if (nextChild) {\r\n parentNode.insertBefore(useElem, nextChild);\r\n } else {\r\n parentNode.appendChild(useElem);\r\n }\r\n};\r\n\r\nSVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\r\n if (!this.findSymbol(mask)) {\r\n var symbolId = createElementID();\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', mask.layerId);\r\n masker.setAttribute('mask-type', 'alpha');\r\n _svgMatteSymbols.push(mask);\r\n var defs = elem.globalData.defs;\r\n defs.appendChild(masker);\r\n var symbol = createNS('symbol');\r\n symbol.setAttribute('id', symbolId);\r\n this.replaceInParent(mask, symbolId);\r\n symbol.appendChild(mask.layerElement);\r\n defs.appendChild(symbol);\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n masker.appendChild(useElem);\r\n mask.data.hd = false;\r\n mask.show();\r\n }\r\n elem.setMatte(mask.layerId);\r\n};\r\n\r\nSVGMatte3Effect.prototype.initialize = function () {\r\n var ind = this.filterManager.effectElements[0].p.v;\r\n var elements = this.elem.comp.elements;\r\n var i = 0;\r\n var len = elements.length;\r\n while (i < len) {\r\n if (elements[i] && elements[i].data.ind === ind) {\r\n this.setElementAsMask(this.elem, elements[i]);\r\n }\r\n i += 1;\r\n }\r\n this.initialized = true;\r\n};\r\n\r\nSVGMatte3Effect.prototype.renderFrame = function () {\r\n if (!this.initialized) {\r\n this.initialize();\r\n }\r\n};\r\n\r\n/* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\nSVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\r\n\r\nfunction SVGEffects(elem) {\r\n var i;\r\n var len = elem.data.ef ? elem.data.ef.length : 0;\r\n var filId = createElementID();\r\n var fil = filtersFactory.createFilter(filId, true);\r\n var count = 0;\r\n this.filters = [];\r\n var filterManager;\r\n for (i = 0; i < len; i += 1) {\r\n filterManager = null;\r\n if (elem.data.ef[i].ty === 20) {\r\n count += 1;\r\n filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 21) {\r\n count += 1;\r\n filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 22) {\r\n filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 23) {\r\n count += 1;\r\n filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 24) {\r\n count += 1;\r\n filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 25) {\r\n count += 1;\r\n filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\r\n } else if (elem.data.ef[i].ty === 28) {\r\n // count += 1;\r\n filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\r\n } else if (elem.data.ef[i].ty === 29) {\r\n count += 1;\r\n filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\r\n }\r\n if (filterManager) {\r\n this.filters.push(filterManager);\r\n }\r\n }\r\n if (count) {\r\n elem.globalData.defs.appendChild(fil);\r\n elem.layerElement.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\r\n }\r\n if (this.filters.length) {\r\n elem.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nSVGEffects.prototype.renderFrame = function (_isFirstFrame) {\r\n var i;\r\n var len = this.filters.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.filters[i].renderFrame(_isFirstFrame);\r\n }\r\n};\r\n\r\n/* global Matrix, createTypedArray */\r\n\r\nfunction CVContextData() {\r\n this.saved = [];\r\n this.cArrPos = 0;\r\n this.cTr = new Matrix();\r\n this.cO = 1;\r\n var i;\r\n var len = 15;\r\n this.savedOp = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.saved[i] = createTypedArray('float32', 16);\r\n }\r\n this._length = len;\r\n}\r\n\r\nCVContextData.prototype.duplicate = function () {\r\n var newLength = this._length * 2;\r\n var currentSavedOp = this.savedOp;\r\n this.savedOp = createTypedArray('float32', newLength);\r\n this.savedOp.set(currentSavedOp);\r\n var i = 0;\r\n for (i = this._length; i < newLength; i += 1) {\r\n this.saved[i] = createTypedArray('float32', 16);\r\n }\r\n this._length = newLength;\r\n};\r\n\r\nCVContextData.prototype.reset = function () {\r\n this.cArrPos = 0;\r\n this.cTr.reset();\r\n this.cO = 1;\r\n};\r\n\r\n/* global CVEffects, getBlendMode, CVMaskElement, Matrix */\r\n\r\nfunction CVBaseElement() {\r\n}\r\n\r\nCVBaseElement.prototype = {\r\n createElements: function () {},\r\n initRendererElement: function () {},\r\n createContainerElements: function () {\r\n this.canvasContext = this.globalData.canvasContext;\r\n this.renderableEffectsManager = new CVEffects(this);\r\n },\r\n createContent: function () {},\r\n setBlendMode: function () {\r\n var globalData = this.globalData;\r\n if (globalData.blendMode !== this.data.bm) {\r\n globalData.blendMode = this.data.bm;\r\n var blendModeValue = getBlendMode(this.data.bm);\r\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\r\n }\r\n },\r\n createRenderableComponents: function () {\r\n this.maskManager = new CVMaskElement(this.data, this);\r\n },\r\n hideElement: function () {\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n this.hidden = true;\r\n }\r\n },\r\n showElement: function () {\r\n if (this.isInRange && !this.isTransparent) {\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n this.maskManager._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function () {\r\n if (this.hidden || this.data.hd) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.setBlendMode();\r\n var forceRealStack = this.data.ty === 0;\r\n this.globalData.renderer.save(forceRealStack);\r\n this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);\r\n this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);\r\n this.renderInnerContent();\r\n this.globalData.renderer.restore(forceRealStack);\r\n if (this.maskManager.hasMasks) {\r\n this.globalData.renderer.restore(true);\r\n }\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n destroy: function () {\r\n this.canvasContext = null;\r\n this.data = null;\r\n this.globalData = null;\r\n this.maskManager.destroy();\r\n },\r\n mHelper: new Matrix(),\r\n};\r\nCVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\r\nCVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\nRenderableElement, SVGShapeElement, IImageElement, createTag */\r\n\r\nfunction CVImageElement(data, globalData, comp) {\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.img = globalData.imageLoader.getAsset(this.assetData);\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\r\n\r\nCVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVImageElement.prototype.createContent = function () {\r\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\r\n var canvas = createTag('canvas');\r\n canvas.width = this.assetData.w;\r\n canvas.height = this.assetData.h;\r\n var ctx = canvas.getContext('2d');\r\n\r\n var imgW = this.img.width;\r\n var imgH = this.img.height;\r\n var imgRel = imgW / imgH;\r\n var canvasRel = this.assetData.w / this.assetData.h;\r\n var widthCrop;\r\n var heightCrop;\r\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\r\n if ((imgRel > canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {\r\n heightCrop = imgH;\r\n widthCrop = heightCrop * canvasRel;\r\n } else {\r\n widthCrop = imgW;\r\n heightCrop = widthCrop / canvasRel;\r\n }\r\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\r\n this.img = canvas;\r\n }\r\n};\r\n\r\nCVImageElement.prototype.renderInnerContent = function () {\r\n this.canvasContext.drawImage(this.img, 0, 0);\r\n};\r\n\r\nCVImageElement.prototype.destroy = function () {\r\n this.img = null;\r\n};\r\n\r\n/* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\r\n\r\nfunction CVCompElement(data, globalData, comp) {\r\n this.completeLayers = false;\r\n this.layers = data.layers;\r\n this.pendingElements = [];\r\n this.elements = createSizedArray(this.layers.length);\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nextendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\r\n\r\nCVCompElement.prototype.renderInnerContent = function () {\r\n var ctx = this.canvasContext;\r\n ctx.beginPath();\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.data.w, 0);\r\n ctx.lineTo(this.data.w, this.data.h);\r\n ctx.lineTo(0, this.data.h);\r\n ctx.lineTo(0, 0);\r\n ctx.clip();\r\n var i;\r\n var len = this.layers.length;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.completeLayers || this.elements[i]) {\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nCVCompElement.prototype.destroy = function () {\r\n var i;\r\n var len = this.layers.length;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n if (this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.layers = null;\r\n this.elements = null;\r\n};\r\n\r\n/* global createSizedArray, ShapePropertyFactory, MaskElement */\r\n\r\nfunction CVMaskElement(data, element) {\r\n this.data = data;\r\n this.element = element;\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.viewData = createSizedArray(this.masksProperties.length);\r\n var i;\r\n var len = this.masksProperties.length;\r\n var hasMasks = false;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.masksProperties[i].mode !== 'n') {\r\n hasMasks = true;\r\n }\r\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\r\n }\r\n this.hasMasks = hasMasks;\r\n if (hasMasks) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nCVMaskElement.prototype.renderFrame = function () {\r\n if (!this.hasMasks) {\r\n return;\r\n }\r\n var transform = this.element.finalTransform.mat;\r\n var ctx = this.element.canvasContext;\r\n var i;\r\n var len = this.masksProperties.length;\r\n var pt;\r\n var pts;\r\n var data;\r\n ctx.beginPath();\r\n for (i = 0; i < len; i += 1) {\r\n if (this.masksProperties[i].mode !== 'n') {\r\n if (this.masksProperties[i].inv) {\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, 0);\r\n }\r\n data = this.viewData[i].v;\r\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\r\n ctx.moveTo(pt[0], pt[1]);\r\n var j;\r\n var jLen = data._length;\r\n for (j = 1; j < jLen; j += 1) {\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n }\r\n this.element.globalData.renderer.save(true);\r\n ctx.clip();\r\n};\r\n\r\nCVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\r\n\r\nCVMaskElement.prototype.destroy = function () {\r\n this.element = null;\r\n};\r\n\r\n/* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\nHierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\nDashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor, lineCapEnum, lineJoinEnum */\r\n\r\nfunction CVShapeElement(data, globalData, comp) {\r\n this.shapes = [];\r\n this.shapesData = data.shapes;\r\n this.stylesList = [];\r\n this.itemsData = [];\r\n this.prevViewData = [];\r\n this.shapeModifiers = [];\r\n this.processedElements = [];\r\n this.transformsManager = new ShapeTransformManager();\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\r\n\r\nCVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\r\n\r\nCVShapeElement.prototype.transformHelper = { opacity: 1, _opMdf: false };\r\n\r\nCVShapeElement.prototype.dashResetter = [];\r\n\r\nCVShapeElement.prototype.createContent = function () {\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\r\n};\r\n\r\nCVShapeElement.prototype.createStyleElement = function (data, transforms) {\r\n var styleElem = {\r\n data: data,\r\n type: data.ty,\r\n preTransforms: this.transformsManager.addTransformSequence(transforms),\r\n transforms: [],\r\n elements: [],\r\n closed: data.hd === true,\r\n };\r\n var elementData = {};\r\n if (data.ty === 'fl' || data.ty === 'st') {\r\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\r\n if (!elementData.c.k) {\r\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\r\n }\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\r\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\r\n elementData.h = PropertyFactory.getProp(this, data.h || { k: 0 }, 0, 0.01, this);\r\n elementData.a = PropertyFactory.getProp(this, data.a || { k: 0 }, 0, degToRads, this);\r\n elementData.g = new GradientProperty(this, data.g, this);\r\n }\r\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\r\n if (data.ty === 'st' || data.ty === 'gs') {\r\n styleElem.lc = lineCapEnum[data.lc || 2];\r\n styleElem.lj = lineJoinEnum[data.lj || 2];\r\n if (data.lj == 1) { // eslint-disable-line eqeqeq\r\n styleElem.ml = data.ml;\r\n }\r\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\r\n if (!elementData.w.k) {\r\n styleElem.wi = elementData.w.v;\r\n }\r\n if (data.d) {\r\n var d = new DashProperty(this, data.d, 'canvas', this);\r\n elementData.d = d;\r\n if (!elementData.d.k) {\r\n styleElem.da = elementData.d.dashArray;\r\n styleElem.do = elementData.d.dashoffset[0];\r\n }\r\n }\r\n } else {\r\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\r\n }\r\n this.stylesList.push(styleElem);\r\n elementData.style = styleElem;\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createGroupElement = function () {\r\n var elementData = {\r\n it: [],\r\n prevViewData: [],\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createTransformElement = function (data) {\r\n var elementData = {\r\n transform: {\r\n opacity: 1,\r\n _opMdf: false,\r\n key: this.transformsManager.getNewKey(),\r\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\r\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this),\r\n },\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createShapeElement = function (data) {\r\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\r\n\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.reloadShapes = function () {\r\n this._isFirstFrame = true;\r\n var i;\r\n var len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n};\r\n\r\nCVShapeElement.prototype.addTransformToStyleList = function (transform) {\r\n var i;\r\n var len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.push(transform);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.removeTransformFromStyleList = function () {\r\n var i;\r\n var len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.pop();\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.closeStyles = function (styles) {\r\n var i;\r\n var len = styles.length;\r\n for (i = 0; i < len; i += 1) {\r\n styles[i].closed = true;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\r\n var i;\r\n var len = arr.length - 1;\r\n var j;\r\n var jLen;\r\n var ownStyles = [];\r\n var ownModifiers = [];\r\n var processedPos;\r\n var modifier;\r\n var currentTransform;\r\n var ownTransforms = [].concat(transforms);\r\n for (i = len; i >= 0; i -= 1) {\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if (!processedPos) {\r\n arr[i]._shouldRender = shouldRender;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n\r\n ownStyles.push(itemsData[i].style);\r\n } else if (arr[i].ty === 'gr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\r\n }\r\n }\r\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\r\n } else if (arr[i].ty === 'tr') {\r\n if (!processedPos) {\r\n currentTransform = this.createTransformElement(arr[i]);\r\n itemsData[i] = currentTransform;\r\n }\r\n ownTransforms.push(itemsData[i]);\r\n this.addTransformToStyleList(itemsData[i]);\r\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\r\n if (!processedPos) {\r\n itemsData[i] = this.createShapeElement(arr[i]);\r\n }\r\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n modifier.init(this, arr[i]);\r\n itemsData[i] = modifier;\r\n this.shapeModifiers.push(modifier);\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = false;\r\n }\r\n ownModifiers.push(modifier);\r\n } else if (arr[i].ty === 'rp') {\r\n if (!processedPos) {\r\n modifier = ShapeModifiers.getModifier(arr[i].ty);\r\n itemsData[i] = modifier;\r\n modifier.init(this, arr, i, itemsData);\r\n this.shapeModifiers.push(modifier);\r\n shouldRender = false;\r\n } else {\r\n modifier = itemsData[i];\r\n modifier.closed = true;\r\n }\r\n ownModifiers.push(modifier);\r\n }\r\n this.addProcessedElement(arr[i], i + 1);\r\n }\r\n this.removeTransformFromStyleList();\r\n this.closeStyles(ownStyles);\r\n len = ownModifiers.length;\r\n for (i = 0; i < len; i += 1) {\r\n ownModifiers[i].closed = true;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderInnerContent = function () {\r\n this.transformHelper.opacity = 1;\r\n this.transformHelper._opMdf = false;\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\r\n};\r\n\r\nCVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\r\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\r\n groupTransform.opacity = parentTransform.opacity;\r\n groupTransform.opacity *= groupTransform.op.v;\r\n groupTransform._opMdf = true;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.drawLayer = function () {\r\n var i;\r\n var len = this.stylesList.length;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n var elems;\r\n var nodes;\r\n var renderer = this.globalData.renderer;\r\n var ctx = this.globalData.canvasContext;\r\n var type;\r\n var currentStyle;\r\n for (i = 0; i < len; i += 1) {\r\n currentStyle = this.stylesList[i];\r\n type = currentStyle.type;\r\n\r\n // Skipping style when\r\n // Stroke width equals 0\r\n // style should not be rendered (extra unused repeaters)\r\n // current opacity equals 0\r\n // global opacity equals 0\r\n if (!(((type === 'st' || type === 'gs') && currentStyle.wi === 0) || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\r\n renderer.save();\r\n elems = currentStyle.elements;\r\n if (type === 'st' || type === 'gs') {\r\n ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\r\n ctx.lineWidth = currentStyle.wi;\r\n ctx.lineCap = currentStyle.lc;\r\n ctx.lineJoin = currentStyle.lj;\r\n ctx.miterLimit = currentStyle.ml || 0;\r\n } else {\r\n ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\r\n }\r\n renderer.ctxOpacity(currentStyle.coOp);\r\n if (type !== 'st' && type !== 'gs') {\r\n ctx.beginPath();\r\n }\r\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\r\n jLen = elems.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (type === 'st' || type === 'gs') {\r\n ctx.beginPath();\r\n if (currentStyle.da) {\r\n ctx.setLineDash(currentStyle.da);\r\n ctx.lineDashOffset = currentStyle.do;\r\n }\r\n }\r\n nodes = elems[j].trNodes;\r\n kLen = nodes.length;\r\n\r\n for (k = 0; k < kLen; k += 1) {\r\n if (nodes[k].t === 'm') {\r\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\r\n } else if (nodes[k].t === 'c') {\r\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]);\r\n } else {\r\n ctx.closePath();\r\n }\r\n }\r\n if (type === 'st' || type === 'gs') {\r\n ctx.stroke();\r\n if (currentStyle.da) {\r\n ctx.setLineDash(this.dashResetter);\r\n }\r\n }\r\n }\r\n if (type !== 'st' && type !== 'gs') {\r\n ctx.fill(currentStyle.r);\r\n }\r\n renderer.restore();\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\r\n var i;\r\n var len = items.length - 1;\r\n var groupTransform;\r\n groupTransform = parentTransform;\r\n for (i = len; i >= 0; i -= 1) {\r\n if (items[i].ty === 'tr') {\r\n groupTransform = data[i].transform;\r\n this.renderShapeTransform(parentTransform, groupTransform);\r\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\r\n this.renderPath(items[i], data[i]);\r\n } else if (items[i].ty === 'fl') {\r\n this.renderFill(items[i], data[i], groupTransform);\r\n } else if (items[i].ty === 'st') {\r\n this.renderStroke(items[i], data[i], groupTransform);\r\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\r\n this.renderGradientFill(items[i], data[i], groupTransform);\r\n } else if (items[i].ty === 'gr') {\r\n this.renderShape(groupTransform, items[i].it, data[i].it);\r\n } else if (items[i].ty === 'tm') {\r\n //\r\n }\r\n }\r\n if (isMain) {\r\n this.drawLayer();\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\r\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\r\n var shapeNodes = styledShape.trNodes;\r\n var paths = shape.paths;\r\n var i;\r\n var len;\r\n var j;\r\n var jLen = paths._length;\r\n shapeNodes.length = 0;\r\n var groupTransformMat = styledShape.transforms.finalTransform;\r\n for (j = 0; j < jLen; j += 1) {\r\n var pathNodes = paths.shapes[j];\r\n if (pathNodes && pathNodes.v) {\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\n if (i === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0),\r\n });\r\n }\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i]),\r\n });\r\n }\r\n if (len === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0),\r\n });\r\n }\r\n if (pathNodes.c && len) {\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0]),\r\n });\r\n shapeNodes.push({\r\n t: 'z',\r\n });\r\n }\r\n }\r\n }\r\n styledShape.trNodes = shapeNodes;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderPath = function (pathData, itemData) {\r\n if (pathData.hd !== true && pathData._shouldRender) {\r\n var i;\r\n var len = itemData.styledShapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb('\r\n + bmFloor(itemData.c.v[0]) + ','\r\n + bmFloor(itemData.c.v[1]) + ','\r\n + bmFloor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\r\n var styleElem = itemData.style;\r\n var grd;\r\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {\r\n var ctx = this.globalData.canvasContext;\r\n var pt1 = itemData.s.v;\r\n var pt2 = itemData.e.v;\r\n if (styleData.t === 1) {\r\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\r\n } else {\r\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v;\r\n if (percent >= 1) {\r\n percent = 0.99;\r\n } else if (percent <= -1) {\r\n percent = -0.99;\r\n }\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\r\n }\r\n\r\n var i;\r\n var len = styleData.g.p;\r\n var cValues = itemData.g.c;\r\n var opacity = 1;\r\n\r\n for (i = 0; i < len; i += 1) {\r\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\r\n opacity = itemData.g.o[i * 2 + 1];\r\n }\r\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\r\n }\r\n styleElem.grd = grd;\r\n }\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n};\r\n\r\nCVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if (d && (d._mdf || this._isFirstFrame)) {\r\n styleElem.da = d.dashArray;\r\n styleElem.do = d.dashoffset[0];\r\n }\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n if (itemData.w._mdf || this._isFirstFrame) {\r\n styleElem.wi = itemData.w.v;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.destroy = function () {\r\n this.shapesData = null;\r\n this.globalData = null;\r\n this.canvasContext = null;\r\n this.stylesList.length = 0;\r\n this.itemsData.length = 0;\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\nSVGShapeElement, IImageElement */\r\n\r\nfunction CVSolidElement(data, globalData, comp) {\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\r\n\r\nCVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVSolidElement.prototype.renderInnerContent = function () {\r\n var ctx = this.canvasContext;\r\n ctx.fillStyle = this.data.sc;\r\n ctx.fillRect(0, 0, this.data.sw, this.data.sh);\r\n //\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\nRenderableElement, ITextElement, createTag, createSizedArray */\r\n\r\nfunction CVTextElement(data, globalData, comp) {\r\n this.textSpans = [];\r\n this.yOffset = 0;\r\n this.fillColorAnim = false;\r\n this.strokeColorAnim = false;\r\n this.strokeWidthAnim = false;\r\n this.stroke = false;\r\n this.fill = false;\r\n this.justifyOffset = 0;\r\n this.currentRender = null;\r\n this.renderType = 'canvas';\r\n this.values = {\r\n fill: 'rgba(0,0,0,0)',\r\n stroke: 'rgba(0,0,0,0)',\r\n sWidth: 0,\r\n fValue: '',\r\n };\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\r\n\r\nCVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\r\n\r\nCVTextElement.prototype.buildNewText = function () {\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n\r\n var hasFill = false;\r\n if (documentData.fc) {\r\n hasFill = true;\r\n this.values.fill = this.buildColor(documentData.fc);\r\n } else {\r\n this.values.fill = 'rgba(0,0,0,0)';\r\n }\r\n this.fill = hasFill;\r\n var hasStroke = false;\r\n if (documentData.sc) {\r\n hasStroke = true;\r\n this.values.stroke = this.buildColor(documentData.sc);\r\n this.values.sWidth = documentData.sw;\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n var i;\r\n var len;\r\n var letters = documentData.l;\r\n var matrixHelper = this.mHelper;\r\n this.stroke = hasStroke;\r\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\r\n len = documentData.finalText.length;\r\n // this.tHelper.font = this.values.fValue;\r\n var charData;\r\n var shapeData;\r\n var k;\r\n var kLen;\r\n var shapes;\r\n var j;\r\n var jLen;\r\n var pathNodes;\r\n var commands;\r\n var pathArr;\r\n var singleShape = this.data.singleShape;\r\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\r\n var xPos = 0;\r\n var yPos = 0;\r\n var firstLine = true;\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = (charData && charData.data) || {};\r\n matrixHelper.reset();\r\n if (singleShape && letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n jLen = shapes.length;\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n }\r\n commands = createSizedArray(jLen);\r\n for (j = 0; j < jLen; j += 1) {\r\n kLen = shapes[j].ks.k.i.length;\r\n pathNodes = shapes[j].ks.k;\r\n pathArr = [];\r\n for (k = 1; k < kLen; k += 1) {\r\n if (k === 1) {\r\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));\r\n }\r\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));\r\n }\r\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));\r\n commands[j] = pathArr;\r\n }\r\n if (singleShape) {\r\n xPos += letters[i].l;\r\n xPos += trackingOffset;\r\n }\r\n if (this.textSpans[cnt]) {\r\n this.textSpans[cnt].elem = commands;\r\n } else {\r\n this.textSpans[cnt] = { elem: commands };\r\n }\r\n cnt += 1;\r\n }\r\n};\r\n\r\nCVTextElement.prototype.renderInnerContent = function () {\r\n var ctx = this.canvasContext;\r\n ctx.font = this.values.fValue;\r\n ctx.lineCap = 'butt';\r\n ctx.lineJoin = 'miter';\r\n ctx.miterLimit = 4;\r\n\r\n if (!this.data.singleShape) {\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n }\r\n\r\n var i;\r\n var len;\r\n var j;\r\n var jLen;\r\n var k;\r\n var kLen;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter;\r\n var lastFill = null;\r\n var lastStroke = null;\r\n var lastStrokeW = null;\r\n var commands;\r\n var pathArr;\r\n for (i = 0; i < len; i += 1) {\r\n if (!letters[i].n) {\r\n renderedLetter = renderedLetters[i];\r\n if (renderedLetter) {\r\n this.globalData.renderer.save();\r\n this.globalData.renderer.ctxTransform(renderedLetter.p);\r\n this.globalData.renderer.ctxOpacity(renderedLetter.o);\r\n }\r\n if (this.fill) {\r\n if (renderedLetter && renderedLetter.fc) {\r\n if (lastFill !== renderedLetter.fc) {\r\n lastFill = renderedLetter.fc;\r\n ctx.fillStyle = renderedLetter.fc;\r\n }\r\n } else if (lastFill !== this.values.fill) {\r\n lastFill = this.values.fill;\r\n ctx.fillStyle = this.values.fill;\r\n }\r\n commands = this.textSpans[i].elem;\r\n jLen = commands.length;\r\n this.globalData.canvasContext.beginPath();\r\n for (j = 0; j < jLen; j += 1) {\r\n pathArr = commands[j];\r\n kLen = pathArr.length;\r\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\r\n for (k = 2; k < kLen; k += 6) {\r\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\r\n }\r\n }\r\n this.globalData.canvasContext.closePath();\r\n this.globalData.canvasContext.fill();\r\n /// ctx.fillText(this.textSpans[i].val,0,0);\r\n }\r\n if (this.stroke) {\r\n if (renderedLetter && renderedLetter.sw) {\r\n if (lastStrokeW !== renderedLetter.sw) {\r\n lastStrokeW = renderedLetter.sw;\r\n ctx.lineWidth = renderedLetter.sw;\r\n }\r\n } else if (lastStrokeW !== this.values.sWidth) {\r\n lastStrokeW = this.values.sWidth;\r\n ctx.lineWidth = this.values.sWidth;\r\n }\r\n if (renderedLetter && renderedLetter.sc) {\r\n if (lastStroke !== renderedLetter.sc) {\r\n lastStroke = renderedLetter.sc;\r\n ctx.strokeStyle = renderedLetter.sc;\r\n }\r\n } else if (lastStroke !== this.values.stroke) {\r\n lastStroke = this.values.stroke;\r\n ctx.strokeStyle = this.values.stroke;\r\n }\r\n commands = this.textSpans[i].elem;\r\n jLen = commands.length;\r\n this.globalData.canvasContext.beginPath();\r\n for (j = 0; j < jLen; j += 1) {\r\n pathArr = commands[j];\r\n kLen = pathArr.length;\r\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\r\n for (k = 2; k < kLen; k += 6) {\r\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\r\n }\r\n }\r\n this.globalData.canvasContext.closePath();\r\n this.globalData.canvasContext.stroke();\r\n /// ctx.strokeText(letters[i].val,0,0);\r\n }\r\n if (renderedLetter) {\r\n this.globalData.renderer.restore();\r\n }\r\n }\r\n }\r\n};\r\n\r\nfunction CVEffects() {\r\n\r\n}\r\nCVEffects.prototype.renderFrame = function () {};\r\n\r\n/* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\r\n\r\nfunction HBaseElement() {}\r\nHBaseElement.prototype = {\r\n checkBlendMode: function () {},\r\n initRendererElement: function () {\r\n this.baseElement = createTag(this.data.tg || 'div');\r\n if (this.data.hasMask) {\r\n this.svgElement = createNS('svg');\r\n this.layerElement = createNS('g');\r\n this.maskedElement = this.layerElement;\r\n this.svgElement.appendChild(this.layerElement);\r\n this.baseElement.appendChild(this.svgElement);\r\n } else {\r\n this.layerElement = this.baseElement;\r\n }\r\n styleDiv(this.baseElement);\r\n },\r\n createContainerElements: function () {\r\n this.renderableEffectsManager = new CVEffects(this);\r\n this.transformedElement = this.baseElement;\r\n this.maskedElement = this.layerElement;\r\n if (this.data.ln) {\r\n this.layerElement.setAttribute('id', this.data.ln);\r\n }\r\n if (this.data.cl) {\r\n this.layerElement.setAttribute('class', this.data.cl);\r\n }\r\n if (this.data.bm !== 0) {\r\n this.setBlendMode();\r\n }\r\n },\r\n renderElement: function () {\r\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\r\n if (this.finalTransform._matMdf) {\r\n var matrixValue = this.finalTransform.mat.toCSS();\r\n transformedElementStyle.transform = matrixValue;\r\n transformedElementStyle.webkitTransform = matrixValue;\r\n }\r\n if (this.finalTransform._opMdf) {\r\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\r\n }\r\n },\r\n renderFrame: function () {\r\n // If it is exported as hidden (data.hd === true) no need to render\r\n // If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n destroy: function () {\r\n this.layerElement = null;\r\n this.transformedElement = null;\r\n if (this.matteElement) {\r\n this.matteElement = null;\r\n }\r\n if (this.maskManager) {\r\n this.maskManager.destroy();\r\n this.maskManager = null;\r\n }\r\n },\r\n createRenderableComponents: function () {\r\n this.maskManager = new MaskElement(this.data, this, this.globalData);\r\n },\r\n addEffects: function () {\r\n },\r\n setMatte: function () {},\r\n};\r\nHBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\r\nHBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\r\nHBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\nRenderableDOMElement, createNS, createTag */\r\n\r\nfunction HSolidElement(data, globalData, comp) {\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\r\n\r\nHSolidElement.prototype.createContent = function () {\r\n var rect;\r\n if (this.data.hasMask) {\r\n rect = createNS('rect');\r\n rect.setAttribute('width', this.data.sw);\r\n rect.setAttribute('height', this.data.sh);\r\n rect.setAttribute('fill', this.data.sc);\r\n this.svgElement.setAttribute('width', this.data.sw);\r\n this.svgElement.setAttribute('height', this.data.sh);\r\n } else {\r\n rect = createTag('div');\r\n rect.style.width = this.data.sw + 'px';\r\n rect.style.height = this.data.sh + 'px';\r\n rect.style.backgroundColor = this.data.sc;\r\n }\r\n this.layerElement.appendChild(rect);\r\n};\r\n\r\n/* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\r\n\r\nfunction HCompElement(data, globalData, comp) {\r\n this.layers = data.layers;\r\n this.supports3d = !data.hasMask;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };\r\n}\r\n\r\nextendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\r\nHCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\r\n\r\nHCompElement.prototype.createContainerElements = function () {\r\n this._createBaseContainerElements();\r\n // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\r\n if (this.data.hasMask) {\r\n this.svgElement.setAttribute('width', this.data.w);\r\n this.svgElement.setAttribute('height', this.data.h);\r\n this.transformedElement = this.baseElement;\r\n } else {\r\n this.transformedElement = this.layerElement;\r\n }\r\n};\r\n\r\nHCompElement.prototype.addTo3dContainer = function (elem, pos) {\r\n var j = 0;\r\n var nextElement;\r\n while (j < pos) {\r\n if (this.elements[j] && this.elements[j].getBaseElement) {\r\n nextElement = this.elements[j].getBaseElement();\r\n }\r\n j += 1;\r\n }\r\n if (nextElement) {\r\n this.layerElement.insertBefore(elem, nextElement);\r\n } else {\r\n this.layerElement.appendChild(elem);\r\n }\r\n};\r\n\r\n/* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\nHierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\r\n\r\nfunction HShapeElement(data, globalData, comp) {\r\n // List of drawable elements\r\n this.shapes = [];\r\n // Full shape data\r\n this.shapesData = data.shapes;\r\n // List of styles that will be applied to shapes\r\n this.stylesList = [];\r\n // List of modifiers that will be applied to shapes\r\n this.shapeModifiers = [];\r\n // List of items in shape tree\r\n this.itemsData = [];\r\n // List of items in previous shape tree\r\n this.processedElements = [];\r\n // List of animated components\r\n this.animatedContents = [];\r\n this.shapesContainer = createNS('g');\r\n this.initElement(data, globalData, comp);\r\n // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\r\n // List of elements that have been created\r\n this.prevViewData = [];\r\n this.currentBBox = {\r\n x: 999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0,\r\n };\r\n}\r\nextendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\r\nHShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\r\n\r\nHShapeElement.prototype.createContent = function () {\r\n var cont;\r\n this.baseElement.style.fontSize = 0;\r\n if (this.data.hasMask) {\r\n this.layerElement.appendChild(this.shapesContainer);\r\n cont = this.svgElement;\r\n } else {\r\n cont = createNS('svg');\r\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\r\n cont.setAttribute('width', size.w);\r\n cont.setAttribute('height', size.h);\r\n cont.appendChild(this.shapesContainer);\r\n this.layerElement.appendChild(cont);\r\n }\r\n\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\r\n this.filterUniqueShapes();\r\n this.shapeCont = cont;\r\n};\r\n\r\nHShapeElement.prototype.getTransformedPoint = function (transformers, point) {\r\n var i;\r\n var len = transformers.length;\r\n for (i = 0; i < len; i += 1) {\r\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\r\n }\r\n return point;\r\n};\r\n\r\nHShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\r\n var shape = item.sh.v;\r\n var transformers = item.transformers;\r\n var i;\r\n var len = shape._length;\r\n var vPoint;\r\n var oPoint;\r\n var nextIPoint;\r\n var nextVPoint;\r\n if (len <= 1) {\r\n return;\r\n }\r\n for (i = 0; i < len - 1; i += 1) {\r\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\r\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\r\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\r\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\r\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\r\n }\r\n if (shape.c) {\r\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\r\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\r\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\r\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\r\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\r\n }\r\n};\r\n\r\nHShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\r\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\r\n var bounds = this.shapeBoundingBox;\r\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\r\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\r\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\r\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\r\n};\r\n\r\nHShapeElement.prototype.shapeBoundingBox = {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n};\r\n\r\nHShapeElement.prototype.tempBoundingBox = {\r\n x: 0,\r\n xMax: 0,\r\n y: 0,\r\n yMax: 0,\r\n width: 0,\r\n height: 0,\r\n};\r\n\r\nHShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\r\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\r\n\r\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) { // eslint-disable-line no-plusplus\r\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\r\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\r\n c = 3 * p1[i] - 3 * p0[i];\r\n\r\n b |= 0; // eslint-disable-line no-bitwise\r\n a |= 0; // eslint-disable-line no-bitwise\r\n c |= 0; // eslint-disable-line no-bitwise\r\n\r\n if (a === 0 && b === 0) {\r\n //\r\n } else if (a === 0) {\r\n t = -c / b;\r\n\r\n if (t > 0 && t < 1) {\r\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\r\n }\r\n } else {\r\n b2ac = b * b - 4 * c * a;\r\n\r\n if (b2ac >= 0) {\r\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\r\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\r\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\r\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\r\n }\r\n }\r\n }\r\n\r\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\r\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\r\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\r\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\r\n};\r\n\r\nHShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\r\n return bmPow(1 - t, 3) * p0[i]\r\n + 3 * bmPow(1 - t, 2) * t * p1[i]\r\n + 3 * (1 - t) * bmPow(t, 2) * p2[i]\r\n + bmPow(t, 3) * p3[i];\r\n};\r\n\r\nHShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\r\n var i;\r\n var len = itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (itemsData[i] && itemsData[i].sh) {\r\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\r\n } else if (itemsData[i] && itemsData[i].it) {\r\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\r\n }\r\n }\r\n};\r\n\r\nHShapeElement.prototype.currentBoxContains = function (box) {\r\n return this.currentBBox.x <= box.x\r\n && this.currentBBox.y <= box.y\r\n && this.currentBBox.width + this.currentBBox.x >= box.x + box.width\r\n && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\r\n};\r\n\r\nHShapeElement.prototype.renderInnerContent = function () {\r\n this._renderShapeFrame();\r\n\r\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var tempBoundingBox = this.tempBoundingBox;\r\n var max = 999999;\r\n tempBoundingBox.x = max;\r\n tempBoundingBox.xMax = -max;\r\n tempBoundingBox.y = max;\r\n tempBoundingBox.yMax = -max;\r\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\r\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\r\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y;\r\n // var tempBoundingBox = this.shapeCont.getBBox();\r\n if (this.currentBoxContains(tempBoundingBox)) {\r\n return;\r\n }\r\n var changed = false;\r\n if (this.currentBBox.w !== tempBoundingBox.width) {\r\n this.currentBBox.w = tempBoundingBox.width;\r\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\r\n changed = true;\r\n }\r\n if (this.currentBBox.h !== tempBoundingBox.height) {\r\n this.currentBBox.h = tempBoundingBox.height;\r\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\r\n changed = true;\r\n }\r\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\r\n this.currentBBox.w = tempBoundingBox.width;\r\n this.currentBBox.h = tempBoundingBox.height;\r\n this.currentBBox.x = tempBoundingBox.x;\r\n this.currentBBox.y = tempBoundingBox.y;\r\n\r\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\r\n var shapeStyle = this.shapeCont.style;\r\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\r\n shapeStyle.transform = shapeTransform;\r\n shapeStyle.webkitTransform = shapeTransform;\r\n }\r\n }\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\nRenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS, lineJoinEnum, lineCapEnum */\r\n\r\nfunction HTextElement(data, globalData, comp) {\r\n this.textSpans = [];\r\n this.textPaths = [];\r\n this.currentBBox = {\r\n x: 999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0,\r\n };\r\n this.renderType = 'svg';\r\n this.isMasked = false;\r\n this.initElement(data, globalData, comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\r\n\r\nHTextElement.prototype.createContent = function () {\r\n this.isMasked = this.checkMasks();\r\n if (this.isMasked) {\r\n this.renderType = 'svg';\r\n this.compW = this.comp.data.w;\r\n this.compH = this.comp.data.h;\r\n this.svgElement.setAttribute('width', this.compW);\r\n this.svgElement.setAttribute('height', this.compH);\r\n var g = createNS('g');\r\n this.maskedElement.appendChild(g);\r\n this.innerElem = g;\r\n } else {\r\n this.renderType = 'html';\r\n this.innerElem = this.layerElement;\r\n }\r\n\r\n this.checkParenting();\r\n};\r\n\r\nHTextElement.prototype.buildNewText = function () {\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n var innerElemStyle = this.innerElem.style;\r\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\r\n innerElemStyle.fill = textColor;\r\n innerElemStyle.color = textColor;\r\n if (documentData.sc) {\r\n innerElemStyle.stroke = this.buildColor(documentData.sc);\r\n innerElemStyle.strokeWidth = documentData.sw + 'px';\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if (!this.globalData.fontManager.chars) {\r\n innerElemStyle.fontSize = documentData.finalSize + 'px';\r\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\r\n if (fontData.fClass) {\r\n this.innerElem.className = fontData.fClass;\r\n } else {\r\n innerElemStyle.fontFamily = fontData.fFamily;\r\n var fWeight = documentData.fWeight;\r\n var fStyle = documentData.fStyle;\r\n innerElemStyle.fontStyle = fStyle;\r\n innerElemStyle.fontWeight = fWeight;\r\n }\r\n }\r\n var i;\r\n var len;\r\n\r\n var letters = documentData.l;\r\n len = letters.length;\r\n var tSpan;\r\n var tParent;\r\n var tCont;\r\n var matrixHelper = this.mHelper;\r\n var shapes;\r\n var shapeStr = '';\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n if (this.globalData.fontManager.chars) {\r\n if (!this.textPaths[cnt]) {\r\n tSpan = createNS('path');\r\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\r\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\r\n tSpan.setAttribute('stroke-miterlimit', '4');\r\n } else {\r\n tSpan = this.textPaths[cnt];\r\n }\r\n if (!this.isMasked) {\r\n if (this.textSpans[cnt]) {\r\n tParent = this.textSpans[cnt];\r\n tCont = tParent.children[0];\r\n } else {\r\n tParent = createTag('div');\r\n tParent.style.lineHeight = 0;\r\n tCont = createNS('svg');\r\n tCont.appendChild(tSpan);\r\n styleDiv(tParent);\r\n }\r\n }\r\n } else if (!this.isMasked) {\r\n if (this.textSpans[cnt]) {\r\n tParent = this.textSpans[cnt];\r\n tSpan = this.textPaths[cnt];\r\n } else {\r\n tParent = createTag('span');\r\n styleDiv(tParent);\r\n tSpan = createTag('span');\r\n styleDiv(tSpan);\r\n tParent.appendChild(tSpan);\r\n }\r\n } else {\r\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\r\n }\r\n // tSpan.setAttribute('visibility', 'hidden');\r\n if (this.globalData.fontManager.chars) {\r\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n var shapeData;\r\n if (charData) {\r\n shapeData = charData.data;\r\n } else {\r\n shapeData = null;\r\n }\r\n matrixHelper.reset();\r\n if (shapeData && shapeData.shapes) {\r\n shapes = shapeData.shapes[0].it;\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n shapeStr = this.createPathShape(matrixHelper, shapes);\r\n tSpan.setAttribute('d', shapeStr);\r\n }\r\n if (!this.isMasked) {\r\n this.innerElem.appendChild(tParent);\r\n if (shapeData && shapeData.shapes) {\r\n // document.body.appendChild is needed to get exact measure of shape\r\n document.body.appendChild(tCont);\r\n var boundingBox = tCont.getBBox();\r\n tCont.setAttribute('width', boundingBox.width + 2);\r\n tCont.setAttribute('height', boundingBox.height + 2);\r\n tCont.setAttribute('viewBox', (boundingBox.x - 1) + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\r\n var tContStyle = tCont.style;\r\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\r\n tContStyle.transform = tContTranslation;\r\n tContStyle.webkitTransform = tContTranslation;\r\n\r\n letters[i].yOffset = boundingBox.y - 1;\r\n } else {\r\n tCont.setAttribute('width', 1);\r\n tCont.setAttribute('height', 1);\r\n }\r\n tParent.appendChild(tCont);\r\n } else {\r\n this.innerElem.appendChild(tSpan);\r\n }\r\n } else {\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\r\n if (!this.isMasked) {\r\n this.innerElem.appendChild(tParent);\r\n //\r\n var tStyle = tSpan.style;\r\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\r\n tStyle.transform = tSpanTranslation;\r\n tStyle.webkitTransform = tSpanTranslation;\r\n } else {\r\n this.innerElem.appendChild(tSpan);\r\n }\r\n }\r\n //\r\n if (!this.isMasked) {\r\n this.textSpans[cnt] = tParent;\r\n } else {\r\n this.textSpans[cnt] = tSpan;\r\n }\r\n this.textSpans[cnt].style.display = 'block';\r\n this.textPaths[cnt] = tSpan;\r\n cnt += 1;\r\n }\r\n while (cnt < this.textSpans.length) {\r\n this.textSpans[cnt].style.display = 'none';\r\n cnt += 1;\r\n }\r\n};\r\n\r\nHTextElement.prototype.renderInnerContent = function () {\r\n var svgStyle;\r\n if (this.data.singleShape) {\r\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\r\n return;\r\n } if (this.isMasked && this.finalTransform._matMdf) {\r\n // Todo Benchmark if using this is better than getBBox\r\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\r\n svgStyle = this.svgElement.style;\r\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\r\n svgStyle.transform = translation;\r\n svgStyle.webkitTransform = translation;\r\n }\r\n }\r\n\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\r\n return;\r\n }\r\n var i;\r\n var len;\r\n var count = 0;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter;\r\n var textSpan;\r\n var textPath;\r\n for (i = 0; i < len; i += 1) {\r\n if (letters[i].n) {\r\n count += 1;\r\n } else {\r\n textSpan = this.textSpans[i];\r\n textPath = this.textPaths[i];\r\n renderedLetter = renderedLetters[count];\r\n count += 1;\r\n if (renderedLetter._mdf.m) {\r\n if (!this.isMasked) {\r\n textSpan.style.webkitTransform = renderedLetter.m;\r\n textSpan.style.transform = renderedLetter.m;\r\n } else {\r\n textSpan.setAttribute('transform', renderedLetter.m);\r\n }\r\n }\r\n /// /textSpan.setAttribute('opacity',renderedLetter.o);\r\n textSpan.style.opacity = renderedLetter.o;\r\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\r\n textPath.setAttribute('stroke-width', renderedLetter.sw);\r\n }\r\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\r\n textPath.setAttribute('stroke', renderedLetter.sc);\r\n }\r\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\r\n textPath.setAttribute('fill', renderedLetter.fc);\r\n textPath.style.color = renderedLetter.fc;\r\n }\r\n }\r\n }\r\n\r\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var boundingBox = this.innerElem.getBBox();\r\n\r\n if (this.currentBBox.w !== boundingBox.width) {\r\n this.currentBBox.w = boundingBox.width;\r\n this.svgElement.setAttribute('width', boundingBox.width);\r\n }\r\n if (this.currentBBox.h !== boundingBox.height) {\r\n this.currentBBox.h = boundingBox.height;\r\n this.svgElement.setAttribute('height', boundingBox.height);\r\n }\r\n\r\n var margin = 1;\r\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)) {\r\n this.currentBBox.w = boundingBox.width + margin * 2;\r\n this.currentBBox.h = boundingBox.height + margin * 2;\r\n this.currentBBox.x = boundingBox.x - margin;\r\n this.currentBBox.y = boundingBox.y - margin;\r\n\r\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\r\n svgStyle = this.svgElement.style;\r\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\r\n svgStyle.transform = svgTransform;\r\n svgStyle.webkitTransform = svgTransform;\r\n }\r\n }\r\n};\r\n\r\n/* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\nFrameElement, RenderableElement, createNS */\r\n\r\nfunction HImageElement(data, globalData, comp) {\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\r\n\r\nHImageElement.prototype.createContent = function () {\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n var img = new Image();\r\n\r\n if (this.data.hasMask) {\r\n this.imageElem = createNS('image');\r\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\r\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\r\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\r\n this.layerElement.appendChild(this.imageElem);\r\n this.baseElement.setAttribute('width', this.assetData.w);\r\n this.baseElement.setAttribute('height', this.assetData.h);\r\n } else {\r\n this.layerElement.appendChild(img);\r\n }\r\n img.crossOrigin = 'anonymous';\r\n img.src = assetPath;\r\n if (this.data.ln) {\r\n this.baseElement.setAttribute('id', this.data.ln);\r\n }\r\n};\r\n\r\n/* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\r\n\r\nfunction HCameraElement(data, globalData, comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initHierarchy();\r\n var getProp = PropertyFactory.getProp;\r\n this.pe = getProp(this, data.pe, 0, 0, this);\r\n if (data.ks.p.s) {\r\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\r\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\r\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\r\n } else {\r\n this.p = getProp(this, data.ks.p, 1, 0, this);\r\n }\r\n if (data.ks.a) {\r\n this.a = getProp(this, data.ks.a, 1, 0, this);\r\n }\r\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\r\n var i;\r\n var len = data.ks.or.k.length;\r\n for (i = 0; i < len; i += 1) {\r\n data.ks.or.k[i].to = null;\r\n data.ks.or.k[i].ti = null;\r\n }\r\n }\r\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\r\n this.or.sh = true;\r\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\r\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\r\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\r\n this.mat = new Matrix();\r\n this._prevMat = new Matrix();\r\n this._isFirstFrame = true;\r\n\r\n // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\r\n this.finalTransform = {\r\n mProp: this,\r\n };\r\n}\r\nextendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\r\n\r\nHCameraElement.prototype.setup = function () {\r\n var i;\r\n var len = this.comp.threeDElements.length;\r\n var comp;\r\n var perspectiveStyle;\r\n var containerStyle;\r\n for (i = 0; i < len; i += 1) {\r\n // [perspectiveElem,container]\r\n comp = this.comp.threeDElements[i];\r\n if (comp.type === '3d') {\r\n perspectiveStyle = comp.perspectiveElem.style;\r\n containerStyle = comp.container.style;\r\n var perspective = this.pe.v + 'px';\r\n var origin = '0px 0px 0px';\r\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n perspectiveStyle.perspective = perspective;\r\n perspectiveStyle.webkitPerspective = perspective;\r\n containerStyle.transformOrigin = origin;\r\n containerStyle.mozTransformOrigin = origin;\r\n containerStyle.webkitTransformOrigin = origin;\r\n perspectiveStyle.transform = matrix;\r\n perspectiveStyle.webkitTransform = matrix;\r\n }\r\n }\r\n};\r\n\r\nHCameraElement.prototype.createElements = function () {\r\n};\r\n\r\nHCameraElement.prototype.hide = function () {\r\n};\r\n\r\nHCameraElement.prototype.renderFrame = function () {\r\n var _mdf = this._isFirstFrame;\r\n var i;\r\n var len;\r\n if (this.hierarchy) {\r\n len = this.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\r\n }\r\n }\r\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)) {\r\n this.mat.reset();\r\n\r\n if (this.hierarchy) {\r\n len = this.hierarchy.length - 1;\r\n for (i = len; i >= 0; i -= 1) {\r\n var mTransf = this.hierarchy[i].finalTransform.mProp;\r\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\r\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\r\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\r\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\r\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\r\n }\r\n }\r\n if (this.p) {\r\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\r\n } else {\r\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\r\n }\r\n if (this.a) {\r\n var diffVector;\r\n if (this.p) {\r\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]];\r\n } else {\r\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\r\n }\r\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2));\r\n // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\r\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\r\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\r\n var mRotationX = (Math.atan2(lookDir[1], lookLengthOnXZ));\r\n var mRotationY = (Math.atan2(lookDir[0], -lookDir[2]));\r\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\r\n }\r\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\r\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\r\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\r\n this.mat.translate(0, 0, this.pe.v);\r\n\r\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\r\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\r\n len = this.comp.threeDElements.length;\r\n var comp;\r\n var perspectiveStyle;\r\n var containerStyle;\r\n for (i = 0; i < len; i += 1) {\r\n comp = this.comp.threeDElements[i];\r\n if (comp.type === '3d') {\r\n if (hasMatrixChanged) {\r\n var matValue = this.mat.toCSS();\r\n containerStyle = comp.container.style;\r\n containerStyle.transform = matValue;\r\n containerStyle.webkitTransform = matValue;\r\n }\r\n if (this.pe._mdf) {\r\n perspectiveStyle = comp.perspectiveElem.style;\r\n perspectiveStyle.perspective = this.pe.v + 'px';\r\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\r\n }\r\n }\r\n }\r\n this.mat.clone(this._prevMat);\r\n }\r\n }\r\n this._isFirstFrame = false;\r\n};\r\n\r\nHCameraElement.prototype.prepareFrame = function (num) {\r\n this.prepareProperties(num, true);\r\n};\r\n\r\nHCameraElement.prototype.destroy = function () {\r\n};\r\nHCameraElement.prototype.getBaseElement = function () { return null; };\r\n\r\nfunction HEffects() {\r\n}\r\nHEffects.prototype.renderFrame = function () {};\r\n\r\n/* global createTag, AnimationItem */\r\n/* exported animationManager */\r\n\r\nvar animationManager = (function () {\r\n var moduleOb = {};\r\n var registeredAnimations = [];\r\n var initTime = 0;\r\n var len = 0;\r\n var playingAnimationsNum = 0;\r\n var _stopped = true;\r\n var _isFrozen = false;\r\n\r\n function removeElement(ev) {\r\n var i = 0;\r\n var animItem = ev.target;\r\n while (i < len) {\r\n if (registeredAnimations[i].animation === animItem) {\r\n registeredAnimations.splice(i, 1);\r\n i -= 1;\r\n len -= 1;\r\n if (!animItem.isPaused) {\r\n subtractPlayingCount();\r\n }\r\n }\r\n i += 1;\r\n }\r\n }\r\n\r\n function registerAnimation(element, animationData) {\r\n if (!element) {\r\n return null;\r\n }\r\n var i = 0;\r\n while (i < len) {\r\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\r\n return registeredAnimations[i].animation;\r\n }\r\n i += 1;\r\n }\r\n var animItem = new AnimationItem();\r\n setupAnimation(animItem, element);\r\n animItem.setData(element, animationData);\r\n return animItem;\r\n }\r\n\r\n function getRegisteredAnimations() {\r\n var i;\r\n var lenAnims = registeredAnimations.length;\r\n var animations = [];\r\n for (i = 0; i < lenAnims; i += 1) {\r\n animations.push(registeredAnimations[i].animation);\r\n }\r\n return animations;\r\n }\r\n\r\n function addPlayingCount() {\r\n playingAnimationsNum += 1;\r\n activate();\r\n }\r\n\r\n function subtractPlayingCount() {\r\n playingAnimationsNum -= 1;\r\n }\r\n\r\n function setupAnimation(animItem, element) {\r\n animItem.addEventListener('destroy', removeElement);\r\n animItem.addEventListener('_active', addPlayingCount);\r\n animItem.addEventListener('_idle', subtractPlayingCount);\r\n registeredAnimations.push({ elem: element, animation: animItem });\r\n len += 1;\r\n }\r\n\r\n function loadAnimation(params) {\r\n var animItem = new AnimationItem();\r\n setupAnimation(animItem, null);\r\n animItem.setParams(params);\r\n return animItem;\r\n }\r\n\r\n function setSpeed(val, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.setSpeed(val, animation);\r\n }\r\n }\r\n\r\n function setDirection(val, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.setDirection(val, animation);\r\n }\r\n }\r\n\r\n function play(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.play(animation);\r\n }\r\n }\r\n function resume(nowTime) {\r\n var elapsedTime = nowTime - initTime;\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.advanceTime(elapsedTime);\r\n }\r\n initTime = nowTime;\r\n if (playingAnimationsNum && !_isFrozen) {\r\n window.requestAnimationFrame(resume);\r\n } else {\r\n _stopped = true;\r\n }\r\n }\r\n\r\n function first(nowTime) {\r\n initTime = nowTime;\r\n window.requestAnimationFrame(resume);\r\n }\r\n\r\n function pause(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.pause(animation);\r\n }\r\n }\r\n\r\n function goToAndStop(value, isFrame, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\r\n }\r\n }\r\n\r\n function stop(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.stop(animation);\r\n }\r\n }\r\n\r\n function togglePause(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.togglePause(animation);\r\n }\r\n }\r\n\r\n function destroy(animation) {\r\n var i;\r\n for (i = (len - 1); i >= 0; i -= 1) {\r\n registeredAnimations[i].animation.destroy(animation);\r\n }\r\n }\r\n\r\n function searchAnimations(animationData, standalone, renderer) {\r\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')),\r\n [].slice.call(document.getElementsByClassName('bodymovin')));\r\n var i;\r\n var lenAnims = animElements.length;\r\n for (i = 0; i < lenAnims; i += 1) {\r\n if (renderer) {\r\n animElements[i].setAttribute('data-bm-type', renderer);\r\n }\r\n registerAnimation(animElements[i], animationData);\r\n }\r\n if (standalone && lenAnims === 0) {\r\n if (!renderer) {\r\n renderer = 'svg';\r\n }\r\n var body = document.getElementsByTagName('body')[0];\r\n body.innerText = '';\r\n var div = createTag('div');\r\n div.style.width = '100%';\r\n div.style.height = '100%';\r\n div.setAttribute('data-bm-type', renderer);\r\n body.appendChild(div);\r\n registerAnimation(div, animationData);\r\n }\r\n }\r\n\r\n function resize() {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.resize();\r\n }\r\n }\r\n\r\n function activate() {\r\n if (!_isFrozen && playingAnimationsNum) {\r\n if (_stopped) {\r\n window.requestAnimationFrame(first);\r\n _stopped = false;\r\n }\r\n }\r\n }\r\n\r\n function freeze() {\r\n _isFrozen = true;\r\n }\r\n\r\n function unfreeze() {\r\n _isFrozen = false;\r\n activate();\r\n }\r\n\r\n function setVolume(val, animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.setVolume(val, animation);\r\n }\r\n }\r\n\r\n function mute(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.mute(animation);\r\n }\r\n }\r\n\r\n function unmute(animation) {\r\n var i;\r\n for (i = 0; i < len; i += 1) {\r\n registeredAnimations[i].animation.unmute(animation);\r\n }\r\n }\r\n\r\n moduleOb.registerAnimation = registerAnimation;\r\n moduleOb.loadAnimation = loadAnimation;\r\n moduleOb.setSpeed = setSpeed;\r\n moduleOb.setDirection = setDirection;\r\n moduleOb.play = play;\r\n moduleOb.pause = pause;\r\n moduleOb.stop = stop;\r\n moduleOb.togglePause = togglePause;\r\n moduleOb.searchAnimations = searchAnimations;\r\n moduleOb.resize = resize;\r\n // moduleOb.start = start;\r\n moduleOb.goToAndStop = goToAndStop;\r\n moduleOb.destroy = destroy;\r\n moduleOb.freeze = freeze;\r\n moduleOb.unfreeze = unfreeze;\r\n moduleOb.setVolume = setVolume;\r\n moduleOb.mute = mute;\r\n moduleOb.unmute = unmute;\r\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\r\n return moduleOb;\r\n}());\r\n\r\n/* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\nCanvasRenderer, SVGRenderer, HybridRenderer, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\nBMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\nBMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\r\n\r\nvar AnimationItem = function () {\r\n this._cbs = [];\r\n this.name = '';\r\n this.path = '';\r\n this.isLoaded = false;\r\n this.currentFrame = 0;\r\n this.currentRawFrame = 0;\r\n this.firstFrame = 0;\r\n this.totalFrames = 0;\r\n this.frameRate = 0;\r\n this.frameMult = 0;\r\n this.playSpeed = 1;\r\n this.playDirection = 1;\r\n this.playCount = 0;\r\n this.animationData = {};\r\n this.assets = [];\r\n this.isPaused = true;\r\n this.autoplay = false;\r\n this.loop = true;\r\n this.renderer = null;\r\n this.animationID = createElementID();\r\n this.assetsPath = '';\r\n this.timeCompleted = 0;\r\n this.segmentPos = 0;\r\n this.isSubframeEnabled = subframeEnabled;\r\n this.segments = [];\r\n this._idle = true;\r\n this._completedLoop = false;\r\n this.projectInterface = ProjectInterface();\r\n this.imagePreloader = new ImagePreloader();\r\n this.audioController = audioControllerFactory();\r\n this.markers = [];\r\n this.configAnimation = this.configAnimation.bind(this);\r\n this.onSetupError = this.onSetupError.bind(this);\r\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\r\n};\r\n\r\nextendPrototype([BaseEvent], AnimationItem);\r\n\r\nAnimationItem.prototype.setParams = function (params) {\r\n if (params.wrapper || params.container) {\r\n this.wrapper = params.wrapper || params.container;\r\n }\r\n var animType = 'svg';\r\n if (params.animType) {\r\n animType = params.animType;\r\n } else if (params.renderer) {\r\n animType = params.renderer;\r\n }\r\n switch (animType) {\r\n case 'canvas':\r\n this.renderer = new CanvasRenderer(this, params.rendererSettings);\r\n break;\r\n case 'svg':\r\n this.renderer = new SVGRenderer(this, params.rendererSettings);\r\n break;\r\n default:\r\n this.renderer = new HybridRenderer(this, params.rendererSettings);\r\n break;\r\n }\r\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\r\n this.renderer.setProjectInterface(this.projectInterface);\r\n this.animType = animType;\r\n if (params.loop === ''\r\n || params.loop === null\r\n || params.loop === undefined\r\n || params.loop === true) {\r\n this.loop = true;\r\n } else if (params.loop === false) {\r\n this.loop = false;\r\n } else {\r\n this.loop = parseInt(params.loop, 10);\r\n }\r\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\r\n this.name = params.name ? params.name : '';\r\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\r\n this.assetsPath = params.assetsPath;\r\n this.initialSegment = params.initialSegment;\r\n if (params.audioFactory) {\r\n this.audioController.setAudioFactory(params.audioFactory);\r\n }\r\n if (params.animationData) {\r\n this.setupAnimation(params.animationData);\r\n } else if (params.path) {\r\n if (params.path.lastIndexOf('\\\\') !== -1) {\r\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\r\n } else {\r\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\r\n }\r\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\r\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\r\n dataManager.loadAnimation(\r\n params.path,\r\n this.configAnimation,\r\n this.onSetupError\r\n );\r\n }\r\n};\r\n\r\nAnimationItem.prototype.onSetupError = function () {\r\n this.trigger('data_failed');\r\n};\r\n\r\nAnimationItem.prototype.setupAnimation = function (data) {\r\n dataManager.completeAnimation(\r\n data,\r\n this.configAnimation\r\n );\r\n};\r\n\r\nAnimationItem.prototype.setData = function (wrapper, animationData) {\r\n if (animationData) {\r\n if (typeof animationData !== 'object') {\r\n animationData = JSON.parse(animationData);\r\n }\r\n }\r\n var params = {\r\n wrapper: wrapper,\r\n animationData: animationData,\r\n };\r\n var wrapperAttributes = wrapper.attributes;\r\n\r\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-animation-path').value\r\n : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-path').value\r\n : wrapperAttributes.getNamedItem('bm-path')\r\n ? wrapperAttributes.getNamedItem('bm-path').value\r\n : '';\r\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-type').value\r\n : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-type').value\r\n : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('bm-type').value\r\n : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value\r\n : wrapperAttributes.getNamedItem('bm-renderer')\r\n ? wrapperAttributes.getNamedItem('bm-renderer').value\r\n : 'canvas';\r\n\r\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-loop').value\r\n : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-loop').value\r\n : wrapperAttributes.getNamedItem('bm-loop')\r\n ? wrapperAttributes.getNamedItem('bm-loop').value\r\n : '';\r\n if (loop === 'false') {\r\n params.loop = false;\r\n } else if (loop === 'true') {\r\n params.loop = true;\r\n } else if (loop !== '') {\r\n params.loop = parseInt(loop, 10);\r\n }\r\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value\r\n : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value\r\n : wrapperAttributes.getNamedItem('bm-autoplay')\r\n ? wrapperAttributes.getNamedItem('bm-autoplay').value\r\n : true;\r\n params.autoplay = autoplay !== 'false';\r\n\r\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-name').value\r\n : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-name').value\r\n : wrapperAttributes.getNamedItem('bm-name')\r\n ? wrapperAttributes.getNamedItem('bm-name').value\r\n : '';\r\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value\r\n : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\r\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value\r\n : wrapperAttributes.getNamedItem('bm-prerender')\r\n ? wrapperAttributes.getNamedItem('bm-prerender').value\r\n : '';\r\n\r\n if (prerender === 'false') {\r\n params.prerender = false;\r\n }\r\n this.setParams(params);\r\n};\r\n\r\nAnimationItem.prototype.includeLayers = function (data) {\r\n if (data.op > this.animationData.op) {\r\n this.animationData.op = data.op;\r\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\r\n }\r\n var layers = this.animationData.layers;\r\n var i;\r\n var len = layers.length;\r\n var newLayers = data.layers;\r\n var j;\r\n var jLen = newLayers.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n i = 0;\r\n while (i < len) {\r\n if (layers[i].id === newLayers[j].id) {\r\n layers[i] = newLayers[j];\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n if (data.chars || data.fonts) {\r\n this.renderer.globalData.fontManager.addChars(data.chars);\r\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\r\n }\r\n if (data.assets) {\r\n len = data.assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.animationData.assets.push(data.assets[i]);\r\n }\r\n }\r\n this.animationData.__complete = false;\r\n dataManager.completeAnimation(\r\n this.animationData,\r\n this.onSegmentComplete\r\n );\r\n};\r\n\r\nAnimationItem.prototype.onSegmentComplete = function (data) {\r\n this.animationData = data;\r\n if (expressionsPlugin) {\r\n expressionsPlugin.initExpressions(this);\r\n }\r\n this.loadNextSegment();\r\n};\r\n\r\nAnimationItem.prototype.loadNextSegment = function () {\r\n var segments = this.animationData.segments;\r\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\r\n this.trigger('data_ready');\r\n this.timeCompleted = this.totalFrames;\r\n return;\r\n }\r\n var segment = segments.shift();\r\n this.timeCompleted = segment.time * this.frameRate;\r\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\r\n this.segmentPos += 1;\r\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\r\n this.trigger('data_failed');\r\n }.bind(this));\r\n};\r\n\r\nAnimationItem.prototype.loadSegments = function () {\r\n var segments = this.animationData.segments;\r\n if (!segments) {\r\n this.timeCompleted = this.totalFrames;\r\n }\r\n this.loadNextSegment();\r\n};\r\n\r\nAnimationItem.prototype.imagesLoaded = function () {\r\n this.trigger('loaded_images');\r\n this.checkLoaded();\r\n};\r\n\r\nAnimationItem.prototype.preloadImages = function () {\r\n this.imagePreloader.setAssetsPath(this.assetsPath);\r\n this.imagePreloader.setPath(this.path);\r\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\r\n};\r\n\r\nAnimationItem.prototype.configAnimation = function (animData) {\r\n if (!this.renderer) {\r\n return;\r\n }\r\n try {\r\n this.animationData = animData;\r\n if (this.initialSegment) {\r\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\r\n this.firstFrame = Math.round(this.initialSegment[0]);\r\n } else {\r\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\r\n this.firstFrame = Math.round(this.animationData.ip);\r\n }\r\n this.renderer.configAnimation(animData);\r\n if (!animData.assets) {\r\n animData.assets = [];\r\n }\r\n\r\n this.assets = this.animationData.assets;\r\n this.frameRate = this.animationData.fr;\r\n this.frameMult = this.animationData.fr / 1000;\r\n this.renderer.searchExtraCompositions(animData.assets);\r\n this.markers = markerParser(animData.markers || []);\r\n this.trigger('config_ready');\r\n this.preloadImages();\r\n this.loadSegments();\r\n this.updaFrameModifier();\r\n this.waitForFontsLoaded();\r\n if (this.isPaused) {\r\n this.audioController.pause();\r\n }\r\n } catch (error) {\r\n this.triggerConfigError(error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.waitForFontsLoaded = function () {\r\n if (!this.renderer) {\r\n return;\r\n }\r\n if (this.renderer.globalData.fontManager.isLoaded) {\r\n this.checkLoaded();\r\n } else {\r\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.checkLoaded = function () {\r\n if (!this.isLoaded\r\n && this.renderer.globalData.fontManager.isLoaded\r\n && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas')\r\n && (this.imagePreloader.loadedFootages())\r\n ) {\r\n this.isLoaded = true;\r\n if (expressionsPlugin) {\r\n expressionsPlugin.initExpressions(this);\r\n }\r\n this.renderer.initItems();\r\n setTimeout(function () {\r\n this.trigger('DOMLoaded');\r\n }.bind(this), 0);\r\n this.gotoFrame();\r\n if (this.autoplay) {\r\n this.play();\r\n }\r\n }\r\n};\r\n\r\nAnimationItem.prototype.resize = function () {\r\n this.renderer.updateContainerSize();\r\n};\r\n\r\nAnimationItem.prototype.setSubframe = function (flag) {\r\n this.isSubframeEnabled = !!flag;\r\n};\r\n\r\nAnimationItem.prototype.gotoFrame = function () {\r\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\r\n\r\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\r\n this.currentFrame = this.timeCompleted;\r\n }\r\n this.trigger('enterFrame');\r\n this.renderFrame();\r\n this.trigger('drawnFrame');\r\n};\r\n\r\nAnimationItem.prototype.renderFrame = function () {\r\n if (this.isLoaded === false || !this.renderer) {\r\n return;\r\n }\r\n try {\r\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\r\n } catch (error) {\r\n this.triggerRenderFrameError(error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.play = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n if (this.isPaused === true) {\r\n this.isPaused = false;\r\n this.audioController.resume();\r\n if (this._idle) {\r\n this._idle = false;\r\n this.trigger('_active');\r\n }\r\n }\r\n};\r\n\r\nAnimationItem.prototype.pause = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n if (this.isPaused === false) {\r\n this.isPaused = true;\r\n this._idle = true;\r\n this.trigger('_idle');\r\n this.audioController.pause();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.togglePause = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n if (this.isPaused === true) {\r\n this.play();\r\n } else {\r\n this.pause();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.stop = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.pause();\r\n this.playCount = 0;\r\n this._completedLoop = false;\r\n this.setCurrentRawFrameValue(0);\r\n};\r\n\r\nAnimationItem.prototype.getMarkerData = function (markerName) {\r\n var marker;\r\n for (var i = 0; i < this.markers.length; i += 1) {\r\n marker = this.markers[i];\r\n if (marker.payload && marker.payload.name === markerName) {\r\n return marker;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nAnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n var numValue = Number(value);\r\n if (isNaN(numValue)) {\r\n var marker = this.getMarkerData(value);\r\n if (marker) {\r\n this.goToAndStop(marker.time, true);\r\n }\r\n } else if (isFrame) {\r\n this.setCurrentRawFrameValue(value);\r\n } else {\r\n this.setCurrentRawFrameValue(value * this.frameModifier);\r\n }\r\n this.pause();\r\n};\r\n\r\nAnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n var numValue = Number(value);\r\n if (isNaN(numValue)) {\r\n var marker = this.getMarkerData(value);\r\n if (marker) {\r\n if (!marker.duration) {\r\n this.goToAndStop(marker.time, true);\r\n } else {\r\n this.playSegments([marker.time, marker.time + marker.duration], true);\r\n }\r\n }\r\n } else {\r\n this.goToAndStop(numValue, isFrame, name);\r\n }\r\n this.play();\r\n};\r\n\r\nAnimationItem.prototype.advanceTime = function (value) {\r\n if (this.isPaused === true || this.isLoaded === false) {\r\n return;\r\n }\r\n var nextValue = this.currentRawFrame + value * this.frameModifier;\r\n var _isComplete = false;\r\n // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\r\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.\r\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\r\n if (!this.loop || this.playCount === this.loop) {\r\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\r\n _isComplete = true;\r\n nextValue = this.totalFrames - 1;\r\n }\r\n } else if (nextValue >= this.totalFrames) {\r\n this.playCount += 1;\r\n if (!this.checkSegments(nextValue % this.totalFrames)) {\r\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\r\n this._completedLoop = true;\r\n this.trigger('loopComplete');\r\n }\r\n } else {\r\n this.setCurrentRawFrameValue(nextValue);\r\n }\r\n } else if (nextValue < 0) {\r\n if (!this.checkSegments(nextValue % this.totalFrames)) {\r\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) { // eslint-disable-line no-plusplus\r\n this.setCurrentRawFrameValue(this.totalFrames + (nextValue % this.totalFrames));\r\n if (!this._completedLoop) {\r\n this._completedLoop = true;\r\n } else {\r\n this.trigger('loopComplete');\r\n }\r\n } else {\r\n _isComplete = true;\r\n nextValue = 0;\r\n }\r\n }\r\n } else {\r\n this.setCurrentRawFrameValue(nextValue);\r\n }\r\n if (_isComplete) {\r\n this.setCurrentRawFrameValue(nextValue);\r\n this.pause();\r\n this.trigger('complete');\r\n }\r\n};\r\n\r\nAnimationItem.prototype.adjustSegment = function (arr, offset) {\r\n this.playCount = 0;\r\n if (arr[1] < arr[0]) {\r\n if (this.frameModifier > 0) {\r\n if (this.playSpeed < 0) {\r\n this.setSpeed(-this.playSpeed);\r\n } else {\r\n this.setDirection(-1);\r\n }\r\n }\r\n this.totalFrames = arr[0] - arr[1];\r\n this.timeCompleted = this.totalFrames;\r\n this.firstFrame = arr[1];\r\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\r\n } else if (arr[1] > arr[0]) {\r\n if (this.frameModifier < 0) {\r\n if (this.playSpeed < 0) {\r\n this.setSpeed(-this.playSpeed);\r\n } else {\r\n this.setDirection(1);\r\n }\r\n }\r\n this.totalFrames = arr[1] - arr[0];\r\n this.timeCompleted = this.totalFrames;\r\n this.firstFrame = arr[0];\r\n this.setCurrentRawFrameValue(0.001 + offset);\r\n }\r\n this.trigger('segmentStart');\r\n};\r\nAnimationItem.prototype.setSegment = function (init, end) {\r\n var pendingFrame = -1;\r\n if (this.isPaused) {\r\n if (this.currentRawFrame + this.firstFrame < init) {\r\n pendingFrame = init;\r\n } else if (this.currentRawFrame + this.firstFrame > end) {\r\n pendingFrame = end - init;\r\n }\r\n }\r\n\r\n this.firstFrame = init;\r\n this.totalFrames = end - init;\r\n this.timeCompleted = this.totalFrames;\r\n if (pendingFrame !== -1) {\r\n this.goToAndStop(pendingFrame, true);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.playSegments = function (arr, forceFlag) {\r\n if (forceFlag) {\r\n this.segments.length = 0;\r\n }\r\n if (typeof arr[0] === 'object') {\r\n var i;\r\n var len = arr.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.segments.push(arr[i]);\r\n }\r\n } else {\r\n this.segments.push(arr);\r\n }\r\n if (this.segments.length && forceFlag) {\r\n this.adjustSegment(this.segments.shift(), 0);\r\n }\r\n if (this.isPaused) {\r\n this.play();\r\n }\r\n};\r\n\r\nAnimationItem.prototype.resetSegments = function (forceFlag) {\r\n this.segments.length = 0;\r\n this.segments.push([this.animationData.ip, this.animationData.op]);\r\n if (forceFlag) {\r\n this.checkSegments(0);\r\n }\r\n};\r\nAnimationItem.prototype.checkSegments = function (offset) {\r\n if (this.segments.length) {\r\n this.adjustSegment(this.segments.shift(), offset);\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nAnimationItem.prototype.destroy = function (name) {\r\n if ((name && this.name !== name) || !this.renderer) {\r\n return;\r\n }\r\n this.renderer.destroy();\r\n this.imagePreloader.destroy();\r\n this.trigger('destroy');\r\n this._cbs = null;\r\n this.onEnterFrame = null;\r\n this.onLoopComplete = null;\r\n this.onComplete = null;\r\n this.onSegmentStart = null;\r\n this.onDestroy = null;\r\n this.renderer = null;\r\n this.renderer = null;\r\n this.imagePreloader = null;\r\n this.projectInterface = null;\r\n};\r\n\r\nAnimationItem.prototype.setCurrentRawFrameValue = function (value) {\r\n this.currentRawFrame = value;\r\n this.gotoFrame();\r\n};\r\n\r\nAnimationItem.prototype.setSpeed = function (val) {\r\n this.playSpeed = val;\r\n this.updaFrameModifier();\r\n};\r\n\r\nAnimationItem.prototype.setDirection = function (val) {\r\n this.playDirection = val < 0 ? -1 : 1;\r\n this.updaFrameModifier();\r\n};\r\n\r\nAnimationItem.prototype.setVolume = function (val, name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.setVolume(val);\r\n};\r\n\r\nAnimationItem.prototype.getVolume = function () {\r\n return this.audioController.getVolume();\r\n};\r\n\r\nAnimationItem.prototype.mute = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.mute();\r\n};\r\n\r\nAnimationItem.prototype.unmute = function (name) {\r\n if (name && this.name !== name) {\r\n return;\r\n }\r\n this.audioController.unmute();\r\n};\r\n\r\nAnimationItem.prototype.updaFrameModifier = function () {\r\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\r\n this.audioController.setRate(this.playSpeed * this.playDirection);\r\n};\r\n\r\nAnimationItem.prototype.getPath = function () {\r\n return this.path;\r\n};\r\n\r\nAnimationItem.prototype.getAssetsPath = function (assetData) {\r\n var path = '';\r\n if (assetData.e) {\r\n path = assetData.p;\r\n } else if (this.assetsPath) {\r\n var imagePath = assetData.p;\r\n if (imagePath.indexOf('images/') !== -1) {\r\n imagePath = imagePath.split('/')[1];\r\n }\r\n path = this.assetsPath + imagePath;\r\n } else {\r\n path = this.path;\r\n path += assetData.u ? assetData.u : '';\r\n path += assetData.p;\r\n }\r\n return path;\r\n};\r\n\r\nAnimationItem.prototype.getAssetData = function (id) {\r\n var i = 0;\r\n var len = this.assets.length;\r\n while (i < len) {\r\n if (id === this.assets[i].id) {\r\n return this.assets[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nAnimationItem.prototype.hide = function () {\r\n this.renderer.hide();\r\n};\r\n\r\nAnimationItem.prototype.show = function () {\r\n this.renderer.show();\r\n};\r\n\r\nAnimationItem.prototype.getDuration = function (isFrame) {\r\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\r\n};\r\n\r\nAnimationItem.prototype.trigger = function (name) {\r\n if (this._cbs && this._cbs[name]) {\r\n switch (name) {\r\n case 'enterFrame':\r\n case 'drawnFrame':\r\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\r\n break;\r\n case 'loopComplete':\r\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\r\n break;\r\n case 'complete':\r\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\r\n break;\r\n case 'segmentStart':\r\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\r\n break;\r\n case 'destroy':\r\n this.triggerEvent(name, new BMDestroyEvent(name, this));\r\n break;\r\n default:\r\n this.triggerEvent(name);\r\n }\r\n }\r\n if (name === 'enterFrame' && this.onEnterFrame) {\r\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\r\n }\r\n if (name === 'loopComplete' && this.onLoopComplete) {\r\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\r\n }\r\n if (name === 'complete' && this.onComplete) {\r\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\r\n }\r\n if (name === 'segmentStart' && this.onSegmentStart) {\r\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\r\n }\r\n if (name === 'destroy' && this.onDestroy) {\r\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\r\n }\r\n};\r\n\r\nAnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\r\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\r\n this.triggerEvent('error', error);\r\n\r\n if (this.onError) {\r\n this.onError.call(this, error);\r\n }\r\n};\r\n\r\nAnimationItem.prototype.triggerConfigError = function (nativeError) {\r\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\r\n this.triggerEvent('error', error);\r\n\r\n if (this.onError) {\r\n this.onError.call(this, error);\r\n }\r\n};\r\n\r\n/* global CompExpressionInterface, expressionsPlugin: writable */\r\n/* exported expressionsPlugin */\r\n\r\nvar Expressions = (function () {\r\n var ob = {};\r\n ob.initExpressions = initExpressions;\r\n\r\n function initExpressions(animation) {\r\n var stackCount = 0;\r\n var registers = [];\r\n\r\n function pushExpression() {\r\n stackCount += 1;\r\n }\r\n\r\n function popExpression() {\r\n stackCount -= 1;\r\n if (stackCount === 0) {\r\n releaseInstances();\r\n }\r\n }\r\n\r\n function registerExpressionProperty(expression) {\r\n if (registers.indexOf(expression) === -1) {\r\n registers.push(expression);\r\n }\r\n }\r\n\r\n function releaseInstances() {\r\n var i;\r\n var len = registers.length;\r\n for (i = 0; i < len; i += 1) {\r\n registers[i].release();\r\n }\r\n registers.length = 0;\r\n }\r\n\r\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\r\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\r\n animation.renderer.globalData.pushExpression = pushExpression;\r\n animation.renderer.globalData.popExpression = popExpression;\r\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\r\n }\r\n return ob;\r\n}());\r\n\r\nexpressionsPlugin = Expressions;\r\n\r\n/* eslint-disable camelcase, no-unused-vars */\r\n/* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\r\n\r\nvar ExpressionManager = (function () {\r\n 'use strict';\r\n\r\n var ob = {};\r\n var Math = BMMath;\r\n var window = null;\r\n var document = null;\r\n var XMLHttpRequest = null;\r\n var fetch = null;\r\n var frames = null;\r\n\r\n function $bm_isInstanceOfArray(arr) {\r\n return arr.constructor === Array || arr.constructor === Float32Array;\r\n }\r\n\r\n function isNumerable(tOfV, v) {\r\n return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;\r\n }\r\n\r\n function $bm_neg(a) {\r\n var tOfA = typeof a;\r\n if (tOfA === 'number' || tOfA === 'boolean' || a instanceof Number) {\r\n return -a;\r\n }\r\n if ($bm_isInstanceOfArray(a)) {\r\n var i;\r\n var lenA = a.length;\r\n var retArr = [];\r\n for (i = 0; i < lenA; i += 1) {\r\n retArr[i] = -a[i];\r\n }\r\n return retArr;\r\n }\r\n if (a.propType) {\r\n return a.v;\r\n }\r\n return -a;\r\n }\r\n\r\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\r\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\r\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\r\n\r\n function sum(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n if (tOfA === 'string' || tOfB === 'string') {\r\n return a + b;\r\n }\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n return a + b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n a = a.slice(0);\r\n a[0] += b;\r\n return a;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n b = b.slice(0);\r\n b[0] = a + b[0];\r\n return b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\r\n var i = 0;\r\n var lenA = a.length;\r\n var lenB = b.length;\r\n var retArr = [];\r\n while (i < lenA || i < lenB) {\r\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\r\n retArr[i] = a[i] + b[i];\r\n } else {\r\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\r\n }\r\n i += 1;\r\n }\r\n return retArr;\r\n }\r\n return 0;\r\n }\r\n var add = sum;\r\n\r\n function sub(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n if (tOfA === 'string') {\r\n a = parseInt(a, 10);\r\n }\r\n if (tOfB === 'string') {\r\n b = parseInt(b, 10);\r\n }\r\n return a - b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n a = a.slice(0);\r\n a[0] -= b;\r\n return a;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n b = b.slice(0);\r\n b[0] = a - b[0];\r\n return b;\r\n }\r\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\r\n var i = 0;\r\n var lenA = a.length;\r\n var lenB = b.length;\r\n var retArr = [];\r\n while (i < lenA || i < lenB) {\r\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\r\n retArr[i] = a[i] - b[i];\r\n } else {\r\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\r\n }\r\n i += 1;\r\n }\r\n return retArr;\r\n }\r\n return 0;\r\n }\r\n\r\n function mul(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n var arr;\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n return a * b;\r\n }\r\n\r\n var i;\r\n var len;\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n len = a.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a[i] * b;\r\n }\r\n return arr;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n len = b.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a * b[i];\r\n }\r\n return arr;\r\n }\r\n return 0;\r\n }\r\n\r\n function div(a, b) {\r\n var tOfA = typeof a;\r\n var tOfB = typeof b;\r\n var arr;\r\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\r\n return a / b;\r\n }\r\n var i;\r\n var len;\r\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\r\n len = a.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a[i] / b;\r\n }\r\n return arr;\r\n }\r\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\r\n len = b.length;\r\n arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = a / b[i];\r\n }\r\n return arr;\r\n }\r\n return 0;\r\n }\r\n function mod(a, b) {\r\n if (typeof a === 'string') {\r\n a = parseInt(a, 10);\r\n }\r\n if (typeof b === 'string') {\r\n b = parseInt(b, 10);\r\n }\r\n return a % b;\r\n }\r\n var $bm_sum = sum;\r\n var $bm_sub = sub;\r\n var $bm_mul = mul;\r\n var $bm_div = div;\r\n var $bm_mod = mod;\r\n\r\n function clamp(num, min, max) {\r\n if (min > max) {\r\n var mm = max;\r\n max = min;\r\n min = mm;\r\n }\r\n return Math.min(Math.max(num, min), max);\r\n }\r\n\r\n function radiansToDegrees(val) {\r\n return val / degToRads;\r\n }\r\n var radians_to_degrees = radiansToDegrees;\r\n\r\n function degreesToRadians(val) {\r\n return val * degToRads;\r\n }\r\n var degrees_to_radians = radiansToDegrees;\r\n\r\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\r\n\r\n function length(arr1, arr2) {\r\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\r\n arr2 = arr2 || 0;\r\n return Math.abs(arr1 - arr2);\r\n }\r\n if (!arr2) {\r\n arr2 = helperLengthArray;\r\n }\r\n var i;\r\n var len = Math.min(arr1.length, arr2.length);\r\n var addedLength = 0;\r\n for (i = 0; i < len; i += 1) {\r\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\r\n }\r\n return Math.sqrt(addedLength);\r\n }\r\n\r\n function normalize(vec) {\r\n return div(vec, length(vec));\r\n }\r\n\r\n function rgbToHsl(val) {\r\n var r = val[0]; var g = val[1]; var b = val[2];\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var h;\r\n var s;\r\n var l = (max + min) / 2;\r\n\r\n if (max === min) {\r\n h = 0; // achromatic\r\n s = 0; // achromatic\r\n } else {\r\n var d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\r\n case g: h = (b - r) / d + 2; break;\r\n case b: h = (r - g) / d + 4; break;\r\n default: break;\r\n }\r\n h /= 6;\r\n }\r\n\r\n return [h, s, l, val[3]];\r\n }\r\n\r\n function hue2rgb(p, q, t) {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n }\r\n\r\n function hslToRgb(val) {\r\n var h = val[0];\r\n var s = val[1];\r\n var l = val[2];\r\n\r\n var r;\r\n var g;\r\n var b;\r\n\r\n if (s === 0) {\r\n r = l; // achromatic\r\n b = l; // achromatic\r\n g = l; // achromatic\r\n } else {\r\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hue2rgb(p, q, h + 1 / 3);\r\n g = hue2rgb(p, q, h);\r\n b = hue2rgb(p, q, h - 1 / 3);\r\n }\r\n\r\n return [r, g, b, val[3]];\r\n }\r\n\r\n function linear(t, tMin, tMax, value1, value2) {\r\n if (value1 === undefined || value2 === undefined) {\r\n value1 = tMin;\r\n value2 = tMax;\r\n tMin = 0;\r\n tMax = 1;\r\n }\r\n if (tMax < tMin) {\r\n var _tMin = tMax;\r\n tMax = tMin;\r\n tMin = _tMin;\r\n }\r\n if (t <= tMin) {\r\n return value1;\r\n } if (t >= tMax) {\r\n return value2;\r\n }\r\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\r\n if (!value1.length) {\r\n return value1 + (value2 - value1) * perc;\r\n }\r\n var i;\r\n var len = value1.length;\r\n var arr = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\r\n }\r\n return arr;\r\n }\r\n function random(min, max) {\r\n if (max === undefined) {\r\n if (min === undefined) {\r\n min = 0;\r\n max = 1;\r\n } else {\r\n max = min;\r\n min = undefined;\r\n }\r\n }\r\n if (max.length) {\r\n var i;\r\n var len = max.length;\r\n if (!min) {\r\n min = createTypedArray('float32', len);\r\n }\r\n var arr = createTypedArray('float32', len);\r\n var rnd = BMMath.random();\r\n for (i = 0; i < len; i += 1) {\r\n arr[i] = min[i] + rnd * (max[i] - min[i]);\r\n }\r\n return arr;\r\n }\r\n if (min === undefined) {\r\n min = 0;\r\n }\r\n var rndm = BMMath.random();\r\n return min + rndm * (max - min);\r\n }\r\n\r\n function createPath(points, inTangents, outTangents, closed) {\r\n var i;\r\n var len = points.length;\r\n var path = shapePool.newElement();\r\n path.setPathData(!!closed, len);\r\n var arrPlaceholder = [0, 0];\r\n var inVertexPoint;\r\n var outVertexPoint;\r\n for (i = 0; i < len; i += 1) {\r\n inVertexPoint = (inTangents && inTangents[i]) ? inTangents[i] : arrPlaceholder;\r\n outVertexPoint = (outTangents && outTangents[i]) ? outTangents[i] : arrPlaceholder;\r\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);\r\n }\r\n return path;\r\n }\r\n\r\n function initiateExpression(elem, data, property) {\r\n var val = data.x;\r\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\r\n var _needsRandom = val.indexOf('random') !== -1;\r\n var elemType = elem.data.ty;\r\n var transform;\r\n var $bm_transform;\r\n var content;\r\n var effect;\r\n var thisProperty = property;\r\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\r\n Object.defineProperty(thisProperty, 'value', {\r\n get: function () {\r\n return thisProperty.v;\r\n },\r\n });\r\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\r\n elem.comp.displayStartTime = 0;\r\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\r\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\r\n var width = elem.data.sw ? elem.data.sw : 0;\r\n var height = elem.data.sh ? elem.data.sh : 0;\r\n var name = elem.data.nm;\r\n var loopIn;\r\n var loop_in;\r\n var loopOut;\r\n var loop_out;\r\n var smooth;\r\n var toWorld;\r\n var fromWorld;\r\n var fromComp;\r\n var toComp;\r\n var fromCompToSurface;\r\n var position;\r\n var rotation;\r\n var anchorPoint;\r\n var scale;\r\n var thisLayer;\r\n var thisComp;\r\n var mask;\r\n var valueAtTime;\r\n var velocityAtTime;\r\n\r\n var scoped_bm_rt;\r\n // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\r\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\r\n var numKeys = property.kf ? data.k.length : 0;\r\n\r\n var active = !this.data || this.data.hd !== true;\r\n\r\n var wiggle = function wiggle(freq, amp) {\r\n var iWiggle;\r\n var j;\r\n var lenWiggle = this.pv.length ? this.pv.length : 1;\r\n var addedAmps = createTypedArray('float32', lenWiggle);\r\n freq = 5;\r\n var iterations = Math.floor(time * freq);\r\n iWiggle = 0;\r\n j = 0;\r\n while (iWiggle < iterations) {\r\n // var rnd = BMMath.random();\r\n for (j = 0; j < lenWiggle; j += 1) {\r\n addedAmps[j] += -amp + amp * 2 * BMMath.random();\r\n // addedAmps[j] += -amp + amp*2*rnd;\r\n }\r\n iWiggle += 1;\r\n }\r\n // var rnd2 = BMMath.random();\r\n var periods = time * freq;\r\n var perc = periods - Math.floor(periods);\r\n var arr = createTypedArray('float32', lenWiggle);\r\n if (lenWiggle > 1) {\r\n for (j = 0; j < lenWiggle; j += 1) {\r\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc;\r\n // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\r\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\r\n }\r\n return arr;\r\n }\r\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\r\n }.bind(this);\r\n\r\n if (thisProperty.loopIn) {\r\n loopIn = thisProperty.loopIn.bind(thisProperty);\r\n loop_in = loopIn;\r\n }\r\n\r\n if (thisProperty.loopOut) {\r\n loopOut = thisProperty.loopOut.bind(thisProperty);\r\n loop_out = loopOut;\r\n }\r\n\r\n if (thisProperty.smooth) {\r\n smooth = thisProperty.smooth.bind(thisProperty);\r\n }\r\n\r\n function loopInDuration(type, duration) {\r\n return loopIn(type, duration, true);\r\n }\r\n\r\n function loopOutDuration(type, duration) {\r\n return loopOut(type, duration, true);\r\n }\r\n\r\n if (this.getValueAtTime) {\r\n valueAtTime = this.getValueAtTime.bind(this);\r\n }\r\n\r\n if (this.getVelocityAtTime) {\r\n velocityAtTime = this.getVelocityAtTime.bind(this);\r\n }\r\n\r\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\r\n\r\n function lookAt(elem1, elem2) {\r\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\r\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\r\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\r\n return [yaw, pitch, 0];\r\n }\r\n\r\n function easeOut(t, tMin, tMax, val1, val2) {\r\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\r\n }\r\n\r\n function easeIn(t, tMin, tMax, val1, val2) {\r\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\r\n }\r\n\r\n function ease(t, tMin, tMax, val1, val2) {\r\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\r\n }\r\n\r\n function applyEase(fn, t, tMin, tMax, val1, val2) {\r\n if (val1 === undefined) {\r\n val1 = tMin;\r\n val2 = tMax;\r\n } else {\r\n t = (t - tMin) / (tMax - tMin);\r\n }\r\n if (t > 1) {\r\n t = 1;\r\n } else if (t < 0) {\r\n t = 0;\r\n }\r\n var mult = fn(t);\r\n if ($bm_isInstanceOfArray(val1)) {\r\n var iKey;\r\n var lenKey = val1.length;\r\n var arr = createTypedArray('float32', lenKey);\r\n for (iKey = 0; iKey < lenKey; iKey += 1) {\r\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\r\n }\r\n return arr;\r\n }\r\n return (val2 - val1) * mult + val1;\r\n }\r\n\r\n function nearestKey(time) {\r\n var iKey;\r\n var lenKey = data.k.length;\r\n var index;\r\n var keyTime;\r\n if (!data.k.length || typeof (data.k[0]) === 'number') {\r\n index = 0;\r\n keyTime = 0;\r\n } else {\r\n index = -1;\r\n time *= elem.comp.globalData.frameRate;\r\n if (time < data.k[0].t) {\r\n index = 1;\r\n keyTime = data.k[0].t;\r\n } else {\r\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\r\n if (time === data.k[iKey].t) {\r\n index = iKey + 1;\r\n keyTime = data.k[iKey].t;\r\n break;\r\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\r\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\r\n index = iKey + 2;\r\n keyTime = data.k[iKey + 1].t;\r\n } else {\r\n index = iKey + 1;\r\n keyTime = data.k[iKey].t;\r\n }\r\n break;\r\n }\r\n }\r\n if (index === -1) {\r\n index = iKey + 1;\r\n keyTime = data.k[iKey].t;\r\n }\r\n }\r\n }\r\n var obKey = {};\r\n obKey.index = index;\r\n obKey.time = keyTime / elem.comp.globalData.frameRate;\r\n return obKey;\r\n }\r\n\r\n function key(ind) {\r\n var obKey;\r\n var iKey;\r\n var lenKey;\r\n if (!data.k.length || typeof (data.k[0]) === 'number') {\r\n throw new Error('The property has no keyframe at index ' + ind);\r\n }\r\n ind -= 1;\r\n obKey = {\r\n time: data.k[ind].t / elem.comp.globalData.frameRate,\r\n value: [],\r\n };\r\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\r\n\r\n lenKey = arr.length;\r\n for (iKey = 0; iKey < lenKey; iKey += 1) {\r\n obKey[iKey] = arr[iKey];\r\n obKey.value[iKey] = arr[iKey];\r\n }\r\n return obKey;\r\n }\r\n\r\n function framesToTime(fr, fps) {\r\n if (!fps) {\r\n fps = elem.comp.globalData.frameRate;\r\n }\r\n return fr / fps;\r\n }\r\n\r\n function timeToFrames(t, fps) {\r\n if (!t && t !== 0) {\r\n t = time;\r\n }\r\n if (!fps) {\r\n fps = elem.comp.globalData.frameRate;\r\n }\r\n return t * fps;\r\n }\r\n\r\n function seedRandom(seed) {\r\n BMMath.seedrandom(randSeed + seed);\r\n }\r\n\r\n function sourceRectAtTime() {\r\n return elem.sourceRectAtTime();\r\n }\r\n\r\n function substring(init, end) {\r\n if (typeof value === 'string') {\r\n if (end === undefined) {\r\n return value.substring(init);\r\n }\r\n return value.substring(init, end);\r\n }\r\n return '';\r\n }\r\n\r\n function substr(init, end) {\r\n if (typeof value === 'string') {\r\n if (end === undefined) {\r\n return value.substr(init);\r\n }\r\n return value.substr(init, end);\r\n }\r\n return '';\r\n }\r\n\r\n function posterizeTime(framesPerSecond) {\r\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\r\n value = valueAtTime(time);\r\n }\r\n\r\n var time;\r\n var velocity;\r\n var value;\r\n var text;\r\n var textIndex;\r\n var textTotal;\r\n var selectorValue;\r\n var index = elem.data.ind;\r\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\r\n var parent;\r\n var randSeed = Math.floor(Math.random() * 1000000);\r\n var globalData = elem.globalData;\r\n function executeExpression(_value) {\r\n // globalData.pushExpression();\r\n value = _value;\r\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\r\n return value;\r\n }\r\n if (this.propType === 'textSelector') {\r\n textIndex = this.textIndex;\r\n textTotal = this.textTotal;\r\n selectorValue = this.selectorValue;\r\n }\r\n if (!thisLayer) {\r\n text = elem.layerInterface.text;\r\n thisLayer = elem.layerInterface;\r\n thisComp = elem.comp.compInterface;\r\n toWorld = thisLayer.toWorld.bind(thisLayer);\r\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\r\n fromComp = thisLayer.fromComp.bind(thisLayer);\r\n toComp = thisLayer.toComp.bind(thisLayer);\r\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\r\n fromCompToSurface = fromComp;\r\n }\r\n if (!transform) {\r\n transform = elem.layerInterface('ADBE Transform Group');\r\n $bm_transform = transform;\r\n if (transform) {\r\n anchorPoint = transform.anchorPoint;\r\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\r\n }\r\n }\r\n\r\n if (elemType === 4 && !content) {\r\n content = thisLayer('ADBE Root Vectors Group');\r\n }\r\n if (!effect) {\r\n effect = thisLayer(4);\r\n }\r\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\r\n if (hasParent && !parent) {\r\n parent = elem.hierarchy[0].layerInterface;\r\n }\r\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\r\n if (_needsRandom) {\r\n seedRandom(randSeed + time);\r\n }\r\n if (needsVelocity) {\r\n velocity = velocityAtTime(time);\r\n }\r\n expression_function();\r\n this.frameExpressionId = elem.globalData.frameId;\r\n\r\n // TODO: Check if it's possible to return on ShapeInterface the .v value\r\n if (scoped_bm_rt.propType === 'shape') {\r\n scoped_bm_rt = scoped_bm_rt.v;\r\n }\r\n // globalData.popExpression();\r\n return scoped_bm_rt;\r\n }\r\n return executeExpression;\r\n }\r\n\r\n ob.initiateExpression = initiateExpression;\r\n return ob;\r\n}());\r\n\r\n/* global ExpressionManager, createTypedArray */\r\n/* exported expressionHelpers */\r\n\r\nvar expressionHelpers = (function () {\r\n function searchExpressions(elem, data, prop) {\r\n if (data.x) {\r\n prop.k = true;\r\n prop.x = true;\r\n prop.initiateExpression = ExpressionManager.initiateExpression;\r\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\r\n }\r\n }\r\n\r\n function getValueAtTime(frameNum) {\r\n frameNum *= this.elem.globalData.frameRate;\r\n frameNum -= this.offsetTime;\r\n if (frameNum !== this._cachingAtTime.lastFrame) {\r\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\r\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\r\n this._cachingAtTime.lastFrame = frameNum;\r\n }\r\n return this._cachingAtTime.value;\r\n }\r\n\r\n function getSpeedAtTime(frameNum) {\r\n var delta = -0.01;\r\n var v1 = this.getValueAtTime(frameNum);\r\n var v2 = this.getValueAtTime(frameNum + delta);\r\n var speed = 0;\r\n if (v1.length) {\r\n var i;\r\n for (i = 0; i < v1.length; i += 1) {\r\n speed += Math.pow(v2[i] - v1[i], 2);\r\n }\r\n speed = Math.sqrt(speed) * 100;\r\n } else {\r\n speed = 0;\r\n }\r\n return speed;\r\n }\r\n\r\n function getVelocityAtTime(frameNum) {\r\n if (this.vel !== undefined) {\r\n return this.vel;\r\n }\r\n var delta = -0.001;\r\n // frameNum += this.elem.data.st;\r\n var v1 = this.getValueAtTime(frameNum);\r\n var v2 = this.getValueAtTime(frameNum + delta);\r\n var velocity;\r\n if (v1.length) {\r\n velocity = createTypedArray('float32', v1.length);\r\n var i;\r\n for (i = 0; i < v1.length; i += 1) {\r\n // removing frameRate\r\n // if needed, don't add it here\r\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\r\n velocity[i] = (v2[i] - v1[i]) / delta;\r\n }\r\n } else {\r\n velocity = (v2 - v1) / delta;\r\n }\r\n return velocity;\r\n }\r\n\r\n function getStaticValueAtTime() {\r\n return this.pv;\r\n }\r\n\r\n function setGroupProperty(propertyGroup) {\r\n this.propertyGroup = propertyGroup;\r\n }\r\n\r\n return {\r\n searchExpressions: searchExpressions,\r\n getSpeedAtTime: getSpeedAtTime,\r\n getVelocityAtTime: getVelocityAtTime,\r\n getValueAtTime: getValueAtTime,\r\n getStaticValueAtTime: getStaticValueAtTime,\r\n setGroupProperty: setGroupProperty,\r\n };\r\n}());\r\n\r\n/* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\ninitialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\r\n\r\n(function addPropertyDecorator() {\r\n function loopOut(type, duration, durationFlag) {\r\n if (!this.k || !this.keyframes) {\r\n return this.pv;\r\n }\r\n type = type ? type.toLowerCase() : '';\r\n var currentFrame = this.comp.renderedFrame;\r\n var keyframes = this.keyframes;\r\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\r\n if (currentFrame <= lastKeyFrame) {\r\n return this.pv;\r\n }\r\n var cycleDuration;\r\n var firstKeyFrame;\r\n if (!durationFlag) {\r\n if (!duration || duration > keyframes.length - 1) {\r\n duration = keyframes.length - 1;\r\n }\r\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\r\n cycleDuration = lastKeyFrame - firstKeyFrame;\r\n } else {\r\n if (!duration) {\r\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\r\n } else {\r\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\r\n }\r\n firstKeyFrame = lastKeyFrame - cycleDuration;\r\n }\r\n var i;\r\n var len;\r\n var ret;\r\n if (type === 'pingpong') {\r\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\r\n if (iterations % 2 !== 0) {\r\n return this.getValueAtTime(((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n }\r\n } else if (type === 'offset') {\r\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\r\n if (this.pv.length) {\r\n ret = new Array(initV.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\r\n }\r\n return ret;\r\n }\r\n return (endV - initV) * repeats + current;\r\n } else if (type === 'continue') {\r\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\r\n if (this.pv.length) {\r\n ret = new Array(lastValue.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\r\n }\r\n return ret;\r\n }\r\n return lastValue + (lastValue - nextLastValue) * (((currentFrame - lastKeyFrame)) / 0.001);\r\n }\r\n return this.getValueAtTime((((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n\r\n }\r\n\r\n function loopIn(type, duration, durationFlag) {\r\n if (!this.k) {\r\n return this.pv;\r\n }\r\n type = type ? type.toLowerCase() : '';\r\n var currentFrame = this.comp.renderedFrame;\r\n var keyframes = this.keyframes;\r\n var firstKeyFrame = keyframes[0].t;\r\n if (currentFrame >= firstKeyFrame) {\r\n return this.pv;\r\n }\r\n var cycleDuration;\r\n var lastKeyFrame;\r\n if (!durationFlag) {\r\n if (!duration || duration > keyframes.length - 1) {\r\n duration = keyframes.length - 1;\r\n }\r\n lastKeyFrame = keyframes[duration].t;\r\n cycleDuration = lastKeyFrame - firstKeyFrame;\r\n } else {\r\n if (!duration) {\r\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\r\n } else {\r\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\r\n }\r\n lastKeyFrame = firstKeyFrame + cycleDuration;\r\n }\r\n var i;\r\n var len;\r\n var ret;\r\n if (type === 'pingpong') {\r\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\r\n if (iterations % 2 === 0) {\r\n return this.getValueAtTime((((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n }\r\n } else if (type === 'offset') {\r\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\r\n var current = this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration) + firstKeyFrame) / this.comp.globalData.frameRate, 0);\r\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\r\n if (this.pv.length) {\r\n ret = new Array(initV.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\r\n }\r\n return ret;\r\n }\r\n return current - (endV - initV) * repeats;\r\n } else if (type === 'continue') {\r\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\r\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\r\n if (this.pv.length) {\r\n ret = new Array(firstValue.length);\r\n len = ret.length;\r\n for (i = 0; i < len; i += 1) {\r\n ret[i] = firstValue[i] + ((firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame)) / 0.001;\r\n }\r\n return ret;\r\n }\r\n return firstValue + ((firstValue - nextFirstValue) * (firstKeyFrame - currentFrame)) / 0.001;\r\n }\r\n return this.getValueAtTime(((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame))) / this.comp.globalData.frameRate, 0); // eslint-disable-line\r\n\r\n }\r\n\r\n function smooth(width, samples) {\r\n if (!this.k) {\r\n return this.pv;\r\n }\r\n width = (width || 0.4) * 0.5;\r\n samples = Math.floor(samples || 5);\r\n if (samples <= 1) {\r\n return this.pv;\r\n }\r\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\r\n var initFrame = currentTime - width;\r\n var endFrame = currentTime + width;\r\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\r\n var i = 0;\r\n var j = 0;\r\n var value;\r\n if (this.pv.length) {\r\n value = createTypedArray('float32', this.pv.length);\r\n } else {\r\n value = 0;\r\n }\r\n var sampleValue;\r\n while (i < samples) {\r\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\r\n if (this.pv.length) {\r\n for (j = 0; j < this.pv.length; j += 1) {\r\n value[j] += sampleValue[j];\r\n }\r\n } else {\r\n value += sampleValue;\r\n }\r\n i += 1;\r\n }\r\n if (this.pv.length) {\r\n for (j = 0; j < this.pv.length; j += 1) {\r\n value[j] /= samples;\r\n }\r\n } else {\r\n value /= samples;\r\n }\r\n return value;\r\n }\r\n\r\n function getTransformValueAtTime(time) {\r\n if (!this._transformCachingAtTime) {\r\n this._transformCachingAtTime = {\r\n v: new Matrix(),\r\n };\r\n }\r\n /// /\r\n var matrix = this._transformCachingAtTime.v;\r\n matrix.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n var anchor = this.a.getValueAtTime(time);\r\n matrix.translate(\r\n -anchor[0] * this.a.mult,\r\n -anchor[1] * this.a.mult,\r\n anchor[2] * this.a.mult\r\n );\r\n }\r\n if (this.appliedTransformations < 2) {\r\n var scale = this.s.getValueAtTime(time);\r\n matrix.scale(\r\n scale[0] * this.s.mult,\r\n scale[1] * this.s.mult,\r\n scale[2] * this.s.mult\r\n );\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n var skew = this.sk.getValueAtTime(time);\r\n var skewAxis = this.sa.getValueAtTime(time);\r\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n var rotation = this.r.getValueAtTime(time);\r\n matrix.rotate(-rotation * this.r.mult);\r\n } else if (!this.r && this.appliedTransformations < 4) {\r\n var rotationZ = this.rz.getValueAtTime(time);\r\n var rotationY = this.ry.getValueAtTime(time);\r\n var rotationX = this.rx.getValueAtTime(time);\r\n var orientation = this.or.getValueAtTime(time);\r\n matrix.rotateZ(-rotationZ * this.rz.mult)\r\n .rotateY(rotationY * this.ry.mult)\r\n .rotateX(rotationX * this.rx.mult)\r\n .rotateZ(-orientation[2] * this.or.mult)\r\n .rotateY(orientation[1] * this.or.mult)\r\n .rotateX(orientation[0] * this.or.mult);\r\n }\r\n if (this.data.p && this.data.p.s) {\r\n var positionX = this.px.getValueAtTime(time);\r\n var positionY = this.py.getValueAtTime(time);\r\n if (this.data.p.z) {\r\n var positionZ = this.pz.getValueAtTime(time);\r\n matrix.translate(\r\n positionX * this.px.mult,\r\n positionY * this.py.mult,\r\n -positionZ * this.pz.mult\r\n );\r\n } else {\r\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\r\n }\r\n } else {\r\n var position = this.p.getValueAtTime(time);\r\n matrix.translate(\r\n position[0] * this.p.mult,\r\n position[1] * this.p.mult,\r\n -position[2] * this.p.mult\r\n );\r\n }\r\n return matrix;\r\n /// /\r\n }\r\n\r\n function getTransformStaticValueAtTime() {\r\n return this.v.clone(new Matrix());\r\n }\r\n\r\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\r\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\r\n var prop = getTransformProperty(elem, data, container);\r\n if (prop.dynamicProperties.length) {\r\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\r\n } else {\r\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\r\n }\r\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\r\n return prop;\r\n };\r\n\r\n var propertyGetProp = PropertyFactory.getProp;\r\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\r\n var prop = propertyGetProp(elem, data, type, mult, container);\r\n // prop.getVelocityAtTime = getVelocityAtTime;\r\n // prop.loopOut = loopOut;\r\n // prop.loopIn = loopIn;\r\n if (prop.kf) {\r\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\r\n } else {\r\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\r\n }\r\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\r\n prop.loopOut = loopOut;\r\n prop.loopIn = loopIn;\r\n prop.smooth = smooth;\r\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\r\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\r\n prop.numKeys = data.a === 1 ? data.k.length : 0;\r\n prop.propertyIndex = data.ix;\r\n var value = 0;\r\n if (type !== 0) {\r\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\r\n }\r\n prop._cachingAtTime = {\r\n lastFrame: initialDefaultFrame,\r\n lastIndex: 0,\r\n value: value,\r\n };\r\n expressionHelpers.searchExpressions(elem, data, prop);\r\n if (prop.k) {\r\n container.addDynamicProperty(prop);\r\n }\r\n\r\n return prop;\r\n };\r\n\r\n function getShapeValueAtTime(frameNum) {\r\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\r\n if (!this._cachingAtTime) {\r\n this._cachingAtTime = {\r\n shapeValue: shapePool.clone(this.pv),\r\n lastIndex: 0,\r\n lastTime: initialDefaultFrame,\r\n };\r\n }\r\n\r\n frameNum *= this.elem.globalData.frameRate;\r\n frameNum -= this.offsetTime;\r\n if (frameNum !== this._cachingAtTime.lastTime) {\r\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\r\n this._cachingAtTime.lastTime = frameNum;\r\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\r\n }\r\n return this._cachingAtTime.shapeValue;\r\n }\r\n\r\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\r\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\r\n\r\n function ShapeExpressions() {}\r\n ShapeExpressions.prototype = {\r\n vertices: function (prop, time) {\r\n if (this.k) {\r\n this.getValue();\r\n }\r\n var shapePath = this.v;\r\n if (time !== undefined) {\r\n shapePath = this.getValueAtTime(time, 0);\r\n }\r\n var i;\r\n var len = shapePath._length;\r\n var vertices = shapePath[prop];\r\n var points = shapePath.v;\r\n var arr = createSizedArray(len);\r\n for (i = 0; i < len; i += 1) {\r\n if (prop === 'i' || prop === 'o') {\r\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\r\n } else {\r\n arr[i] = [vertices[i][0], vertices[i][1]];\r\n }\r\n }\r\n return arr;\r\n },\r\n points: function (time) {\r\n return this.vertices('v', time);\r\n },\r\n inTangents: function (time) {\r\n return this.vertices('i', time);\r\n },\r\n outTangents: function (time) {\r\n return this.vertices('o', time);\r\n },\r\n isClosed: function () {\r\n return this.v.c;\r\n },\r\n pointOnPath: function (perc, time) {\r\n var shapePath = this.v;\r\n if (time !== undefined) {\r\n shapePath = this.getValueAtTime(time, 0);\r\n }\r\n if (!this._segmentsLength) {\r\n this._segmentsLength = bez.getSegmentsLength(shapePath);\r\n }\r\n\r\n var segmentsLength = this._segmentsLength;\r\n var lengths = segmentsLength.lengths;\r\n var lengthPos = segmentsLength.totalLength * perc;\r\n var i = 0;\r\n var len = lengths.length;\r\n var accumulatedLength = 0;\r\n var pt;\r\n while (i < len) {\r\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\r\n var initIndex = i;\r\n var endIndex = (shapePath.c && i === len - 1) ? 0 : i + 1;\r\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\r\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\r\n break;\r\n } else {\r\n accumulatedLength += lengths[i].addedLength;\r\n }\r\n i += 1;\r\n }\r\n if (!pt) {\r\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\r\n }\r\n return pt;\r\n },\r\n vectorOnPath: function (perc, time, vectorType) {\r\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\r\n if (perc == 1) { // eslint-disable-line eqeqeq\r\n perc = this.v.c;\r\n } else if (perc == 0) { // eslint-disable-line eqeqeq\r\n perc = 0.999;\r\n }\r\n var pt1 = this.pointOnPath(perc, time);\r\n var pt2 = this.pointOnPath(perc + 0.001, time);\r\n var xLength = pt2[0] - pt1[0];\r\n var yLength = pt2[1] - pt1[1];\r\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\r\n if (magnitude === 0) {\r\n return [0, 0];\r\n }\r\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\r\n return unitVector;\r\n },\r\n tangentOnPath: function (perc, time) {\r\n return this.vectorOnPath(perc, time, 'tangent');\r\n },\r\n normalOnPath: function (perc, time) {\r\n return this.vectorOnPath(perc, time, 'normal');\r\n },\r\n setGroupProperty: expressionHelpers.setGroupProperty,\r\n getValueAtTime: expressionHelpers.getStaticValueAtTime,\r\n };\r\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\r\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\r\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\r\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\r\n\r\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\r\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\r\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\r\n prop.propertyIndex = data.ix;\r\n prop.lock = false;\r\n if (type === 3) {\r\n expressionHelpers.searchExpressions(elem, data.pt, prop);\r\n } else if (type === 4) {\r\n expressionHelpers.searchExpressions(elem, data.ks, prop);\r\n }\r\n if (prop.k) {\r\n elem.addDynamicProperty(prop);\r\n }\r\n return prop;\r\n };\r\n}());\r\n\r\n/* global ExpressionManager, TextProperty */\r\n\r\n(function addDecorator() {\r\n function searchExpressions() {\r\n if (this.data.d.x) {\r\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\r\n this.addEffect(this.getExpressionValue.bind(this));\r\n return true;\r\n }\r\n return null;\r\n }\r\n\r\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\r\n var newValue = this.calculateExpression(text);\r\n if (currentValue.t !== newValue) {\r\n var newData = {};\r\n this.copyData(newData, currentValue);\r\n newData.t = newValue.toString();\r\n newData.__complete = false;\r\n return newData;\r\n }\r\n return currentValue;\r\n };\r\n\r\n TextProperty.prototype.searchProperty = function () {\r\n var isKeyframed = this.searchKeyframes();\r\n var hasExpressions = this.searchExpressions();\r\n this.kf = isKeyframed || hasExpressions;\r\n return this.kf;\r\n };\r\n\r\n TextProperty.prototype.searchExpressions = searchExpressions;\r\n}());\r\n\r\n/* global propertyGroupFactory, PropertyInterface */\r\n/* exported ShapePathInterface */\r\n\r\nvar ShapePathInterface = (\r\n\r\n function () {\r\n return function pathInterfaceFactory(shape, view, propertyGroup) {\r\n var prop = view.sh;\r\n\r\n function interfaceFunction(val) {\r\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\r\n return interfaceFunction.path;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\r\n Object.defineProperties(interfaceFunction, {\r\n path: {\r\n get: function () {\r\n if (prop.k) {\r\n prop.getValue();\r\n }\r\n return prop;\r\n },\r\n },\r\n shape: {\r\n get: function () {\r\n if (prop.k) {\r\n prop.getValue();\r\n }\r\n return prop;\r\n },\r\n },\r\n _name: { value: shape.nm },\r\n ix: { value: shape.ix },\r\n propertyIndex: { value: shape.ix },\r\n mn: { value: shape.mn },\r\n propertyGroup: { value: propertyGroup },\r\n });\r\n return interfaceFunction;\r\n };\r\n }()\r\n);\r\n\r\n/* exported propertyGroupFactory */\r\n\r\nvar propertyGroupFactory = (function () {\r\n return function (interfaceFunction, parentPropertyGroup) {\r\n return function (val) {\r\n val = val === undefined ? 1 : val;\r\n if (val <= 0) {\r\n return interfaceFunction;\r\n }\r\n return parentPropertyGroup(val - 1);\r\n };\r\n };\r\n}());\r\n\r\n/* exported PropertyInterface */\r\n\r\nvar PropertyInterface = (function () {\r\n return function (propertyName, propertyGroup) {\r\n var interfaceFunction = {\r\n _name: propertyName,\r\n };\r\n\r\n function _propertyGroup(val) {\r\n val = val === undefined ? 1 : val;\r\n if (val <= 0) {\r\n return interfaceFunction;\r\n }\r\n return propertyGroup(val - 1);\r\n }\r\n\r\n return _propertyGroup;\r\n };\r\n}());\r\n\r\n/* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\r\n/* exported ShapeExpressionInterface */\r\n\r\nvar ShapeExpressionInterface = (function () {\r\n function iterateElements(shapes, view, propertyGroup) {\r\n var arr = [];\r\n var i;\r\n var len = shapes ? shapes.length : 0;\r\n for (i = 0; i < len; i += 1) {\r\n if (shapes[i].ty === 'gr') {\r\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'fl') {\r\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'st') {\r\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'tm') {\r\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'tr') {\r\n // arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\r\n } else if (shapes[i].ty === 'el') {\r\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'sr') {\r\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'sh') {\r\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'rc') {\r\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'rd') {\r\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'rp') {\r\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else if (shapes[i].ty === 'gf') {\r\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n } else {\r\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\r\n }\r\n }\r\n return arr;\r\n }\r\n\r\n function contentsInterfaceFactory(shape, view, propertyGroup) {\r\n var interfaces;\r\n var interfaceFunction = function _interfaceFunction(value) {\r\n var i = 0;\r\n var len = interfaces.length;\r\n while (i < len) {\r\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\r\n return interfaces[i];\r\n }\r\n i += 1;\r\n }\r\n if (typeof value === 'number') {\r\n return interfaces[value - 1];\r\n }\r\n return null;\r\n };\r\n\r\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\r\n interfaceFunction.numProperties = interfaces.length;\r\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\r\n interfaceFunction.transform = transformInterface;\r\n interfaceFunction.propertyIndex = shape.cix;\r\n interfaceFunction._name = shape.nm;\r\n\r\n return interfaceFunction;\r\n }\r\n\r\n function groupInterfaceFactory(shape, view, propertyGroup) {\r\n var interfaceFunction = function _interfaceFunction(value) {\r\n switch (value) {\r\n case 'ADBE Vectors Group':\r\n case 'Contents':\r\n case 2:\r\n return interfaceFunction.content;\r\n // Not necessary for now. Keeping them here in case a new case appears\r\n // case 'ADBE Vector Transform Group':\r\n // case 3:\r\n default:\r\n return interfaceFunction.transform;\r\n }\r\n };\r\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\r\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\r\n interfaceFunction.content = content;\r\n interfaceFunction.transform = transformInterface;\r\n Object.defineProperty(interfaceFunction, '_name', {\r\n get: function () {\r\n return shape.nm;\r\n },\r\n });\r\n // interfaceFunction.content = interfaceFunction;\r\n interfaceFunction.numProperties = shape.np;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n interfaceFunction.nm = shape.nm;\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function fillInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(val) {\r\n if (val === 'Color' || val === 'color') {\r\n return interfaceFunction.color;\r\n } if (val === 'Opacity' || val === 'opacity') {\r\n return interfaceFunction.opacity;\r\n }\r\n return null;\r\n }\r\n Object.defineProperties(interfaceFunction, {\r\n color: {\r\n get: ExpressionPropertyInterface(view.c),\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n _name: { value: shape.nm },\r\n mn: { value: shape.mn },\r\n });\r\n\r\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\r\n return interfaceFunction;\r\n }\r\n\r\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(val) {\r\n if (val === 'Start Point' || val === 'start point') {\r\n return interfaceFunction.startPoint;\r\n }\r\n if (val === 'End Point' || val === 'end point') {\r\n return interfaceFunction.endPoint;\r\n }\r\n if (val === 'Opacity' || val === 'opacity') {\r\n return interfaceFunction.opacity;\r\n }\r\n return null;\r\n }\r\n Object.defineProperties(interfaceFunction, {\r\n startPoint: {\r\n get: ExpressionPropertyInterface(view.s),\r\n },\r\n endPoint: {\r\n get: ExpressionPropertyInterface(view.e),\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n type: {\r\n get: function () {\r\n return 'a';\r\n },\r\n },\r\n _name: { value: shape.nm },\r\n mn: { value: shape.mn },\r\n });\r\n\r\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\r\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\r\n return interfaceFunction;\r\n }\r\n function defaultInterfaceFactory() {\r\n function interfaceFunction() {\r\n return null;\r\n }\r\n return interfaceFunction;\r\n }\r\n\r\n function strokeInterfaceFactory(shape, view, propertyGroup) {\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\r\n function addPropertyToDashOb(i) {\r\n Object.defineProperty(dashOb, shape.d[i].nm, {\r\n get: ExpressionPropertyInterface(view.d.dataProps[i].p),\r\n });\r\n }\r\n var i;\r\n var len = shape.d ? shape.d.length : 0;\r\n var dashOb = {};\r\n for (i = 0; i < len; i += 1) {\r\n addPropertyToDashOb(i);\r\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\r\n }\r\n\r\n function interfaceFunction(val) {\r\n if (val === 'Color' || val === 'color') {\r\n return interfaceFunction.color;\r\n } if (val === 'Opacity' || val === 'opacity') {\r\n return interfaceFunction.opacity;\r\n } if (val === 'Stroke Width' || val === 'stroke width') {\r\n return interfaceFunction.strokeWidth;\r\n }\r\n return null;\r\n }\r\n Object.defineProperties(interfaceFunction, {\r\n color: {\r\n get: ExpressionPropertyInterface(view.c),\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n strokeWidth: {\r\n get: ExpressionPropertyInterface(view.w),\r\n },\r\n dash: {\r\n get: function () {\r\n return dashOb;\r\n },\r\n },\r\n _name: { value: shape.nm },\r\n mn: { value: shape.mn },\r\n });\r\n\r\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\r\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\r\n return interfaceFunction;\r\n }\r\n\r\n function trimInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(val) {\r\n if (val === shape.e.ix || val === 'End' || val === 'end') {\r\n return interfaceFunction.end;\r\n }\r\n if (val === shape.s.ix) {\r\n return interfaceFunction.start;\r\n }\r\n if (val === shape.o.ix) {\r\n return interfaceFunction.offset;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n interfaceFunction.propertyIndex = shape.ix;\r\n\r\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\r\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\r\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\r\n interfaceFunction.propertyIndex = shape.ix;\r\n interfaceFunction.propertyGroup = propertyGroup;\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n start: {\r\n get: ExpressionPropertyInterface(view.s),\r\n },\r\n end: {\r\n get: ExpressionPropertyInterface(view.e),\r\n },\r\n offset: {\r\n get: ExpressionPropertyInterface(view.o),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function transformInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.a.ix === value || value === 'Anchor Point') {\r\n return interfaceFunction.anchorPoint;\r\n }\r\n if (shape.o.ix === value || value === 'Opacity') {\r\n return interfaceFunction.opacity;\r\n }\r\n if (shape.p.ix === value || value === 'Position') {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\r\n return interfaceFunction.rotation;\r\n }\r\n if (shape.s.ix === value || value === 'Scale') {\r\n return interfaceFunction.scale;\r\n }\r\n if ((shape.sk && shape.sk.ix === value) || value === 'Skew') {\r\n return interfaceFunction.skew;\r\n }\r\n if ((shape.sa && shape.sa.ix === value) || value === 'Skew Axis') {\r\n return interfaceFunction.skewAxis;\r\n }\r\n return null;\r\n }\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\r\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\r\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\r\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\r\n if (view.transform.mProps.sk) {\r\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\r\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\r\n }\r\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\r\n Object.defineProperties(interfaceFunction, {\r\n opacity: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.o),\r\n },\r\n position: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.p),\r\n },\r\n anchorPoint: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.a),\r\n },\r\n scale: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.s),\r\n },\r\n rotation: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.r),\r\n },\r\n skew: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.sk),\r\n },\r\n skewAxis: {\r\n get: ExpressionPropertyInterface(view.transform.mProps.sa),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.ty = 'tr';\r\n interfaceFunction.mn = shape.mn;\r\n interfaceFunction.propertyGroup = propertyGroup;\r\n return interfaceFunction;\r\n }\r\n\r\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.p.ix === value) {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.s.ix === value) {\r\n return interfaceFunction.size;\r\n }\r\n return null;\r\n }\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n interfaceFunction.propertyIndex = shape.ix;\r\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\r\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\r\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n size: {\r\n get: ExpressionPropertyInterface(prop.s),\r\n },\r\n position: {\r\n get: ExpressionPropertyInterface(prop.p),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function starInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.p.ix === value) {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.r.ix === value) {\r\n return interfaceFunction.rotation;\r\n }\r\n if (shape.pt.ix === value) {\r\n return interfaceFunction.points;\r\n }\r\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\r\n return interfaceFunction.outerRadius;\r\n }\r\n if (shape.os.ix === value) {\r\n return interfaceFunction.outerRoundness;\r\n }\r\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\r\n return interfaceFunction.innerRadius;\r\n }\r\n if (shape.is && shape.is.ix === value) {\r\n return interfaceFunction.innerRoundness;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\r\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\r\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\r\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\r\n if (shape.ir) {\r\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\r\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\r\n }\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n position: {\r\n get: ExpressionPropertyInterface(prop.p),\r\n },\r\n rotation: {\r\n get: ExpressionPropertyInterface(prop.r),\r\n },\r\n points: {\r\n get: ExpressionPropertyInterface(prop.pt),\r\n },\r\n outerRadius: {\r\n get: ExpressionPropertyInterface(prop.or),\r\n },\r\n outerRoundness: {\r\n get: ExpressionPropertyInterface(prop.os),\r\n },\r\n innerRadius: {\r\n get: ExpressionPropertyInterface(prop.ir),\r\n },\r\n innerRoundness: {\r\n get: ExpressionPropertyInterface(prop.is),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function rectInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.p.ix === value) {\r\n return interfaceFunction.position;\r\n }\r\n if (shape.r.ix === value) {\r\n return interfaceFunction.roundness;\r\n }\r\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\r\n return interfaceFunction.size;\r\n }\r\n return null;\r\n }\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n\r\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\r\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\r\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n position: {\r\n get: ExpressionPropertyInterface(prop.p),\r\n },\r\n roundness: {\r\n get: ExpressionPropertyInterface(prop.r),\r\n },\r\n size: {\r\n get: ExpressionPropertyInterface(prop.s),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function roundedInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.r.ix === value || value === 'Round Corners 1') {\r\n return interfaceFunction.radius;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var prop = view;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\r\n\r\n Object.defineProperties(interfaceFunction, {\r\n radius: {\r\n get: ExpressionPropertyInterface(prop.rd),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\r\n function interfaceFunction(value) {\r\n if (shape.c.ix === value || value === 'Copies') {\r\n return interfaceFunction.copies;\r\n } if (shape.o.ix === value || value === 'Offset') {\r\n return interfaceFunction.offset;\r\n }\r\n return null;\r\n }\r\n\r\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\r\n var prop = view;\r\n interfaceFunction.propertyIndex = shape.ix;\r\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\r\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\r\n Object.defineProperties(interfaceFunction, {\r\n copies: {\r\n get: ExpressionPropertyInterface(prop.c),\r\n },\r\n offset: {\r\n get: ExpressionPropertyInterface(prop.o),\r\n },\r\n _name: { value: shape.nm },\r\n });\r\n interfaceFunction.mn = shape.mn;\r\n return interfaceFunction;\r\n }\r\n\r\n return function (shapes, view, propertyGroup) {\r\n var interfaces;\r\n function _interfaceFunction(value) {\r\n if (typeof value === 'number') {\r\n value = value === undefined ? 1 : value;\r\n if (value === 0) {\r\n return propertyGroup;\r\n }\r\n return interfaces[value - 1];\r\n }\r\n var i = 0;\r\n var len = interfaces.length;\r\n while (i < len) {\r\n if (interfaces[i]._name === value) {\r\n return interfaces[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n function parentGroupWrapper() {\r\n return propertyGroup;\r\n }\r\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\r\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\r\n _interfaceFunction.numProperties = interfaces.length;\r\n _interfaceFunction._name = 'Contents';\r\n return _interfaceFunction;\r\n };\r\n}());\r\n\r\n/* exported TextExpressionInterface */\r\n\r\nvar TextExpressionInterface = (function () {\r\n return function (elem) {\r\n var _prevValue;\r\n var _sourceText;\r\n function _thisLayerFunction(name) {\r\n switch (name) {\r\n case 'ADBE Text Document':\r\n return _thisLayerFunction.sourceText;\r\n default:\r\n return null;\r\n }\r\n }\r\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\r\n get: function () {\r\n elem.textProperty.getValue();\r\n var stringValue = elem.textProperty.currentData.t;\r\n if (stringValue !== _prevValue) {\r\n elem.textProperty.currentData.t = _prevValue;\r\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\r\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\r\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\r\n }\r\n return _sourceText;\r\n },\r\n });\r\n return _thisLayerFunction;\r\n };\r\n}());\r\n\r\n/* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\r\n/* exported LayerExpressionInterface */\r\n\r\nvar LayerExpressionInterface = (function () {\r\n function getMatrix(time) {\r\n var toWorldMat = new Matrix();\r\n if (time !== undefined) {\r\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\r\n propMatrix.clone(toWorldMat);\r\n } else {\r\n var transformMat = this._elem.finalTransform.mProp;\r\n transformMat.applyToMatrix(toWorldMat);\r\n }\r\n return toWorldMat;\r\n }\r\n\r\n function toWorldVec(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n toWorldMat.props[12] = 0;\r\n toWorldMat.props[13] = 0;\r\n toWorldMat.props[14] = 0;\r\n return this.applyPoint(toWorldMat, arr);\r\n }\r\n\r\n function toWorld(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n return this.applyPoint(toWorldMat, arr);\r\n }\r\n\r\n function fromWorldVec(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n toWorldMat.props[12] = 0;\r\n toWorldMat.props[13] = 0;\r\n toWorldMat.props[14] = 0;\r\n return this.invertPoint(toWorldMat, arr);\r\n }\r\n\r\n function fromWorld(arr, time) {\r\n var toWorldMat = this.getMatrix(time);\r\n return this.invertPoint(toWorldMat, arr);\r\n }\r\n\r\n function applyPoint(matrix, arr) {\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var i;\r\n var len = this._elem.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\r\n }\r\n }\r\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\r\n }\r\n\r\n function invertPoint(matrix, arr) {\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var i;\r\n var len = this._elem.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\r\n }\r\n }\r\n return matrix.inversePoint(arr);\r\n }\r\n\r\n function fromComp(arr) {\r\n var toWorldMat = new Matrix();\r\n toWorldMat.reset();\r\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var i;\r\n var len = this._elem.hierarchy.length;\r\n for (i = 0; i < len; i += 1) {\r\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\r\n }\r\n return toWorldMat.inversePoint(arr);\r\n }\r\n return toWorldMat.inversePoint(arr);\r\n }\r\n\r\n function sampleImage() {\r\n return [1, 1, 1, 1];\r\n }\r\n\r\n return function (elem) {\r\n var transformInterface;\r\n\r\n function _registerMaskInterface(maskManager) {\r\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\r\n }\r\n function _registerEffectsInterface(effects) {\r\n _thisLayerFunction.effect = effects;\r\n }\r\n\r\n function _thisLayerFunction(name) {\r\n switch (name) {\r\n case 'ADBE Root Vectors Group':\r\n case 'Contents':\r\n case 2:\r\n return _thisLayerFunction.shapeInterface;\r\n case 1:\r\n case 6:\r\n case 'Transform':\r\n case 'transform':\r\n case 'ADBE Transform Group':\r\n return transformInterface;\r\n case 4:\r\n case 'ADBE Effect Parade':\r\n case 'effects':\r\n case 'Effects':\r\n return _thisLayerFunction.effect;\r\n case 'ADBE Text Properties':\r\n return _thisLayerFunction.textInterface;\r\n default:\r\n return null;\r\n }\r\n }\r\n _thisLayerFunction.getMatrix = getMatrix;\r\n _thisLayerFunction.invertPoint = invertPoint;\r\n _thisLayerFunction.applyPoint = applyPoint;\r\n _thisLayerFunction.toWorld = toWorld;\r\n _thisLayerFunction.toWorldVec = toWorldVec;\r\n _thisLayerFunction.fromWorld = fromWorld;\r\n _thisLayerFunction.fromWorldVec = fromWorldVec;\r\n _thisLayerFunction.toComp = toWorld;\r\n _thisLayerFunction.fromComp = fromComp;\r\n _thisLayerFunction.sampleImage = sampleImage;\r\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\r\n _thisLayerFunction._elem = elem;\r\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\r\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\r\n Object.defineProperties(_thisLayerFunction, {\r\n hasParent: {\r\n get: function () {\r\n return elem.hierarchy.length;\r\n },\r\n },\r\n parent: {\r\n get: function () {\r\n return elem.hierarchy[0].layerInterface;\r\n },\r\n },\r\n rotation: getDescriptor(transformInterface, 'rotation'),\r\n scale: getDescriptor(transformInterface, 'scale'),\r\n position: getDescriptor(transformInterface, 'position'),\r\n opacity: getDescriptor(transformInterface, 'opacity'),\r\n anchorPoint: anchorPointDescriptor,\r\n anchor_point: anchorPointDescriptor,\r\n transform: {\r\n get: function () {\r\n return transformInterface;\r\n },\r\n },\r\n active: {\r\n get: function () {\r\n return elem.isInRange;\r\n },\r\n },\r\n });\r\n\r\n _thisLayerFunction.startTime = elem.data.st;\r\n _thisLayerFunction.index = elem.data.ind;\r\n _thisLayerFunction.source = elem.data.refId;\r\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\r\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\r\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\r\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\r\n _thisLayerFunction._name = elem.data.nm;\r\n\r\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\r\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\r\n return _thisLayerFunction;\r\n };\r\n}());\r\n\r\n/* global */\r\n/* exported FootageInterface */\r\n\r\nvar FootageInterface = (function () {\r\n var outlineInterfaceFactory = (function (elem) {\r\n var currentPropertyName = '';\r\n var currentProperty = elem.getFootageData();\r\n function init() {\r\n currentPropertyName = '';\r\n currentProperty = elem.getFootageData();\r\n return searchProperty;\r\n }\r\n function searchProperty(value) {\r\n if (currentProperty[value]) {\r\n currentPropertyName = value;\r\n currentProperty = currentProperty[value];\r\n if (typeof currentProperty === 'object') {\r\n return searchProperty;\r\n }\r\n return currentProperty;\r\n }\r\n var propertyNameIndex = value.indexOf(currentPropertyName);\r\n if (propertyNameIndex !== -1) {\r\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\r\n currentProperty = currentProperty[index];\r\n if (typeof currentProperty === 'object') {\r\n return searchProperty;\r\n }\r\n return currentProperty;\r\n }\r\n return '';\r\n }\r\n return init;\r\n });\r\n\r\n var dataInterfaceFactory = function (elem) {\r\n function interfaceFunction(value) {\r\n if (value === 'Outline') {\r\n return interfaceFunction.outlineInterface();\r\n }\r\n return null;\r\n }\r\n\r\n interfaceFunction._name = 'Outline';\r\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\r\n return interfaceFunction;\r\n };\r\n\r\n return function (elem) {\r\n function _interfaceFunction(value) {\r\n if (value === 'Data') {\r\n return _interfaceFunction.dataInterface;\r\n }\r\n return null;\r\n }\r\n\r\n _interfaceFunction._name = 'Data';\r\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\r\n return _interfaceFunction;\r\n };\r\n}());\r\n\r\n/* exported CompExpressionInterface */\r\n\r\nvar CompExpressionInterface = (function () {\r\n return function (comp) {\r\n function _thisLayerFunction(name) {\r\n var i = 0;\r\n var len = comp.layers.length;\r\n while (i < len) {\r\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\r\n return comp.elements[i].layerInterface;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n // return {active:false};\r\n }\r\n Object.defineProperty(_thisLayerFunction, '_name', { value: comp.data.nm });\r\n _thisLayerFunction.layer = _thisLayerFunction;\r\n _thisLayerFunction.pixelAspect = 1;\r\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\r\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\r\n _thisLayerFunction.pixelAspect = 1;\r\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\r\n _thisLayerFunction.displayStartTime = 0;\r\n _thisLayerFunction.numLayers = comp.layers.length;\r\n return _thisLayerFunction;\r\n };\r\n}());\r\n\r\n/* global ExpressionPropertyInterface */\r\n/* exported TransformExpressionInterface */\r\n\r\nvar TransformExpressionInterface = (function () {\r\n return function (transform) {\r\n function _thisFunction(name) {\r\n switch (name) {\r\n case 'scale':\r\n case 'Scale':\r\n case 'ADBE Scale':\r\n case 6:\r\n return _thisFunction.scale;\r\n case 'rotation':\r\n case 'Rotation':\r\n case 'ADBE Rotation':\r\n case 'ADBE Rotate Z':\r\n case 10:\r\n return _thisFunction.rotation;\r\n case 'ADBE Rotate X':\r\n return _thisFunction.xRotation;\r\n case 'ADBE Rotate Y':\r\n return _thisFunction.yRotation;\r\n case 'position':\r\n case 'Position':\r\n case 'ADBE Position':\r\n case 2:\r\n return _thisFunction.position;\r\n case 'ADBE Position_0':\r\n return _thisFunction.xPosition;\r\n case 'ADBE Position_1':\r\n return _thisFunction.yPosition;\r\n case 'ADBE Position_2':\r\n return _thisFunction.zPosition;\r\n case 'anchorPoint':\r\n case 'AnchorPoint':\r\n case 'Anchor Point':\r\n case 'ADBE AnchorPoint':\r\n case 1:\r\n return _thisFunction.anchorPoint;\r\n case 'opacity':\r\n case 'Opacity':\r\n case 11:\r\n return _thisFunction.opacity;\r\n default:\r\n return null;\r\n }\r\n }\r\n Object.defineProperty(_thisFunction, 'rotation', {\r\n get: ExpressionPropertyInterface(transform.r || transform.rz),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'zRotation', {\r\n get: ExpressionPropertyInterface(transform.rz || transform.r),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'xRotation', {\r\n get: ExpressionPropertyInterface(transform.rx),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'yRotation', {\r\n get: ExpressionPropertyInterface(transform.ry),\r\n });\r\n Object.defineProperty(_thisFunction, 'scale', {\r\n get: ExpressionPropertyInterface(transform.s),\r\n });\r\n var _px;\r\n var _py;\r\n var _pz;\r\n var _transformFactory;\r\n if (transform.p) {\r\n _transformFactory = ExpressionPropertyInterface(transform.p);\r\n } else {\r\n _px = ExpressionPropertyInterface(transform.px);\r\n _py = ExpressionPropertyInterface(transform.py);\r\n if (transform.pz) {\r\n _pz = ExpressionPropertyInterface(transform.pz);\r\n }\r\n }\r\n Object.defineProperty(_thisFunction, 'position', {\r\n get: function () {\r\n if (transform.p) {\r\n return _transformFactory();\r\n }\r\n return [\r\n _px(),\r\n _py(),\r\n _pz ? _pz() : 0];\r\n },\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'xPosition', {\r\n get: ExpressionPropertyInterface(transform.px),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'yPosition', {\r\n get: ExpressionPropertyInterface(transform.py),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'zPosition', {\r\n get: ExpressionPropertyInterface(transform.pz),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'anchorPoint', {\r\n get: ExpressionPropertyInterface(transform.a),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'opacity', {\r\n get: ExpressionPropertyInterface(transform.o),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'skew', {\r\n get: ExpressionPropertyInterface(transform.sk),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'skewAxis', {\r\n get: ExpressionPropertyInterface(transform.sa),\r\n });\r\n\r\n Object.defineProperty(_thisFunction, 'orientation', {\r\n get: ExpressionPropertyInterface(transform.or),\r\n });\r\n\r\n return _thisFunction;\r\n };\r\n}());\r\n\r\n/* exported ProjectInterface */\r\n\r\nvar ProjectInterface = (function () {\r\n function registerComposition(comp) {\r\n this.compositions.push(comp);\r\n }\r\n\r\n return function () {\r\n function _thisProjectFunction(name) {\r\n var i = 0;\r\n var len = this.compositions.length;\r\n while (i < len) {\r\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\r\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\r\n this.compositions[i].prepareFrame(this.currentFrame);\r\n }\r\n return this.compositions[i].compInterface;\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n }\r\n\r\n _thisProjectFunction.compositions = [];\r\n _thisProjectFunction.currentFrame = 0;\r\n\r\n _thisProjectFunction.registerComposition = registerComposition;\r\n\r\n return _thisProjectFunction;\r\n };\r\n}());\r\n\r\n/* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\r\n/* exported EffectsExpressionInterface */\r\n\r\nvar EffectsExpressionInterface = (function () {\r\n var ob = {\r\n createEffectsInterface: createEffectsInterface,\r\n };\r\n\r\n function createEffectsInterface(elem, propertyGroup) {\r\n if (elem.effectsManager) {\r\n var effectElements = [];\r\n var effectsData = elem.data.ef;\r\n var i;\r\n var len = elem.effectsManager.effectElements.length;\r\n for (i = 0; i < len; i += 1) {\r\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\r\n }\r\n\r\n var effects = elem.data.ef || [];\r\n var groupInterface = function (name) {\r\n i = 0;\r\n len = effects.length;\r\n while (i < len) {\r\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\r\n return effectElements[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n };\r\n Object.defineProperty(groupInterface, 'numProperties', {\r\n get: function () {\r\n return effects.length;\r\n },\r\n });\r\n return groupInterface;\r\n }\r\n return null;\r\n }\r\n\r\n function createGroupInterface(data, elements, propertyGroup, elem) {\r\n function groupInterface(name) {\r\n var effects = data.ef;\r\n var i = 0;\r\n var len = effects.length;\r\n while (i < len) {\r\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\r\n if (effects[i].ty === 5) {\r\n return effectElements[i];\r\n }\r\n return effectElements[i]();\r\n }\r\n i += 1;\r\n }\r\n throw new Error();\r\n }\r\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\r\n\r\n var effectElements = [];\r\n var i;\r\n var len = data.ef.length;\r\n for (i = 0; i < len; i += 1) {\r\n if (data.ef[i].ty === 5) {\r\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\r\n } else {\r\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\r\n }\r\n }\r\n\r\n if (data.mn === 'ADBE Color Control') {\r\n Object.defineProperty(groupInterface, 'color', {\r\n get: function () {\r\n return effectElements[0]();\r\n },\r\n });\r\n }\r\n Object.defineProperties(groupInterface, {\r\n numProperties: {\r\n get: function () {\r\n return data.np;\r\n },\r\n },\r\n _name: { value: data.nm },\r\n propertyGroup: { value: _propertyGroup },\r\n });\r\n groupInterface.enabled = data.en !== 0;\r\n groupInterface.active = groupInterface.enabled;\r\n return groupInterface;\r\n }\r\n\r\n function createValueInterface(element, type, elem, propertyGroup) {\r\n var expressionProperty = ExpressionPropertyInterface(element.p);\r\n function interfaceFunction() {\r\n if (type === 10) {\r\n return elem.comp.compInterface(element.p.v);\r\n }\r\n return expressionProperty();\r\n }\r\n\r\n if (element.p.setGroupProperty) {\r\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\r\n }\r\n\r\n return interfaceFunction;\r\n }\r\n\r\n return ob;\r\n}());\r\n\r\n/* global createSizedArray */\r\n/* exported MaskManagerInterface */\r\n\r\nvar MaskManagerInterface = (function () {\r\n function MaskInterface(mask, data) {\r\n this._mask = mask;\r\n this._data = data;\r\n }\r\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\r\n get: function () {\r\n if (this._mask.prop.k) {\r\n this._mask.prop.getValue();\r\n }\r\n return this._mask.prop;\r\n },\r\n });\r\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\r\n get: function () {\r\n if (this._mask.op.k) {\r\n this._mask.op.getValue();\r\n }\r\n return this._mask.op.v * 100;\r\n },\r\n });\r\n\r\n var MaskManager = function (maskManager) {\r\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\r\n var i;\r\n var len = maskManager.viewData.length;\r\n for (i = 0; i < len; i += 1) {\r\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\r\n }\r\n\r\n var maskFunction = function (name) {\r\n i = 0;\r\n while (i < len) {\r\n if (maskManager.masksProperties[i].nm === name) {\r\n return _masksInterfaces[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n };\r\n return maskFunction;\r\n };\r\n return MaskManager;\r\n}());\r\n\r\n/* global createTypedArray */\r\n/* exported ExpressionPropertyInterface */\r\n\r\nvar ExpressionPropertyInterface = (function () {\r\n var defaultUnidimensionalValue = { pv: 0, v: 0, mult: 1 };\r\n var defaultMultidimensionalValue = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 };\r\n\r\n function completeProperty(expressionValue, property, type) {\r\n Object.defineProperty(expressionValue, 'velocity', {\r\n get: function () {\r\n return property.getVelocityAtTime(property.comp.currentFrame);\r\n },\r\n });\r\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\r\n expressionValue.key = function (pos) {\r\n if (!expressionValue.numKeys) {\r\n return 0;\r\n }\r\n var value = '';\r\n if ('s' in property.keyframes[pos - 1]) {\r\n value = property.keyframes[pos - 1].s;\r\n } else if ('e' in property.keyframes[pos - 2]) {\r\n value = property.keyframes[pos - 2].e;\r\n } else {\r\n value = property.keyframes[pos - 2].s;\r\n }\r\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\r\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\r\n valueProp.value = type === 'unidimensional' ? value[0] : value;\r\n return valueProp;\r\n };\r\n expressionValue.valueAtTime = property.getValueAtTime;\r\n expressionValue.speedAtTime = property.getSpeedAtTime;\r\n expressionValue.velocityAtTime = property.getVelocityAtTime;\r\n expressionValue.propertyGroup = property.propertyGroup;\r\n }\r\n\r\n function UnidimensionalPropertyInterface(property) {\r\n if (!property || !('pv' in property)) {\r\n property = defaultUnidimensionalValue;\r\n }\r\n var mult = 1 / property.mult;\r\n var val = property.pv * mult;\r\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\r\n expressionValue.value = val;\r\n completeProperty(expressionValue, property, 'unidimensional');\r\n\r\n return function () {\r\n if (property.k) {\r\n property.getValue();\r\n }\r\n val = property.v * mult;\r\n if (expressionValue.value !== val) {\r\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\r\n expressionValue.value = val;\r\n completeProperty(expressionValue, property, 'unidimensional');\r\n }\r\n return expressionValue;\r\n };\r\n }\r\n\r\n function MultidimensionalPropertyInterface(property) {\r\n if (!property || !('pv' in property)) {\r\n property = defaultMultidimensionalValue;\r\n }\r\n var mult = 1 / property.mult;\r\n var len = (property.data && property.data.l) || property.pv.length;\r\n var expressionValue = createTypedArray('float32', len);\r\n var arrValue = createTypedArray('float32', len);\r\n expressionValue.value = arrValue;\r\n completeProperty(expressionValue, property, 'multidimensional');\r\n\r\n return function () {\r\n if (property.k) {\r\n property.getValue();\r\n }\r\n for (var i = 0; i < len; i += 1) {\r\n arrValue[i] = property.v[i] * mult;\r\n expressionValue[i] = arrValue[i];\r\n }\r\n return expressionValue;\r\n };\r\n }\r\n\r\n // TODO: try to avoid using this getter\r\n function defaultGetter() {\r\n return defaultUnidimensionalValue;\r\n }\r\n\r\n return function (property) {\r\n if (!property) {\r\n return defaultGetter;\r\n } if (property.propType === 'unidimensional') {\r\n return UnidimensionalPropertyInterface(property);\r\n }\r\n return MultidimensionalPropertyInterface(property);\r\n };\r\n}());\r\n\r\n/* global expressionHelpers, TextSelectorProp, ExpressionManager */\r\n/* exported TextExpressionSelectorPropFactory */\r\n\r\nvar TextExpressionSelectorPropFactory = (function () { // eslint-disable-line no-unused-vars\r\n function getValueProxy(index, total) {\r\n this.textIndex = index + 1;\r\n this.textTotal = total;\r\n this.v = this.getValue() * this.mult;\r\n return this.v;\r\n }\r\n\r\n return function (elem, data) {\r\n this.pv = 1;\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.mult = 0.01;\r\n this.propType = 'textSelector';\r\n this.textTotal = data.totalChars;\r\n this.selectorValue = 100;\r\n this.lastValue = [1, 1, 1];\r\n this.k = true;\r\n this.x = true;\r\n this.getValue = ExpressionManager.initiateExpression.bind(this)(elem, data, this);\r\n this.getMult = getValueProxy;\r\n this.getVelocityAtTime = expressionHelpers.getVelocityAtTime;\r\n if (this.kf) {\r\n this.getValueAtTime = expressionHelpers.getValueAtTime.bind(this);\r\n } else {\r\n this.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this);\r\n }\r\n this.setGroupProperty = expressionHelpers.setGroupProperty;\r\n };\r\n}());\r\n\r\nvar propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\r\nTextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\r\n if (data.t === 1) {\r\n return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\r\n }\r\n return propertyGetTextProp(elem, data, arr);\r\n};\r\n\r\n/* global PropertyFactory */\r\n/* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\r\n\r\nfunction SliderEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction AngleEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction ColorEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\r\n}\r\nfunction PointEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\r\n}\r\nfunction LayerIndexEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction MaskIndexEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction CheckboxEffect(data, elem, container) {\r\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\r\n}\r\nfunction NoValueEffect() {\r\n this.p = {};\r\n}\r\n\r\n/* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\nMaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\r\n\r\nfunction EffectsManager(data, element) {\r\n var effects = data.ef || [];\r\n this.effectElements = [];\r\n var i;\r\n var len = effects.length;\r\n var effectItem;\r\n for (i = 0; i < len; i += 1) {\r\n effectItem = new GroupEffect(effects[i], element);\r\n this.effectElements.push(effectItem);\r\n }\r\n}\r\n\r\nfunction GroupEffect(data, element) {\r\n this.init(data, element);\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], GroupEffect);\r\n\r\nGroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\r\n\r\nGroupEffect.prototype.init = function (data, element) {\r\n this.data = data;\r\n this.effectElements = [];\r\n this.initDynamicPropertyContainer(element);\r\n var i;\r\n var len = this.data.ef.length;\r\n var eff;\r\n var effects = this.data.ef;\r\n for (i = 0; i < len; i += 1) {\r\n eff = null;\r\n switch (effects[i].ty) {\r\n case 0:\r\n eff = new SliderEffect(effects[i], element, this);\r\n break;\r\n case 1:\r\n eff = new AngleEffect(effects[i], element, this);\r\n break;\r\n case 2:\r\n eff = new ColorEffect(effects[i], element, this);\r\n break;\r\n case 3:\r\n eff = new PointEffect(effects[i], element, this);\r\n break;\r\n case 4:\r\n case 7:\r\n eff = new CheckboxEffect(effects[i], element, this);\r\n break;\r\n case 10:\r\n eff = new LayerIndexEffect(effects[i], element, this);\r\n break;\r\n case 11:\r\n eff = new MaskIndexEffect(effects[i], element, this);\r\n break;\r\n case 5:\r\n eff = new EffectsManager(effects[i], element, this);\r\n break;\r\n // case 6:\r\n default:\r\n eff = new NoValueEffect(effects[i], element, this);\r\n break;\r\n }\r\n if (eff) {\r\n this.effectElements.push(eff);\r\n }\r\n }\r\n};\r\n\r\n\r\nvar lottie = {};\r\n\r\nfunction setLocationHref(href) {\r\n locationHref = href;\r\n}\r\n\r\nfunction searchAnimations() {\r\n if (standalone === true) {\r\n animationManager.searchAnimations(animationData, standalone, renderer);\r\n } else {\r\n animationManager.searchAnimations();\r\n }\r\n}\r\n\r\nfunction setSubframeRendering(flag) {\r\n subframeEnabled = flag;\r\n}\r\n\r\nfunction setIDPrefix(prefix) {\r\n idPrefix = prefix;\r\n}\r\n\r\nfunction loadAnimation(params) {\r\n if (standalone === true) {\r\n params.animationData = JSON.parse(animationData);\r\n }\r\n return animationManager.loadAnimation(params);\r\n}\r\n\r\nfunction setQuality(value) {\r\n if (typeof value === 'string') {\r\n switch (value) {\r\n case 'high':\r\n defaultCurveSegments = 200;\r\n break;\r\n default:\r\n case 'medium':\r\n defaultCurveSegments = 50;\r\n break;\r\n case 'low':\r\n defaultCurveSegments = 10;\r\n break;\r\n }\r\n } else if (!isNaN(value) && value > 1) {\r\n defaultCurveSegments = value;\r\n }\r\n if (defaultCurveSegments >= 50) {\r\n roundValues(false);\r\n } else {\r\n roundValues(true);\r\n }\r\n}\r\n\r\nfunction inBrowser() {\r\n return typeof navigator !== 'undefined';\r\n}\r\n\r\nfunction installPlugin(type, plugin) {\r\n if (type === 'expressions') {\r\n expressionsPlugin = plugin;\r\n }\r\n}\r\n\r\nfunction getFactory(name) {\r\n switch (name) {\r\n case 'propertyFactory':\r\n return PropertyFactory;\r\n case 'shapePropertyFactory':\r\n return ShapePropertyFactory;\r\n case 'matrix':\r\n return Matrix;\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nlottie.play = animationManager.play;\r\nlottie.pause = animationManager.pause;\r\nlottie.setLocationHref = setLocationHref;\r\nlottie.togglePause = animationManager.togglePause;\r\nlottie.setSpeed = animationManager.setSpeed;\r\nlottie.setDirection = animationManager.setDirection;\r\nlottie.stop = animationManager.stop;\r\nlottie.searchAnimations = searchAnimations;\r\nlottie.registerAnimation = animationManager.registerAnimation;\r\nlottie.loadAnimation = loadAnimation;\r\nlottie.setSubframeRendering = setSubframeRendering;\r\nlottie.resize = animationManager.resize;\r\n// lottie.start = start;\r\nlottie.goToAndStop = animationManager.goToAndStop;\r\nlottie.destroy = animationManager.destroy;\r\nlottie.setQuality = setQuality;\r\nlottie.inBrowser = inBrowser;\r\nlottie.installPlugin = installPlugin;\r\nlottie.freeze = animationManager.freeze;\r\nlottie.unfreeze = animationManager.unfreeze;\r\nlottie.setVolume = animationManager.setVolume;\r\nlottie.mute = animationManager.mute;\r\nlottie.unmute = animationManager.unmute;\r\nlottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\r\nlottie.useWebWorker = function (flag) {\r\n _useWebWorker = flag;\r\n};\r\nlottie.setIDPrefix = setIDPrefix;\r\nlottie.__getFactory = getFactory;\r\nlottie.version = '5.8.1';\r\n\r\nfunction checkReady() {\r\n if (document.readyState === 'complete') {\r\n clearInterval(readyStateCheckInterval);\r\n searchAnimations();\r\n }\r\n}\r\n\r\nfunction getQueryVariable(variable) {\r\n var vars = queryString.split('&');\r\n for (var i = 0; i < vars.length; i += 1) {\r\n var pair = vars[i].split('=');\r\n if (decodeURIComponent(pair[0]) == variable) { // eslint-disable-line eqeqeq\r\n return decodeURIComponent(pair[1]);\r\n }\r\n }\r\n return null;\r\n}\r\nvar standalone = '__[STANDALONE]__';\r\nvar animationData = '__[ANIMATIONDATA]__';\r\nvar renderer = '';\r\nvar queryString;\r\nif (standalone) {\r\n var scripts = document.getElementsByTagName('script');\r\n var index = scripts.length - 1;\r\n var myScript = scripts[index] || {\r\n src: '',\r\n };\r\n queryString = myScript.src.replace(/^[^\\?]+\\??/, ''); // eslint-disable-line no-useless-escape\r\n renderer = getQueryVariable('renderer');\r\n}\r\nvar readyStateCheckInterval = setInterval(checkReady, 100);\r\n\nreturn lottie;\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","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\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","/** @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) 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; }\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n _inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n _classCallCheck(this, HelmetWrapper);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !(0, _reactFastCompare2.default)(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case _HelmetConstants.TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _extends2;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _extends3, _extends4;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\n case _HelmetConstants.TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case _HelmetConstants.TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _extends5;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return (0, _HelmetUtils.warn)(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n _react2.default.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.LINK:\n case _HelmetConstants.TAG_NAMES.META:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = _objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return _react2.default.createElement(Component, newProps);\n };\n\n _createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n\n return HelmetWrapper;\n }(_react2.default.Component), _class.propTypes = {\n base: _propTypes2.default.object,\n bodyAttributes: _propTypes2.default.object,\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n defaultTitle: _propTypes2.default.string,\n defer: _propTypes2.default.bool,\n encodeSpecialCharacters: _propTypes2.default.bool,\n htmlAttributes: _propTypes2.default.object,\n link: _propTypes2.default.arrayOf(_propTypes2.default.object),\n meta: _propTypes2.default.arrayOf(_propTypes2.default.object),\n noscript: _propTypes2.default.arrayOf(_propTypes2.default.object),\n onChangeClientState: _propTypes2.default.func,\n script: _propTypes2.default.arrayOf(_propTypes2.default.object),\n style: _propTypes2.default.arrayOf(_propTypes2.default.object),\n title: _propTypes2.default.string,\n titleAttributes: _propTypes2.default.object,\n titleTemplate: _propTypes2.default.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = (0, _HelmetUtils.mapStateOnServer)({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = (0, _reactSideEffect2.default)(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexports.Helmet = HelmetExport;\nexports.default = HelmetExport;","exports.__esModule = true;\nvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = exports.TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\"\n};\n\nvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = exports.HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";","exports.__esModule = true;\nexports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _objectAssign = require(\"object-assign\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[_HelmetConstants.TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = (0, _objectAssign2.default)({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [_react2.default.createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return _react2.default.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nexports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\nexports.handleClientStateChange = handleClientStateChange;\nexports.mapStateOnServer = mapStateOnServer;\nexports.reducePropsToState = reducePropsToState;\nexports.requestAnimationFrame = requestAnimationFrame;\nexports.warn = warn;","/** @license React v17.0.2\n * react-is.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'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function _inherits(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},_slicedToArray=function(){function e(e,t){var i=[],s=!0,o=!1,n=void 0;try{for(var r,a=e[Symbol.iterator]();!(s=(r=a.next()).done)&&(i.push(r.value),!t||i.length!==t);s=!0);}catch(e){o=!0,n=e}finally{try{!s&&a.return&&a.return()}finally{if(o)throw n}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),_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,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 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}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function _inherits(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function makeCarousel(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r){function n(e){_classCallCheck(this,n);var t=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.state={current:0,next:1,backwards:!1,swap:!1,appear:!1},t.turn=0,t.stop=!1,t.handleReveal=t.handleReveal.bind(t),t.handleSwipe=t.handleSwipe.bind(t),t.target=t.target.bind(t),t}return _inherits(n,r),_createClass(n,null,[{key:\"propTypes\",get:function(){return{children:_propTypes.node.isRequired,defaultWait:_propTypes.number,maxTurns:_propTypes.number,swipe:_propTypes.bool}}},{key:\"defaultProps\",get:function(){return{defaultWait:t.defaultWait||5e3,maxTurns:t.maxTurns||5,swipe:t.swipe||!0}}}]),_createClass(n,[{key:\"target\",value:function(e){var t=e.currentTarget;this.move(+t.getAttribute(\"data-position\"))}},{key:\"handleReveal\",value:function(){this.turn>=this.props.maxTurns||this.move(this.state.current+1)}},{key:\"componentWillUnmount\",value:function(){this.turn=-1}},{key:\"move\",value:function(e){if(!(this.turn<0||e===this.state.current)){var t=e,r=_react2.default.Children.count(this.props.children);e>=r?(this.turn++,t=0):e<0&&(t=r-1),this.setState({current:t,next:this.state.current,backwards:e=150&&Math.abs(d)<=100?a=o<0?\"left\":\"right\":Math.abs(d)>=150&&Math.abs(o)<=100&&(a=d<0?\"up\":\"down\")),p(a)},{passive:!0})}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.default=swipedetect,module.exports=exports.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 result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/** @license React v0.19.1\n * scheduler.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'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=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 values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// 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__.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))","// 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};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\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\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import{typeOf as e,isElement as t,isValidElementType as n}from\"react-is\";import r,{useState as o,useContext as s,useMemo as i,useEffect as a,useRef as c,createElement as u,useDebugValue as l,useLayoutEffect as d}from\"react\";import h from\"shallowequal\";import p from\"@emotion/stylis\";import f from\"@emotion/unitless\";import m from\"@emotion/is-prop-valid\";import y from\"hoist-non-react-statics\";function v(){return(v=Object.assign||function(e){for(var t=1;t ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document ``\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"}:{};function D(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n1?t-1:0),r=1;r0?\" Args: \"+n.join(\", \"):\"\")):new Error(D.apply(void 0,[R[e]].concat(n)).trim())}var T=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&j(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s1<<30)&&j(16,\"\"+t),x.set(e,t),k.set(t,e),t},z=function(e){return k.get(e)},M=function(e,t){t>=V&&(V=t+1),x.set(e,t),k.set(t,e)},G=\"style[\"+A+'][data-styled-version=\"5.3.3\"]',L=new RegExp(\"^\"+A+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),F=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(A))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(A,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.3\");var i=q();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},$=function(){function e(e){var t=this.element=H(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(u+=e+\",\")})),r+=\"\"+a+c+'{content:\"'+u+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),K=/(a)(d)/gi,Q=function(e){return String.fromCharCode(e+(e>25?39:97))};function ee(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=Q(t%52)+n;return(Q(t%52)+n).replace(K,\"$1-$2\")}var te=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},ne=function(e){return te(5381,e)};function re(e){for(var t=0;t>>0);if(!t.hasNameForId(r,i)){var a=n(s,\".\"+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=te(this.baseHash,n.hash),l=\"\",d=0;d>>0);if(!t.hasNameForId(r,m)){var y=n(l,\".\"+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(\" \")},e}(),ie=/^\\s*\\/\\/.*$/gm,ae=[\":\",\"[\",\".\",\"#\"];function ce(e){var t,n,r,o,s=void 0===e?E:e,i=s.options,a=void 0===i?E:i,c=s.plugins,u=void 0===c?w:c,l=new p(a),d=[],h=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===u)return r+\"/*|*/\";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),\"\";default:return r+(0===d?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ae.indexOf(s[n.length])||s.match(o)?e:\".\"+t};function m(e,s,i,a){void 0===a&&(a=\"&\");var c=e.replace(ie,\"\"),u=s&&i?i+\" \"+s+\" { \"+c+\" }\":c;return t=a,n=s,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),l(i||!s?\"\":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},h,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||j(15),te(e,t.name)}),5381).toString():\"\",m}var ue=r.createContext(),le=ue.Consumer,de=r.createContext(),he=(de.Consumer,new Z),pe=ce();function fe(){return s(ue)||he}function me(){return s(de)||pe}function ye(e){var t=o(e.stylisPlugins),n=t[0],s=t[1],c=fe(),u=i((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=i((function(){return ce({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return a((function(){h(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),r.createElement(ue.Provider,{value:u},r.createElement(de.Provider,{value:l},\"production\"!==process.env.NODE_ENV?r.Children.only(e.children):e.children))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=pe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return j(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=pe),this.name+e.hash},e}(),ge=/([A-Z])/,Se=/([A-Z])/g,we=/^ms-/,Ee=function(e){return\"-\"+e.toLowerCase()};function be(e){return ge.test(e)?e.replace(Se,Ee).replace(we,\"-ms-\"):e}var _e=function(e){return null==e||!1===e||\"\"===e};function Ne(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a1?t-1:0),r=1;r1?t-1:0),i=1;i?@[\\\\\\]^`{|}~-]+/g,je=/(^-|-$)/g;function Te(e){return e.replace(De,\"-\").replace(je,\"\")}var xe=function(e){return ee(ne(e)>>>0)};function ke(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var Ve=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Be=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function ze(e,t,n){var r=e[n];Ve(t)&&Ve(r)?Me(r,t):e[n]=t}function Me(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(t,[\"componentId\"]),s=r&&r+\"-\"+(ke(e)?e:Te(_(e)));return qe(e,v({},o,{attrs:S,componentId:s}),n)},Object.defineProperty(C,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Me({},e.defaultProps,t):t}}),\"production\"!==process.env.NODE_ENV&&(Oe(f,g),C.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'+t+'\"':\"\";console.warn(\"Over 200 classes were generated for component \"+e+s+\".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"),r=!0,n={}}}}(f,g)),C.toString=function(){return\".\"+C.styledComponentId},i&&y(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var He=function(e){return function e(t,r,o){if(void 0===o&&(o=E),!n(r))return j(1,String(r));var s=function(){return t(r,o,Ce.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,v({},o,{},n))},s.attrs=function(n){return e(t,r,v({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(qe,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){He[e]=He(e)}));var $e=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=re(e),Z.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(Ne(this.rules,t,n,r).join(\"\"),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&Z.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"),t.server&&h(l,e,t,o,n),d((function(){if(!t.server)return h(l,e,t,o,n),function(){return u.removeStyles(l,t)}}),[l,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,O,n,o);else{var s=v({},t,{theme:Re(t,r,l.defaultProps)});u.renderStyles(e,s,n,o)}}return\"production\"!==process.env.NODE_ENV&&Oe(a),r.memo(l)}function Ue(e){\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r\"+t+\"\"},this.getStyleTags=function(){return e.sealed?j(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return j(2);var n=((t={})[A]=\"\",t[\"data-styled-version\"]=\"5.3.3\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=q();return o&&(n.nonce=o),[r.createElement(\"style\",v({},n,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new Z({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?j(2):r.createElement(ye,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return j(3)},e}(),Xe=function(e){var t=r.forwardRef((function(t,n){var o=s(Ge),i=e.defaultProps,a=Re(t,o,i);return\"production\"!==process.env.NODE_ENV&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'+_(e)+'\"'),r.createElement(e,v({},t,{theme:a,ref:n}))}));return y(t,e),t.displayName=\"WithTheme(\"+_(e)+\")\",t},Ze=function(){return s(Ge)},Ke={StyleSheet:Z,masterSheet:he};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"),\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[\"__styled-components-init__\"]=window[\"__styled-components-init__\"]||0,1===window[\"__styled-components-init__\"]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[\"__styled-components-init__\"]+=1);export default He;export{Je as ServerStyleSheet,le as StyleSheetConsumer,ue as StyleSheetContext,ye as StyleSheetManager,Le as ThemeConsumer,Ge as ThemeContext,Fe as ThemeProvider,Ke as __PRIVATE__,We as createGlobalStyle,Ce as css,N as isStyledComponent,Ue as keyframes,Ze as useTheme,C as version,Xe as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","// Component Name : AlignContentCenter\n\n// Component is used in : Footer, Login button, MainMenuBar (Component, Styled-Component), Banner, Template Overlay.\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Styled Components\nconst Align = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n`;\n\n// Component\nconst AlignContentCenter = (props) => {\n const { className, children } = props;\n return {children};\n};\n\n// Proptypes\nAlignContentCenter.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node.isRequired,\n};\n\nAlignContentCenter.defaultProps = {\n className: undefined,\n};\n\n// Exports\nexport default AlignContentCenter;\n","// Common Component : AlignContentCenter\n\n// Component used in : NavBarComponent.\n\n// Import Node Modules\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n\nconst Align = styled.div`\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n`;\n\n\n// Class\nclass VAlignContentCenter extends Component {\n constructor(props) {\n super(props);\n this.state = {\n };\n }\n\n render() {\n const { className, children } = this.props;\n\n return {children};\n }\n}\n\n// Proptypes\nVAlignContentCenter.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n};\n\nVAlignContentCenter.defaultProps = {\n className: undefined,\n children: undefined,\n};\n\n// Exports\nexport default VAlignContentCenter;\n","// Common Component : Collapsable\n\n// Import Node Modules\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\n// Classes\nconst onNextFrame = fn => setTimeout(fn);\n\nconst getTransitionEventName = () => {\n if (!global.document || !global.document.createElement) {\n return undefined;\n }\n const el = global.document.createElement('fakeelement');\n\n const transitions = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n };\n\n const keys = Object.keys(transitions);\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n if (el.style[key] !== undefined) {\n return transitions[key];\n }\n }\n return undefined;\n};\nconst transitionEventName = getTransitionEventName();\n\nclass Collapsable extends React.Component {\n constructor(props) {\n super(props);\n const { collapsedHeight, collapsed } = props;\n this.setCollapsed = this.setCollapsed.bind(this);\n this.state = {\n height: collapsed ? collapsedHeight : undefined,\n overflow: 'hidden',\n };\n }\n\n componentDidUpdate(prev) {\n const { collapsed } = this.props;\n if (prev.collapsed !== collapsed) {\n this.setCollapsed(collapsed);\n }\n }\n\n getTransition() {\n const { transitionTime, timing } = this.props;\n return `height ${transitionTime}ms ${timing}`;\n }\n\n setCollapsed(collapsed) {\n const { collapsedHeight, transitionTime } = this.props;\n const innerNode = ReactDOM.findDOMNode(this.inner); // eslint-disable-line react/no-find-dom-node\n const outerNode = ReactDOM.findDOMNode(this.outer); // eslint-disable-line react/no-find-dom-node\n const innerHeight = innerNode.offsetHeight;\n const outerHeight = outerNode.offsetHeight;\n const timeoutTime = transitionTime + 100;\n if (collapsed) {\n this.setState({\n height: outerHeight,\n transition: undefined,\n });\n onNextFrame(() => {\n this.setState({\n height: collapsedHeight,\n overflow: 'hidden',\n transition: this.getTransition(),\n });\n });\n } else {\n this.setState({\n height: outerHeight,\n transition: undefined,\n });\n this.afterNextTransition(() => {\n this.setState({\n height: undefined,\n overflow: 'visible',\n transition: undefined,\n });\n }, timeoutTime);\n onNextFrame(() => {\n this.setState({\n height: innerHeight,\n transition: this.getTransition(),\n });\n });\n }\n }\n\n afterNextTransition(fn, timeout) {\n if (this.reset) {\n this.reset();\n }\n\n const outer = ReactDOM.findDOMNode(this.outer); // eslint-disable-line react/no-find-dom-node\n let timerId;\n\n const handler = () => {\n if (this.reset) {\n this.reset();\n }\n fn();\n };\n\n this.reset = () => {\n clearTimeout(timerId);\n if (transitionEventName) {\n outer.removeEventListener(transitionEventName, handler);\n }\n };\n\n if (transitionEventName) {\n outer.addEventListener(transitionEventName, handler);\n }\n if (timeout) {\n timerId = setTimeout(handler, timeout);\n }\n }\n\n render() {\n const { children } = this.props;\n const { height, transition, overflow } = this.state;\n return (\n {\n this.outer = r;\n }}\n aria-hidden\n >\n {\n this.inner = r;\n }}\n >\n {children}\n \n \n );\n }\n}\n\n// PropTypes\nCollapsable.propTypes = {\n children: PropTypes.node.isRequired,\n collapsed: PropTypes.bool,\n collapsedHeight: PropTypes.number,\n transitionTime: PropTypes.number,\n timing: PropTypes.string,\n};\n\nCollapsable.defaultProps = {\n collapsed: true,\n collapsedHeight: 0,\n transitionTime: 300,\n timing: 'ease-in-out',\n};\n\n// Exports\nexport default Collapsable;\n","// Component Name : Collapsible\n// C1 CMS Name : FoldUdLink\n\n// Component used in : CollapsibleTextArea, CollapseableFAQ\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport Collapsable from './Collapsable';\n\n// Import Icons\nimport Arrow from '../../../assets/Icons/svg/icon_Arrow_Down_Blue.svg';\n\n// Styled-components\nconst ArrowUp = styled.img.attrs({\n alt: 'Arrow Up',\n src: Arrow,\n})`\n position: relative;\n top: -3px;\n transform: scaleY(-1);\n`;\n\nconst ArrowDown = styled.img.attrs({\n alt: 'Arrow Down',\n src: Arrow,\n})`\n position: relative;\n top: -3px;\n`;\n\nconst Icon = styled.span`\n position: relative;\n top: 2px;\n padding-left: 10px;\n pointer-events: none;\n`;\n\nconst Container = styled.div`\n width: 100%;\n`;\n\nconst Header = styled.div`\n width: 100%;\n cursor: pointer;\n text-align: center;\n margin-bottom: 24px;\n`;\n\nconst Block = styled.div`\n width: 100%;\n`;\n\n// Component\nclass Collapsible extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isExpanded: false,\n };\n }\n\n handleToggle(e) {\n const { isExpanded } = this.state;\n e.preventDefault();\n this.setState({\n isExpanded: !isExpanded,\n });\n }\n\n render() {\n const { titleOn, titleOff, children } = this.props;\n const { isExpanded } = this.state;\n\n return (\n \n this.handleToggle(e)}\n tabIndex=\"0\"\n role=\"switch\"\n aria-checked={isExpanded}\n aria-label=\"Collapsible Header\"\n onKeyDown={(e) => {\n if (e.keyCode === 13) {\n this.handleToggle(e);\n }\n }}\n >\n {isExpanded ? titleOn : titleOff}\n \n {isExpanded ? : }\n \n \n \n {children}\n \n \n );\n }\n}\n\n// Proptypes\nCollapsible.propTypes = {\n titleOn: PropTypes.string.isRequired,\n titleOff: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\n// Exports\nexport default Collapsible;\n","import { css } from 'styled-components';\n\nexport const sizes = {\n desktop: 1280,\n tabletL: 1024,\n tabletP: 768,\n};\n\nexport const media = Object.keys(sizes).reduce((acc, label) => {\n acc[label] = (...args) => css`\n @media (min-width: ${sizes[label] / 16}em) {\n ${css(...args)};\n }\n `;\n return acc;\n}, {});\n\nexport default media;\n","// Component Name : Columns\n\n// Component is used in : Footer, MegaMenu, MobileMenu, SideBar, Beta, WideCard, HtmlTable, SLideshow\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Styled Components\nconst Container = styled.div`\n box-sizing: border-box;\n display: flex;\n flex-wrap: ${props => (props.disableWrap ? 'no-wrap' : 'wrap')};\n justify-content: center;\n ${media.tabletP`\n justify-content: space-between;\n `};\n ${props => (props.flex ? `flex: ${props.flex};` : '')}\n @media (min-width: ${props => props.minWidth}) {\n & > div {\n flex-basis: calc((100% - (${props => props.columns - 1}) * ${props => props.gap}px) / ${props => props.columns});\n flex-wrap: nowrap;\n }\n }\n @media (max-width: ${props => props.minWidth}) {\n & > div {\n flex-basis: 100%;\n flex-wrap: wrap;\n }\n }\n`;\n\n// Component\nconst Columns = (props) => {\n const {\n gap,\n minWidth,\n className,\n children,\n columns,\n disableWrap,\n flex,\n } = props;\n return (\n \n {children}\n \n );\n};\n\n// Proptypes\nColumns.propTypes = {\n columns: PropTypes.number.isRequired,\n minWidth: PropTypes.string,\n children: PropTypes.node.isRequired,\n gap: PropTypes.string,\n className: PropTypes.string,\n disableWrap: PropTypes.bool,\n flex: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n};\n\nColumns.defaultProps = {\n minWidth: '762px',\n gap: '0',\n className: undefined,\n flex: false,\n disableWrap: false,\n};\n\n// Exports\nexport default Columns;\n","// Common Component : ColumnsDefined\n\n// Components is used in : MainMenuBar, CookieBanner, InfoTag_Pages\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nconst FlexContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n\n @media (min-width: ${props => props.minWidth}) {\n ${({ columns, gap }) => {\n const col = columns.split(' ');\n let cols = '';\n let count = 0;\n\n for (let i = 0; i < col.length; i += 1) {\n count += 1;\n\n if (col[i] === 'auto') {\n cols += `& > div:nth-child(${count}n) { flex-grow: 1; margin: 0 ${gap}; };`;\n } else {\n cols += `& > div:nth-child(${count}n) { flex-basis: calc(${col[i]} - ${gap});}`;\n }\n }\n\n return cols;\n }};\n }\n @media (max-width: ${props => props.minWidth}) {\n flex-basis: 100%;\n & > div {flex-basis: 100%}\n }\n`;\n\n// Class\nclass ColumnsDefined extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n render() {\n const {\n columns,\n minWidth,\n className,\n children,\n gap,\n } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n\n// Proptypes\nColumnsDefined.propTypes = {\n columns: PropTypes.string.isRequired,\n minWidth: PropTypes.string,\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n gap: PropTypes.string,\n};\n\nColumnsDefined.defaultProps = {\n minWidth: '762px',\n className: undefined,\n gap: '0px',\n};\n\n// Exports\nexport default ColumnsDefined;\n\n\n","// Common Component : FullWrapper\n\n// Components is used in : NavBarComponent, CustomLayout\n\n// Import Node Modules\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\nconst FullMediaQuery = css`\n padding: 0px;\n ${media.tabletL`\n padding: 0px 20px 20px 20px;\n `}\n`;\n\nconst FullSideMediaQuery = css`\n padding: 0px;\n ${media.tabletL`\n padding: 0px 20px;\n `}\n`;\n\n// Styled Components\nconst FullWrapperDiv = styled.div`\n width: 100%;\n max-width: 1600px;\n margin: 0 auto;\n ${FullMediaQuery};\n`;\n\nconst FullWrapperSideDiv = styled.div`\n width: 100%;\n max-width: 1600px;\n margin: 0 auto; \n ${FullSideMediaQuery};\n`;\n\n// Components\nexport const FullWrapper = (props) => {\n const { children, className } = props;\n return {children};\n};\n\nexport const FullWrapperSide = (props) => { // eslint-disable-line react/no-multi-comp\n const { children, className } = props;\n return {children};\n};\n\n// Proptypes\nFullWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nFullWrapperSide.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nFullWrapper.defaultProps = {\n className: undefined,\n};\n\nFullWrapperSide.defaultProps = {\n className: undefined,\n};\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import React from 'react';\nimport PropTypes from 'prop-types';\n\n\nexport const Link = ({ to, children, ...props }) => (\n {children}\n);\n\nLink.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string.isRequired,\n to: PropTypes.string.isRequired,\n};\n\nexport const navigate = (to) => {\n global.location.href = to;\n};\n","// Import ColorGuide\n// import * as ColorGuide from '../cssGuides/colorGuide';\n\n// Import Logos\nimport LogoMobile from '../assets/Logo/white.svg';\nimport LogoDesktop from '../assets/Logo/sampension_mere_vaerd_neg.svg';\nimport SquareLogo from '../assets/OGData/Sampension1200.jpg';\n\nexport default {\n // Firma Domaine\n Domaine: 'sampension.dk',\n Origin: 'https://classic.sampension.dk',\n logoutUrl: 'https://classic.sampension.dk/Forside/log-ind/din-pension/Log-ud',\n homeUrl: 'https://classic.sampension.dk/Forside/log-ind/din-pension',\n profileUrl: 'https://classic.sampension.dk/Forside/log-ind/din-pension/Dine-tal/din-profil/Din-e-mail11',\n // Primary Web Color\n PrimaryColor: '#54a8d1',\n PrimaryHover: '#4291b8',\n PrimaryVisited: '#4f4586',\n // Logos\n DesktopLogo: LogoDesktop,\n MobileLogo: LogoMobile,\n SquareLogo,\n // Logo Sizes\n LogoSizeMobile: '14px',\n LogoSizeTabletP: '38px',\n LogoSizeTabletL: '40px',\n LogoSizeDesktop: '50px',\n // Logo left padding\n LogoLeftMobile: '25px',\n LogoLeftTabletP: '25px',\n LogoLeftTabletL: '25px',\n LogoLeftDesktop: '25px',\n // Logo container size\n LogoContainerSize: '256px',\n // MainMenu ON/OFF\n MainMenuSeperator: true,\n // Footer Links\n FooterLinks: true,\n // Button Name (Login)\n BtnName: 'Log ind',\n // Root folder\n StartUrl: '/kunde',\n // Mobile Table Collapse\n MobileTable: '#bbdced',\n // Search enigne key\n EngineKey: 'XRhnzB8G5igdtwYjki1Z',\n};\n","// Import Logos\nimport Logo from '../assets/Logo/isp.svg';\nimport SquareLogo from '../assets/OGData/ISP_logo.jpg';\n\nexport default {\n // Firma Domaine\n Domaine: 'ISP.dk',\n Origin: 'https://classic.isp.dk',\n logoutUrl: 'https://classic.isp.dk/isp/log-ind/din-pension/Log-ud',\n homeUrl: 'https://classic.isp.dk/isp/log-ind/din-pension',\n profileUrl: 'https://classic.isp.dk/isp/log-ind/din-pension/Dine-tal/din-profil/Din-e-mail11',\n // Primary Web Color\n PrimaryColor: '#169b62',\n PrimaryHover: '#337d58',\n PrimaryVisited: '#4f4586',\n // Logos\n DesktopLogo: Logo,\n MobileLogo: Logo,\n SquareLogo,\n // Logo Sizes\n LogoSizeMobile: '40px',\n LogoSizeTabletP: '45px',\n LogoSizeTabletL: '50px',\n LogoSizeDesktop: '75px',\n // Logo left padding\n LogoLeftMobile: '0px',\n LogoLeftTabletP: '10px',\n LogoLeftTabletL: '5px',\n LogoLeftDesktop: '0px',\n // Logo container size\n LogoContainerSize: '256px',\n // MainMenu ON/OFF\n MainMenuSeperator: true,\n // Footer Links\n FooterLinks: true,\n // Button Name (Login)\n BtnName: 'Log ind',\n // Root folder\n StartUrl: '/medlem',\n // Mobile Table Collapse\n MobileTable: '#337d58',\n // Search enigne key\n EngineKey: '41LF4Pq8-yTGuVDc6w7y',\n};\n","// Import ColorGuide\n// import * as ColorGuide from '../cssGuides/colorGuide';\n\n// Import Logos\nimport LogoMobile from '../assets/Logo/white.svg';\nimport LogoDesktop from '../assets/Logo/sampension_mere_vaerd_neg.svg';\nimport SquareLogo from '../assets/OGData/Sampension1200.jpg';\n\nexport default {\n // Firma Domaine\n Domaine: 'FirmaPension.dk',\n // Primary Web Color\n PrimaryColor: '#54a8d1',\n PrimaryHover: '#4291b8',\n PrimaryVisited: '#4f4586',\n // Logos\n DesktopLogo: LogoDesktop,\n MobileLogo: LogoMobile,\n SquareLogo,\n // Logo Sizes\n LogoSizeMobile: '14px',\n LogoSizeTabletP: '38px',\n LogoSizeTabletL: '40px',\n LogoSizeDesktop: '50px',\n // Logo left padding\n LogoLeftMobile: '25px',\n LogoLeftTabletP: '25px',\n LogoLeftTabletL: '25px',\n LogoLeftDesktop: '25px',\n // Logo container size\n LogoContainerSize: '256px',\n // MainMenu ON/OFF\n MainMenuSeperator: true,\n // Footer Links\n FooterLinks: true,\n // Button Name (Login)\n BtnName: 'Log ind',\n // Root folder\n StartUrl: '/Firmapension',\n // Mobile Table Collapse\n MobileTable: '#bbdced',\n // Search enigne key\n EngineKey: 'XRhnzB8G5igdtwYjki1Z',\n};\n","// Import ColorGuide\n// import * as ColorGuide from '../cssGuides/colorGuide';\n\n// Import Logos\nimport Logo from '../assets/Logo/AP2.svg';\nimport SquareLogo from '../assets/OGData/AP_logo.jpg';\n\nexport default {\n // Firma Domaine\n Domaine: 'arkitektpension.dk',\n Origin: 'https://classic.arkitektpension.dk',\n logoutUrl: 'https://classic.arkitektpension.dk/ap/log-ind/din-pension/Log-ud',\n homeUrl: 'https://classic.arkitektpension.dk/ap/log-ind/din-pension',\n profileUrl: 'https://classic.arkitektpension.dk/ap/log-ind/din-pension/Dine-tal/din-profil/Din-e-mail11',\n // Primary Web Color\n PrimaryColor: '#518eaa',\n PrimaryHover: '#4291b8',\n PrimaryVisited: '#4f4586',\n // Logos\n DesktopLogo: Logo,\n MobileLogo: Logo,\n SquareLogo,\n // Logo Sizes\n LogoSizeMobile: '25px',\n LogoSizeTabletP: '25px',\n LogoSizeTabletL: '30px',\n LogoSizeDesktop: '40px',\n // Logo left padding\n LogoLeftMobile: '10px',\n LogoLeftTabletP: '25px',\n LogoLeftTabletL: '25px',\n LogoLeftDesktop: '30px',\n // Logo container size\n LogoContainerSize: '256px',\n // MainMenu ON/OFF\n MainMenuSeperator: true,\n // Footer Links\n FooterLinks: true,\n // Button Name (Login)\n BtnName: 'Log ind',\n // Root folder\n StartUrl: '/medlem',\n // Mobile Table Collapse\n MobileTable: '#bbdced',\n // Search enigne key\n EngineKey: '7LmjeoNNAGbgmPnrHm8h',\n};\n","// Import Themes\nimport sampensionTheme from './sampension';\nimport ispTheme from './isp';\nimport firmaPensionTheme from './firmapension';\nimport apTheme from './ap';\nimport pjdTheme from './pjd';\n\nconst themes = {\n sampension: sampensionTheme,\n isp: ispTheme,\n firma: firmaPensionTheme,\n ap: apTheme,\n pjd: pjdTheme,\n};\n\nconst themeName = process.env.GATSBY_THEME || 'sampension';\n\nexport const currentTheme = themes[themeName];\n\nexport default themes;\n","// Import ColorGuide\n// import * as ColorGuide from '../cssGuides/colorGuide';\n\n// Import Logos\nimport Logo from '../assets/Logo/PJD2.svg';\nimport SquareLogo from '../assets/OGData/PJD_logo.jpg';\n\nexport default {\n // Firma Domaine\n Domaine: 'pjdpension.dk',\n Origin: 'https://classic.pjdpension.dk',\n logoutUrl: 'https://classic.pjdpension.dk/pjd/log-ind/din-pension/Log-ud',\n homeUrl: 'https://classic.pjdpension.dk/pjd/log-ind/din-pension',\n profileUrl: 'https://classic.pjdpension.dk/pjd/log-ind/din-pension/Dine-tal/din-profil/Din-e-mail11',\n // Primary Web Color\n PrimaryColor: '#169b62',\n PrimaryHover: '#4291b8',\n PrimaryVisited: '#4f4586',\n // Logos\n DesktopLogo: Logo,\n MobileLogo: Logo,\n SquareLogo,\n // Logo Sizes\n LogoSizeMobile: '25px',\n LogoSizeTabletP: '22px',\n LogoSizeTabletL: '23px',\n LogoSizeDesktop: '38px',\n // Logo left padding\n LogoLeftMobile: '10px',\n LogoLeftTabletP: '23px',\n LogoLeftTabletL: '23px',\n LogoLeftDesktop: '23px',\n // Logo container size\n LogoContainerSize: '300px',\n // MainMenu ON/OFF\n MainMenuSeperator: true,\n // Footer Links\n FooterLinks: true,\n // Button Name (Login)\n BtnName: 'Log ind',\n // Root folder\n StartUrl: '/medlem',\n // Mobile Table Collapse\n MobileTable: '#bbdced',\n // Search enigne key\n EngineKey: 'yx-SF28JduxW1_hacbP-',\n};\n","import { currentTheme } from '../theme/index';\n\n/* eslint-disable no-multi-spaces, no-multiple-empty-lines */\n// Color Guide\nexport const Primary = currentTheme.PrimaryColor;\n\nexport const aquaMedium = '#bbdced'; // PRIMARY_INACTIVE\nexport const aquaLight = '#ddeef6'; // PRIMARY_VARIANT1\nexport const aquaBright = '#2aa7e3'; // PRIMARY_LINK\n\nexport const darkGray = '#464543'; // PRIMARY_TEXT\nexport const midGray = '#a2a2a1'; // GRAPH_INCOME\nexport const lightGray = '#ececec'; // PRIMARY_BACKGROUND\nexport const border = '#d0d0d0'; // PRIMARY_BORDER\nexport const secondaryText = '#6b6a69'; // SECONDARY_TEXT\n\nexport const burgundy = '#9d1b3a'; // GRAPH_PAYOUTS_VARIANT1\nexport const pink = '#ff94a1'; // GRAPH_PAYOUTS_VARIANT2\nexport const brightPink = '#fe4d77'; // GRAPH_PAYOUTS_VARIANT3\nexport const purple = '#615bb1'; // GRAPH_PAYOUTS_VARIANT4\n\nexport const yellow = '#f1ad3d'; // PRIMARY_WARNING\nexport const green = '#66c72a'; // PRIMARY_SUCCESS\nexport const red = '#ca3a3a'; // PRIMARY_ALERT\n\nexport const skin = '#f5ab90';\nexport const turquoise = '#15b5c0';\nexport const darkPurple = '#4c155b'; // dark-purple\n\n// Standard B/W\nexport const black = '#000000'; // black\nexport const white = '#ffffff'; // SECONDARY_BACKGROUND\n\n// Shadow\nconst shadowColor = 'rgba(0,0,0,0.1)';\nexport const shadow = `0 15px 30px 0 ${shadowColor}, 0 5px 10px 0 ${shadowColor}`;\n\n// BackgroundColors\nexport const PUBLIC_MENU_DROPDOWN = '#585756'; // Maby \"secondaryText\"-color can be used\nexport const PUBLIC_READ_MORE_BACKGROUND = '#e2e2e2'; // Maby \"border\"-color can be used\nexport const FORM_ERROR_BACKGROUND = '#faecec';\n\n// Old colors should not be used\nexport const aquaNight = darkGray; // used to be #1f3a54\nexport const semiBlack = darkGray; // used to be #464543 (same as DarkGray)\nexport const bg = lightGray; // used to be #f2f2f2\nexport const altBg = border; // used to be #e9e9e9\nexport const aqua = currentTheme.PrimaryColor;\n","/* eslint-disable react/no-multi-comp */\n// Common Components : UniCodeIcons\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import ColorGuide\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// UniCodeIcons\nconst Icon = styled.span`\n color: ${props => (props.color ? props.color : ColorGuide.aqua)};\n`;\n\nexport const IconUp = (props) => {\n const { color } = props;\n return ;\n};\n\nexport const IconDown = (props) => {\n const { color } = props;\n return ;\n};\n\nexport const IconLeft = (props) => {\n const { color } = props;\n return ;\n};\n\nexport const IconRight = (props) => {\n const { color } = props;\n return ;\n};\n\nexport const ArrowRight = (props) => {\n const { color } = props;\n return ;\n};\n\nexport const Dash = (props) => {\n const { color } = props;\n return ;\n};\n\nexport const SpecialArrow = () => ;\n\n// Proptypes\n\nconst commonPropTypes = {\n color: PropTypes.string,\n};\n\nconst defaultPropTypes = {\n color: ColorGuide.aqua,\n};\n\nIconUp.propTypes = commonPropTypes;\nIconDown.propTypes = commonPropTypes;\nIconLeft.propTypes = commonPropTypes;\nIconRight.propTypes = commonPropTypes;\nArrowRight.propTypes = commonPropTypes;\nDash.propTypes = commonPropTypes;\n\nIconUp.defaultProps = defaultPropTypes;\nIconDown.defaultProps = defaultPropTypes;\nIconLeft.defaultProps = defaultPropTypes;\nIconRight.defaultProps = defaultPropTypes;\nArrowRight.defaultProps = defaultPropTypes;\nDash.defaultProps = defaultPropTypes;\n","// Common Component : Goto\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Link } from 'gatsby';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport { IconRight } from '../UniCodeIcons/index';\n\n// Styled-components\nconst Container = styled.div`\n line-height: 32px;\n white-space: nowrap;\n font-size: 16px;\n`;\n\nconst Text = styled.span`\n padding-left: 10px;\n`;\n\n// Class\nconst Goto = (props) => {\n const { url, text } = props;\n\n return (\n \n \n \n {text}\n \n \n );\n};\n\n// Proptypes\nGoto.propTypes = {\n url: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n};\n\n// Exports\nexport default Goto;\n","// Component Name : HistoryBack\n\n// Component used in : HistoryBack.\n\n// Import node Modules\nimport React from 'react';\nimport { navigate } from 'gatsby';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport styled from 'styled-components';\n\n// Import Guides\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Images\nimport Arrow from '../../../assets/Icons/svg/icon_Arrow_Right_DarkGray.svg';\n\n// Styled-components\nconst Styled = styled.div`\n position: absolute;\n top: 3px;\n left: 20px;\n cursor: pointer;\n font-size: 10px;\n ${media.tabletP`\n font-size:18px;\n top: 20px;\n left: 80px;\n `};\n`;\n\nconst BackArrow = styled.img.attrs({\n alt: 'Arrow Left',\n src: Arrow,\n})`\n position: relative;\n top: 2px;\n margin-right: 5px;\n height: 10px;\n transform: scaleX(-1);\n ${media.tabletP`\n height:auto;\n top: 2px;\n margin-right: 10px;\n `};\n`;\n\n// Class\nconst HistoryBack = (props) => {\n const { text, url } = props;\n\n return (\n navigate(url)}>\n \n
\n {text}\n
\n
\n );\n};\n\n// Proptypes\nHistoryBack.propTypes = {\n text: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n};\n\n// Exports\nexport default HistoryBack;\n","// Common Component : IfMobileHide\n\n// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Styled Components\nconst IfMobileHide = styled.div.attrs({\n role: 'none',\n})`\n display: none;\n ${media.tabletP`display:block;`};\n`;\n\nconst IfDesktopHide = styled.div.attrs({\n role: 'none',\n})`\n display: block;\n ${media.tabletP`display:none;`};\n`;\n\n// Exports\nexport { IfMobileHide, IfDesktopHide };\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Media Query Variables\nimport { media } from './MediaQuerys';\n\n// Common styles\n\nexport const margins = css`\n margin: 0 auto 10px auto;\n ${media.tabletP`\n margin: 0 auto 40px auto;\n `}\n ${media.tabletL`\n margin: 0 auto 40px auto;\n `}\n ${media.desktop`\n margin: 0 auto 60px auto;\n `}\n`;\n\nexport const SPACINGS = {\n xxl: 40,\n xl: 32,\n lg: 24,\n md: 16,\n m: 12,\n ms: 10,\n sm: 8,\n s: 6,\n xs: 4,\n};\n\n// Exports\nexport default margins;\n","// Common Component : InsertImage\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Styled-components\nimport { margins } from '../../../cssGuides/commonStyles';\n\n// Styled Component\nconst StyledImg = styled.img`\n ${margins};\n width:100%;\n`;\n\n// Class\nconst InsertImage = (props) => {\n const { source, imageAltText } = props;\n return (\n
\n \n
\n );\n};\n\n// Proptypes\nInsertImage.propTypes = {\n source: PropTypes.string.isRequired,\n imageAltText: PropTypes.string.isRequired,\n};\n\n// Exports\nexport default InsertImage;\n","// Common Components : Promote_app\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\n\n// Import Images\nimport AppStore from '../../../assets/Images/AppStore.png';\nimport GooglePlay from '../../../assets/Images/GooglePlay.png';\n\n// Styled Components\nexport const ImgContainer = styled.div`\n margin: 0 auto;\n text-align: center;\n`;\n\nexport const DownloadAt = styled.img`\n height: 40px;\n margin: 8px;\n`;\n\n// Class\nconst PromoteApp = () => (\n \n \n \n \n \n \n \n \n);\n\n// Exports\nexport default PromoteApp;\n","// Common Component : ReadMore\n\n// Component used in : Banner.\n\n// Import Node Modules\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { Link } from 'gatsby';\nimport PropTypes from 'prop-types';\n\n// Color Variables\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Import Images\nimport arrowRightWhite from '../../../assets/Icons/svg/icon_Arrow_Right_White.svg';\nimport arrowRightBlue from '../../../assets/Icons/svg/icon_Arrow_Right_Blue.svg';\n\n// Styled-Components\nconst IconShadow = css`\n -webkit-filter: drop-shadow( 1px 1px 2px ${ColorGuide.darkGray});\n filter: drop-shadow( 1px 1px 2px ${ColorGuide.darkGray});\n`;\n\nconst Icon = styled.img.attrs({\n alt: 'Arrow Right',\n})`\n width: 20px;\n height: 14px;\n position: relative;\n top: 3px;\n margin-left: 17px;\n ${props => (props.shadow === true ? null : IconShadow)}\n\n`;\n\n// Class\nconst ReadMore = (props) => {\n const {\n url,\n text,\n className,\n blue,\n } = props;\n\n if (url != null) {\n return (\n \n {text}\n \n \n );\n }\n return (\n
\n

\n {text}\n \n

\n
\n );\n};\n\n// Proptypes\nReadMore.propTypes = {\n url: PropTypes.string,\n text: PropTypes.string.isRequired,\n className: PropTypes.string,\n blue: PropTypes.bool,\n};\n\nReadMore.defaultProps = {\n url: undefined,\n className: undefined,\n blue: undefined,\n};\n\n// Exports\nexport default ReadMore;\n","// Common Component : Spinner\n\n// Import Node Modules\nimport React from 'react';\nimport styled, { keyframes, css } from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Guide\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Classes\nfunction CreateElements() {\n let styles = '';\n const step = 360 / 12;\n const timer = -1200;\n for (let i = 0; i < 12; i += 1) {\n styles += `\n div:nth-child(${i}) {\n transform: rotate(${step * i}deg);\n animation-delay: ${timer + i * 100}ms;\n }\n `;\n }\n return css`\n ${styles};\n `;\n}\n\nconst animation = keyframes`\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n`;\n\nconst Items = () => {\n return (\n Array.from(Array(12), (e, i) => {\n return
;\n })\n );\n};\n\nconst StyledSpinner = styled.div`\n color: official;\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n div {\n transform-origin: 32px 32px;\n animation: ${animation} 1200ms linear infinite;\n }\n div:after {\n content: ' ';\n display: block;\n position: absolute;\n top: 3px;\n left: 29px;\n width: 5px;\n height: 14px;\n border-radius: 20%;\n background: ${props => (props.color ? props.color : ColorGuide.darkGray)} \n }\n ${CreateElements()};\n`;\n\nconst Spinner = (props) => {\n const { color } = props;\n return (\n \n \n \n );\n};\n\n// Proptypes\nSpinner.propTypes = {\n color: PropTypes.string,\n};\n\nSpinner.defaultProps = {\n color: ColorGuide.darkGray,\n};\n\n// Exports\nexport default Spinner;\n","import * as cookie from 'cookie';\nexport function hasDocumentCookie() {\n // Can we get/set cookies on document.cookie?\n return typeof document === 'object' && typeof document.cookie === 'string';\n}\nexport function cleanCookies() {\n document.cookie.split(';').forEach(function (c) {\n document.cookie = c\n .replace(/^ +/, '')\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n });\n}\nexport function parseCookies(cookies) {\n if (typeof cookies === 'string') {\n return cookie.parse(cookies);\n }\n else if (typeof cookies === 'object' && cookies !== null) {\n return cookies;\n }\n else {\n return {};\n }\n}\nexport function isParsingCookie(value, doNotParse) {\n if (typeof doNotParse === 'undefined') {\n // We guess if the cookie start with { or [, it has been serialized\n doNotParse =\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\n }\n return !doNotParse;\n}\nexport function readCookie(value, options) {\n if (options === void 0) { options = {}; }\n var cleanValue = cleanupCookieValue(value);\n if (isParsingCookie(cleanValue, options.doNotParse)) {\n try {\n return JSON.parse(cleanValue);\n }\n catch (e) {\n // At least we tried\n }\n }\n // Ignore clean value if we failed the deserialization\n // It is not relevant anymore to trim those values\n return value;\n}\nfunction cleanupCookieValue(value) {\n // express prepend j: before serializing a cookie\n if (value && value[0] === 'j' && value[1] === ':') {\n return value.substr(2);\n }\n return value;\n}\n","import * as cookie from 'cookie';\nimport { parseCookies, readCookie, hasDocumentCookie } from './utils';\n// We can't please Rollup and TypeScript at the same time\n// Only way to make both of them work\nvar objectAssign = require('object-assign');\nvar Cookies = /** @class */ (function () {\n function Cookies(cookies) {\n this.changeListeners = [];\n this.TESTING_ONETWO = 2;\n this.cookies = parseCookies(cookies);\n this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\n }\n Cookies.prototype._updateBrowserValues = function () {\n if (!this.HAS_DOCUMENT_COOKIE) {\n return;\n }\n this.cookies = cookie.parse(document.cookie);\n };\n Cookies.prototype._emitChange = function (params) {\n for (var i = 0; i < this.changeListeners.length; ++i) {\n this.changeListeners[i](params);\n }\n };\n Cookies.prototype.get = function (name, options) {\n if (options === void 0) { options = {}; }\n this._updateBrowserValues();\n return readCookie(this.cookies[name], options);\n };\n Cookies.prototype.getAll = function (options) {\n if (options === void 0) { options = {}; }\n this._updateBrowserValues();\n var result = {};\n for (var name_1 in this.cookies) {\n result[name_1] = readCookie(this.cookies[name_1], options);\n }\n return result;\n };\n Cookies.prototype.set = function (name, value, options) {\n var _a;\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n this.cookies = objectAssign({}, this.cookies, (_a = {}, _a[name] = value, _a));\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, value, options);\n }\n this._emitChange({ name: name, value: value, options: options });\n };\n Cookies.prototype.remove = function (name, options) {\n var finalOptions = (options = objectAssign({}, options, {\n expires: new Date(1970, 1, 1, 0, 0, 1),\n maxAge: 0\n }));\n this.cookies = objectAssign({}, this.cookies);\n delete this.cookies[name];\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, '', finalOptions);\n }\n this._emitChange({ name: name, value: undefined, options: options });\n };\n Cookies.prototype.addChangeListener = function (callback) {\n this.changeListeners.push(callback);\n };\n Cookies.prototype.removeChangeListener = function (callback) {\n var idx = this.changeListeners.indexOf(callback);\n if (idx >= 0) {\n this.changeListeners.splice(idx, 1);\n }\n };\n return Cookies;\n}());\nexport default Cookies;\n","import Cookies from './Cookies';\nexport default Cookies;\n","// Component Name : Iframe\n// C1 CMS Name : Iframe\n\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport Cookies from 'universal-cookie';\n\nconst Frame = styled.iframe`\n width: 100%;\n border: none;\n`;\n\nconst getHash = () => {\n if (!global.location || !global.location.hash) {\n return {};\n }\n const { hash } = global.location;\n return hash\n .slice(1)\n .split('&')\n .reduce((output, parts) => {\n const [name, value] = parts.split('=');\n return {\n ...output,\n [name]: decodeURIComponent(value),\n };\n }, {});\n};\n\nclass Iframe extends Component {\n constructor(props) {\n super(props);\n const url = this.getUrl();\n this.state = {\n iFrameHeight: 1000,\n url,\n };\n\n if (global.history) {\n global.history.replaceState(null, null, `#url=${encodeURIComponent(url)}`);\n }\n\n this.onClassicMessage = this.onClassicMessage.bind(this);\n }\n\n\n componentDidMount() {\n if (global.addEventListener) {\n global.addEventListener('message', this.onClassicMessage, false);\n } else if (global.attachEvent) {\n global.attachEvent('onmessage', this.onClassicMessage);\n }\n if (global.addEventListener) {\n global.addEventListener('hashchange', this.onHashChange);\n global.addEventListener('CookieInformationConsentGiven', this.onConsentGiven);\n }\n\n if (global.location.hash.length > 1) { // This is needed to force client side render to use hash path\n const { url } = this.state;\n const newUrl = this.getUrl();\n if (newUrl !== url) {\n this.setState({\n url: newUrl,\n });\n }\n }\n }\n\n componentWillUnmount() {\n if (global.addEventListener) {\n global.removeEventListener('message', this.onClassicMessage);\n global.removeEventListener('CookieInformationConsentGiven', this.onConsentGiven);\n } else if (global.attachEvent) {\n global.removeEventListener('onmessage', this.onClassicMessage);\n }\n }\n\n onClassicMessage(e) {\n const { url } = this.state;\n const { data, origin } = e;\n if (data.type === 'synthetic' && data.path) {\n global.window.scrollTo(0, 0);\n\n if (data.path !== url && !data.disableReload) {\n global.history.replaceState(null, null, `#url=${encodeURIComponent(e.data.path)}`);\n // NOTE: we are not updating the state here to avoid extra iframe reloads, hecne this.state.url\n // can be out of sync after initial mount\n }\n }\n\n if (data.type === 'scroll' && this.frame) {\n const isSmoothScrollSupported = 'scrollBehavior' in global.document.documentElement.style;\n const { top, left, behavior } = data;\n if (isSmoothScrollSupported) {\n global.window.parent.scrollTo({ top, left, behavior });\n } else {\n global.window.parent.scrollTo(left, top);\n }\n }\n\n if (origin.indexOf('classic') !== -1) {\n if (!data) return;\n\n if (data.type === 'external-nagivation' && data.url) {\n global.location.href = data.url;\n }\n\n if (\n data.height\n && typeof data.height === 'number'\n && Number.isFinite(data.height)\n ) {\n this.setState({ iFrameHeight: Math.ceil(data.height) });\n }\n\n if(data.type === 'consent')\n {\n this.onConsentGiven();\n }\n }\n }\n\n onConsentGiven = () => {\n if (!global.CookieInformation) {\n return;\n }\n\n if(this.frame.contentWindow.postMessage)\n {\n const consent = { \n cookie_cat_functional: global.CookieInformation.getConsentGivenFor('cookie_cat_functional'),\n cookie_cat_statistic: global.CookieInformation.getConsentGivenFor('cookie_cat_statistic'),\n cookie_cat_marketing: global.CookieInformation.getConsentGivenFor('cookie_cat_marketing'),\n cookie_cat_unclassified: global.CookieInformation.getConsentGivenFor('cookie_cat_unclassified')\n };\n\n const cookies = new Cookies();\n\n this.frame.contentWindow.postMessage({\n type: 'consent',\n consent,\n cookie: cookies.get('CookieInformationConsent')\n }, global.window.origin.replace('www', 'classic'));\n }\n\n }\n\n onHashChange = () => {\n const newUrl = global.location.hash.substring(5);\n this.setState({\n url: newUrl,\n }, () => {\n if (this.frame) {\n this.frame.src = decodeURIComponent(newUrl);\n }\n });\n }\n\n getUrl = () => {\n const { url: baseUrl } = this.props;\n const {\n path = '',\n url,\n cachebuster,\n } = getHash();\n\n let currentUrl = `${baseUrl}${path}`;\n\n if (url) {\n currentUrl = url;\n }\n\n let busting = '';\n\n if (cachebuster) {\n busting = `${currentUrl.indexOf('?') >= 0 ? '&' : '?'}cachebuster=${cachebuster}`;\n }\n\n return currentUrl + busting;\n }\n\n render() {\n const { scrolling } = this.props;\n const { iFrameHeight, url } = this.state;\n\n return global.location ? (\n { this.frame = r; }}\n />\n ) : null;\n }\n}\n\n// Proptypes\nIframe.propTypes = {\n url: PropTypes.string.isRequired,\n scrolling: PropTypes.bool,\n};\n\nIframe.defaultProps = {\n scrolling: false,\n};\n\n// Exports\nexport default Iframe;\n","// Common Component : Url & OnClickUrl\n\n// Component used in : Skideshow, Footer.\n\n// Import Node Modules\nimport React from 'react';\nimport { Link, navigate } from 'gatsby';\nimport PropTypes from 'prop-types';\n\n// Url Component\nexport const Url = (props) => {\n const { url, name, children } = props;\n\n if (url.indexOf('http') === 0) {\n return (\n \n {name || children}\n \n );\n }\n return {name || children};\n};\n\nexport function OnClickUrl(url) {\n if (url.indexOf('http') === 0) {\n global.window.open(url, '_blank');\n } else {\n navigate(url);\n }\n}\n\n// Proptypes\nUrl.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string,\n children: PropTypes.node,\n};\n\nUrl.defaultProps = {\n name: undefined,\n children: undefined,\n};\n","// Common Component : Wrapper\n\n// Component used in : MainMenu, MegaMenu, CookieBanner.\n\n// Import Node Modules\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Variables\nconst width = props => (props.minWidth ? props.minWidth : '1024px');\n\n// Class\nconst Wrapper = styled.div`\n @media (min-width: ${width}) {\n width: ${width};\n margin: 0 auto;\n }\n @media (max-width: ${width}) {\n width: 100%;\n }\n flex: 1;\n`;\n\n// Proptypes\nWrapper.propTypes = {\n minWidth: PropTypes.string,\n};\n\n// Exports\nexport default Wrapper;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Button\n\nconst commonButton = css`\n text-align: center;\n padding: 16px 20px;\n border-radius: 5px;\n font-weight: 500;\n font-size: 16px;\n display: inline-block;\n width: 100%;\n cursor: pointer;\n @media screen and (min-width: 800px) {\n min-width: 232px;\n width: auto;\n }\n`;\n\nconst globalButton = css`\n .primaryBtn,\n .linkBtn {\n ${commonButton};\n background-color: ${props => props.theme.PrimaryColor};\n border: none;\n color: ${ColorGuide.white} !important;\n &:hover {\n background-color: ${props => props.theme.PrimaryHover};\n }\n }\n\n .primary2Btn {\n ${commonButton};\n background-color: ${ColorGuide.darkGray};\n color: ${ColorGuide.white} !important;\n &:hover {\n background-color: ${ColorGuide.black};\n }\n }\n \n .secondaryBtn {\n ${commonButton};\n background-color: ${ColorGuide.white};\n border: 1px solid ${props => props.theme.PrimaryColor};\n color: ${props => props.theme.PrimaryColor} !important;\n &:hover {\n background-color: ${ColorGuide.lightGray};\n }\n }\n`;\n\nexport default globalButton;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// Import Icons\nimport WarningIcon from '../../assets/Icons/svg/icon_Warning_Error.svg';\n\n// CSS Common\nconst common = css`\n padding: 13px 16px;\n font-size: 16px;\n border-radius: 4px;\n border: none;\n margin-top: 10px;\n`;\n\nconst placeholder = css`\n &::placeholder {\n opacity: 0.3;\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.5;\n letter-spacing: 0.2px;\n color: ${ColorGuide.darkGray};\n }\n`;\n\nconst check = css`\n border: 1px solid ${ColorGuide.white};\n &:focus {\n outline: none;\n border: 1px solid ${props => props.theme.PrimaryColor};\n border-radius: 4px;\n outline-offset: 0;\n }\n`;\n\n// CSS Form\n\nconst globalForm = css`\n .formContainer {\n background-color: ${ColorGuide.lightGray};\n padding: 10px;\n border-radius: 7px;\n @media screen and (min-width: 768px) {\n padding: 40px 200px;\n }\n }\n\n .errorBox {\n position: relative;\n width: 100%;\n border: solid 1px ${ColorGuide.red};\n background-color: ${ColorGuide.FORM_ERROR_BACKGROUND};\n margin-bottom: 20px;\n border-radius: 4px;\n padding: 40px 10px 10px 40px;\n\n &:before {\n content: url('${WarningIcon}');\n position: absolute;\n left: 10px;\n top: 10px;\n }\n }\n\n .errorText {\n position: absolute;\n left: 40px;\n top: 12px;\n color: ${ColorGuide.red};\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 14px;\n }\n }\n\n .required {\n &:after {\n color: ${ColorGuide.red};\n content: ' *';\n }\n }\n\n .btnContainer {\n width: 100%;\n text-align: center;\n }\n\n input[type='submit'],\n input[type='reset'] {\n ${common};\n background-color: ${props => props.theme.PrimaryColor};\n color: ${ColorGuide.white};\n margin-right: 20px;\n }\n\n input[type='text'],\n input[type='number'],\n input[type='email'],\n input[type='password'] {\n ${common};\n ${placeholder};\n ${check};\n background-color: ${ColorGuide.white};\n width: 100%;\n }\n\n select {\n ${common};\n ${check};\n width: 100%;\n height: 46px;\n\n }\n`;\nexport default globalForm;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Button\n\nconst globalCheckbox = css`\n input[type='checkbox'] {\n position: absolute;\n outline: none;\n opacity: 0;\n\n &:focus {\n + label {\n &:before {\n box-shadow: 0 0 5px #0000ff;\n }\n }\n }\n\n &:checked {\n + label {\n &:after {\n opacity: 1;\n }\n }\n }\n\n + label {\n position: relative;\n cursor: pointer;\n padding-left: 28px;\n line-height: 30px;\n padding-top: 2px;\n &:before {\n position: absolute;\n left: 0;\n top: -1px;\n content: '';\n background: ${ColorGuide.white};\n width: 25px;\n height: 25px;\n display: block;\n border-radius: 5px;\n border: 3px solid ${ColorGuide.white};\n }\n &:after {\n border-radius: 5px;\n content: '✔';\n position: absolute;\n background: ${props => props.theme.PrimaryColor};\n top: -1px;\n left: 0;\n width: 25px;\n height: 25px;\n line-height: 20px;\n text-align: center;\n color: ${ColorGuide.white};\n border: 3px solid ${ColorGuide.white};\n opacity: 0;\n -moz-transition: all 0.2s;\n -o-transition: all 0.2s;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n }\n }\n }\n`;\n\nexport default globalCheckbox;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Radio buttons\n\nconst globalRadioButton = css`\n input[type='radio'] {\n font-size: 16px;\n margin: 0 10px 10px 0;\n vertical-align: 2px;\n border: none;\n &:after {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n top: -2px;\n left: -2px;\n position: relative;\n background-color: ${ColorGuide.white};\n content: '';\n display: inline-block;\n visibility: visible;\n border: 3px solid ${ColorGuide.white};\n }\n &:checked {\n &:after {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n top: -2px;\n left: -2px;\n position: relative;\n background-color: ${props => props.theme.PrimaryColor};\n content: '';\n display: inline-block;\n visibility: visible;\n border: 3px solid ${ColorGuide.white};\n }\n }\n }\n`;\n\nexport default globalRadioButton;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Ordered List\n\nexport const globalOrderedList = css`\n ol {\n padding-left: 32px;\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.7;\n letter-spacing: 0.2px;\n color: ${ColorGuide.darkGray};\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 16px;\n }\n\n li {\n padding-left: 1em;\n text-indent: -0.7em;\n }\n }\n`;\n\nexport const globalUnOrderedList = css`\n ul {\n list-style: none;\n padding: 0 0 0 20px;\n margin: 0;\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.7;\n letter-spacing: 0.2px;\n color: ${ColorGuide.darkGray};\n margin-bottom: 34px;\n\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 16px;\n }\n\n li {\n padding-left: 1em;\n text-indent: -0.7em;\n }\n\n li::before {\n content: '• ';\n color: ${props => props.theme.PrimaryColor};\n }\n }\n`;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// CSS 16by9 video\nconst embedResponsive16by9 = css`\n .embed-responsive-16by9 {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n padding-bottom: 56.25%;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n }\n`;\n\nexport default embedResponsive16by9;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Button\n\nconst globalHelperClasses = css`\n .text-left {\n text-align: left;\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-right {\n text-align: right;\n }\n\n .pull-left {\n float: left !important;\n }\n\n .pull-right {\n float: right !important;\n }\n\n .btn-bottom-right {\n @media screen and (min-width: 768px) {\n position: absolute;\n bottom: 25px;\n right: 25px;\n }\n @media screen and (min-width: 1024px) {\n bottom: 0px;\n right: 40px;\n }\n }\n\n .btn-bottom-left {\n margin-bottom: 0px;\n @media screen and (min-width: 768px) {\n position: absolute;\n bottom: 25px;\n left: 25px;\n }\n @media screen and (min-width: 1024px) {\n bottom: 40px;\n left: 40px;\n }\n }\n\n .btn-center {\n margin: 0 auto;\n }\n\n .colorWhite {\n color: ${ColorGuide.white};\n }\n\n .colorDark {\n color: ${ColorGuide.darkGray};\n }\n\n .display-block {\n display: block;\n }\n\n .display-none {\n display: none;\n }\n\n img {\n max-width: 100%;\n }\n\n iframe {\n width: 100%;\n }\n`;\n\nexport default globalHelperClasses;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Button\n\nconst commonSizing = css`\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n`;\n\nconst globalBody = css`\n * {\n ${commonSizing};\n margin: 0px;\n padding: 0px;\n &:before {\n ${commonSizing};\n }\n &:after {\n ${commonSizing};\n }\n }\n\n html,\n body,\n #___gatsby,\n #___gatsby > div {\n height: 100%;\n }\n\n #___gatsby > div {\n display: flex;\n flex-direction: column;\n }\n\n body {\n font-family: 'Montserrat', sans-serif;\n background-color: ${ColorGuide.white};\n color: ${ColorGuide.darkGray};\n }\n`;\n\nexport default globalBody;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Button\n\nconst globalModal = css`\n .modal {\n position: fixed;\n top: 0;\n left: 0;\n width:100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n z-index:4;\n }\n\n .modal-main {\n position:fixed;\n background: ${ColorGuide.white};\n width:90%;\n top:50%;\n left:50%;\n transform: translate(-50%,-50%);\n border-radius:10px;\n padding:30px;\n\n @media only screen and (min-width: 600px) {\n width: 600px;\n height: 460px;\n }\n }\n`;\n\nexport default globalModal;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// CSS Header\n\nconst common = css`\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n`;\n\nconst globalHeader = css`\n .application h1 {\n ${common};\n line-height: 1.15;\n margin-bottom: 24px;\n font-weight: 700;\n text-align: center;\n\n font-size: 20px;\n @media screen and (min-width: 768px) {\n font-size: 34px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 42px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 50px;\n }\n }\n\n .application h2 {\n ${common};\n margin-bottom: 17px;\n font-weight: 700;\n\n font-size: 20px;\n @media screen and (min-width: 768px) {\n font-size: 24px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 30px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 35px;\n }\n }\n\n .application h3 {\n ${common};\n line-height: 1.5;\n font-weight: 700;\n\n font-size: 14px;\n @media screen and (min-width: 768px) {\n font-size: 16px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 18px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 20px;\n }\n }\n`;\n\nexport default globalHeader;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS Paragraph\n\nconst common = css`\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n`;\n\nconst globalParagraph = css`\n p {\n ${common};\n line-height: 1.38;\n letter-spacing: -0.3px;\n font-weight: 400;\n margin-bottom: 24px;\n\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 16px;\n }\n }\n\n p.intro {\n ${common};\n letter-spacing: 0.4px;\n font-weight: 400;\n\n font-size: 14px;\n @media screen and (min-width: 768px) {\n font-size: 16px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 18px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 20px;\n }\n }\n\n p.manchet,\n p.Manchet {\n ${common};\n letter-spacing: 0.4px;\n font-weight: 400;\n padding-bottom: 30px;\n border-bottom: 1px solid ${ColorGuide.darkGray};\n text-align: center;\n\n font-size: 14px;\n @media screen and (min-width: 768px) {\n font-size: 16px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 18px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 20px;\n }\n }\n\n p.body {\n ${common};\n line-height: 1.38;\n letter-spacing: -0.3px;\n font-weight: 400;\n\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 16px;\n }\n }\n\n p.bold {\n ${common};\n line-height: 1.38;\n letter-spacing: -0.4px;\n font-weight: 700;\n\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 16px;\n }\n }\n\n p.small {\n ${common};\n line-height: 1.47;\n font-weight: 400;\n\n font-size: 10px;\n @media screen and (min-width: 768px) {\n font-size: 12px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 13px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 14px;\n }\n }\n\n p.footnote {\n ${common};\n color: ${ColorGuide.midGray};\n font-weight: 400;\n\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 13px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 14px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 14px;\n }\n }\n`;\n\nexport default globalParagraph;\n","// Import Node Modules\nimport { css } from 'styled-components';\n\n// Import Variables\nimport * as ColorGuide from '../colorGuide';\n\n// CSS A-href\n\nconst globalLink = css`\n a {\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: -0.4px;\n font-weight: 500;\n text-decoration: none;\n color: ${ColorGuide.aquaBright};\n\n &:visited {\n color: ${props => props.theme.PrimaryVisited};\n }\n\n &:hover {\n color: ${props => props.theme.PrimaryHover};\n }\n\n font-size: 12px;\n @media screen and (min-width: 768px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1024px) {\n font-size: 15px;\n }\n @media screen and (min-width: 1280px) {\n font-size: 16px;\n }\n }\n`;\n\nexport default globalLink;\n","import { css } from 'styled-components';\n\nconst globalFocus = css`\n body:not(.user-is-tabbing) *:focus {\n outline: none;\n }\n\n body.user-is-tabbing *:focus {\n outline: 2px solid #7aacfe !important; /* for non-webkit browsers */\n outline: 5px auto -webkit-focus-ring-color !important;\n }\n`;\n\nexport default globalFocus;\n","import { createGlobalStyle } from 'styled-components';\n\nimport globalButton from './globalButton';\nimport globalForm from './globalForm';\nimport globalCheckbox from './globalCheckbox';\nimport globalRadioButton from './globalRadioButton';\nimport { globalOrderedList, globalUnOrderedList } from './globalList';\nimport embedResponsive16by9 from './embed-responsive-16by9';\nimport globalHelperClasses from './globalHelperClasses';\nimport globalBody from './globalBody';\nimport globalModal from './globalModal';\nimport globalHeader from './globalHeader';\nimport globalParagraph from './globalParagraph';\nimport globalLink from './globalLink';\nimport globalFocus from './globalFocus';\n\nconst GlobalStyle = createGlobalStyle`\n ${globalButton};\n ${globalForm};\n ${globalCheckbox};\n ${globalRadioButton};\n ${globalOrderedList};\n ${globalUnOrderedList};\n ${embedResponsive16by9};\n ${globalHelperClasses};\n ${globalBody};\n ${globalModal};\n ${globalHeader};\n ${globalParagraph};\n ${globalLink};\n ${globalFocus};\n`;\n\nexport default GlobalStyle;\n","// Common Component : Wrapper\n\n// Import Node Modules\nimport React from 'react';\nimport styled, { ThemeProvider } from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Variables\nimport { currentTheme } from '../../../theme/index';\nimport GlobalStyle from '../../../cssGuides/GlobalStyles/index';\n\nconst size = (props) => {\n return props.size ? props.size : '1024px';\n};\n\n// Class\nconst Wrapper = styled.div`\n @media (min-width: ${size}) {\n width: ${size};\n margin: 0 auto;\n padding: 60px 60px ${props => (props.paddingBottom ? props.paddingBottom : '0.1px')} 60px;\n }\n @media (max-width: ${size}) {\n width: 100%;\n padding:10px;\n }\n flex: 1;\n background-color: ${props => (props.bg ? props.bg : currentTheme.PrimaryHover)};\n\n \n\n box-sizing: border-box;\n`;\n\nconst StoryWrapper = (props) => {\n const {\n children,\n width,\n paddingBottom,\n bg,\n } = props;\n\n return (\n \n
\n \n \n {children}\n \n
\n
\n );\n};\n\n// Proptypes\nStoryWrapper.propTypes = {\n width: PropTypes.string.isRequired,\n paddingBottom: PropTypes.string,\n children: PropTypes.node.isRequired,\n bg: PropTypes.string,\n};\n\nStoryWrapper.defaultProps = {\n paddingBottom: '0.1px',\n bg: currentTheme.PrimaryHover,\n};\n\n// Exports\nexport default StoryWrapper;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\n// Import Default Image\nimport DefaultImage from '../../../assets/DefaultImages/FrontPageBanner.png';\nimport DefaultMobileImage from '../../../assets/DefaultImages/FrontPageBannerMobile.png';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Import Common Styles\nimport { margins } from '../../../cssGuides/commonStyles';\n\n// Styled-Components\nconst Overlay = styled.div`\n position: absolute;\n top: 0;\n display: block;\n width: 100%;\n height: 100%;\n`;\n\nconst OverlayMobile = styled.div`\n position: relative;\n display: block;\n background-color: ${ColorGuide.white};\n padding-top: 15px;\n width: 95%;\n margin: 20px auto;\n border-radius: 4px;\n box-shadow: ${ColorGuide.shadow};\n padding: 10px;\n h1 {\n color: black !important;\n }\n p {\n color: black !important;\n }\n`;\n\n// Class\nconst BannerOverlayText = (props) => {\n const {\n image,\n children,\n className,\n fullSize,\n displayMobile,\n noText,\n altText,\n mobile,\n } = props;\n\n const fullWidth = css`\n margin: -20px -10px 0px -10px;\n width: calc(100% + 40px);\n\n border-top-right-radius: 15px;\n border-top-left-radius: 15px;\n\n ${media.tabletP`\n margin: -50px -25px 0px -25px;\n width: calc(100% + 100px);\n `};\n\n ${media.tabletL`\n margin: -60px -30px 0px -30px;\n width: calc(100% + 120px);\n `};\n\n ${media.desktop`\n margin: -80px -40px 20px -40px;\n width: calc(100% + 160px);\n `};\n `;\n\n const Container = styled.div`\n width: 100%;\n ${fullSize != null && margins};\n `;\n\n const CommonCSS = css`\n display: block;\n position: relative;\n width: 100%;\n height: auto;\n ${fullSize != null && fullWidth};\n `;\n\n const Inner = styled.div`\n ${CommonCSS};\n `;\n\n const Image = styled.img`\n ${CommonCSS};\n `;\n\n return (\n
\n \n \n
\n {\n e.target.onerror = null;\n e.target.src = mobile === true ? DefaultMobileImage : DefaultImage;\n e.target.alt = 'Default Image';\n }}\n />\n {displayMobile && {children}}\n {!mobile && {children}}\n
\n
\n
\n {!displayMobile && mobile === true && noText && (\n {children}\n )}\n
\n );\n};\n\n// Proptypes\nBannerOverlayText.propTypes = {\n image: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n fullSize: PropTypes.bool,\n displayMobile: PropTypes.bool,\n noText: PropTypes.bool,\n altText: PropTypes.string,\n mobile: PropTypes.bool.isRequired,\n};\n\nBannerOverlayText.defaultProps = {\n className: undefined,\n fullSize: undefined,\n displayMobile: undefined,\n noText: undefined,\n altText: 'Image No Description',\n};\n\n// Exports\nexport default BannerOverlayText;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Color Variables\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Import components\nimport { ReadMore } from '../../CommonComponents/index';\n\n// Styled-Components\nexport const Header = styled.h1`\n margin-bottom: 10px;\n color: ${ColorGuide.white};\n text-align: center;\n text-shadow: 1px 1px 2px ${ColorGuide.darkGray};\n ${media.tabletP`\n margin-top:0px;\n margin-bottom: 16px;\n `}\n ${media.tabletL`\n margin-bottom: 20px;\n `}\n ${media.desktop`\n ${props => (props.fullSize === null ? '' : 'font-size: 60px !important')}\n margin-bottom: 24px;\n `} \n`;\n\n// Manchet is disabled on Mobile\nexport const Manchet = styled.p`\n text-align: center;\n color: ${ColorGuide.white};\n margin-bottom: 10px !important;\n text-shadow: 1px 1px 2px ${ColorGuide.darkGray};\n`;\n\nexport const ReadMoreStyled = styled(ReadMore)`\n font-size: 18px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: ${ColorGuide.white};\n width: 100%;\n text-align: center;\n margin-top: -5px;\n text-shadow: 1px 1px 2px ${ColorGuide.darkGray};\n ${media.tabletP`\n margin-top: -25px;\n `}\n ${media.tabletL`\n margin-top: -20px;\n `}\n ${media.desktop`\n ${props => (props.fullSize != null ? 'margin-top: -10px' : 'margin-top: 10px')}\n `}\n`;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../cssGuides/MediaQuerys';\n\n// Import Color Guide\nimport * as ColorGuide from '../../cssGuides/colorGuide';\n\n// Components\n\nconst BannerContent = styled.div`\n text-align: center;\n margin: 0 auto;\n width: 95%;\n\n p,\n h1 {\n color: ${ColorGuide.white};\n text-shadow: 1px 1px 2px black;\n }\n\n ${media.tabletP`\n width:70%;\n `};\n ${media.tabletL`\n width:90%;\n `};\n ${media.desktop`\n width:1060px;\n margin-bottom: ${props => props.bottomMargin};\n `};\n`;\n\n// Exports\nexport default BannerContent;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport BannerOverlayText from '../components/PageComponents/Banner/overlay';\nimport { AlignContentCenter } from '../components/CommonComponents/index';\n\n// Import Styled-Components\nimport BannerContent from './components/BannerContent';\n\n// Component\nconst Overlay = (props) => {\n const {\n image,\n content,\n bottomMargin,\n displayMobile,\n imageAltText,\n mobile,\n } = props;\n\n return (\n \n \n \n \n \n );\n};\n\n// Proptypes\nOverlay.propTypes = {\n image: PropTypes.string.isRequired,\n content: PropTypes.string,\n bottomMargin: PropTypes.string,\n displayMobile: PropTypes.bool,\n imageAltText: PropTypes.string,\n mobile: PropTypes.bool.isRequired,\n};\n\nOverlay.defaultProps = {\n displayMobile: undefined,\n content: null,\n bottomMargin: undefined,\n imageAltText: 'Image No Description',\n};\n\nexport default Overlay;\n","// Import Node Modules\nimport React from 'react';\n\n// Import Components\nimport Overlay from './Overlay';\n\n// Functions\n// eslint-disable-next-line consistent-return\nexport const GetDisplayHeader = (data) => {\n if (data.bannerImage != null) {\n return -130;\n }\n if (data.bannerContent == null && data.bannerImage != null) {\n return -200;\n }\n};\n\nexport const RenderContent = (data, isMobile) => {\n const { mobile, bannerContent, bannerImage } = data;\n return (\n
\n {isMobile ? (\n \n ) : (\n \n )}\n
\n );\n};\n\nexport const isMobileOnClient = () => {\n // eslint-disable-next-line no-undef\n return typeof window !== 'undefined' && window.innerWidth < 768;\n};\n\nexport const isProduction = () => {\n // eslint-disable-next-line no-undef\n switch (window.location.hostname) {\n case 'www.sampension.dk':\n case 'www.isp.dk':\n case 'www.pjdpension.dk':\n case 'www.arkitektpension.dk':\n return true;\n default:\n return false;\n }\n}","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport {\n AlignContentCenter,\n Url,\n} from '../../CommonComponents/index';\n\nimport BannerOverlayText from './overlay';\n\nimport { Header, Manchet, ReadMoreStyled } from './styledcomponents';\n\nimport { isMobileOnClient } from '../../../template/helperFunctions';\n\n// Class\nclass Banner extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n desktop: !isMobileOnClient(),\n };\n this.handleNavResize = this.handleNavResize.bind(this);\n }\n\n componentDidMount() {\n global.addEventListener('resize', this.handleNavResize);\n this.handleNavResize();\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize() {\n this.setState({\n desktop: !isMobileOnClient(),\n });\n }\n\n renderContent() {\n const {\n header,\n manchet,\n urlText,\n fullWidth,\n } = this.props;\n\n return (\n \n \n\n \n\n \n \n );\n }\n\n render() {\n const {\n image,\n mobile,\n url,\n fullWidth,\n header,\n manchet,\n imageAltText,\n } = this.props;\n\n const { desktop } = this.state;\n\n let mobileImage = null;\n let displayMobile = null;\n let noText = null;\n\n if (mobile != null) {\n mobileImage = mobile;\n displayMobile = true;\n } else {\n mobileImage = image;\n displayMobile = false;\n }\n\n if (header != null && manchet != null) {\n noText = true;\n } else {\n noText = false;\n }\n\n return (\n
\n {desktop ? (\n \n \n {this.renderContent()}\n \n \n ) : (\n \n \n {this.renderContent()}\n \n \n )}\n
\n );\n }\n}\n\n// Proptypes\nBanner.propTypes = {\n header: PropTypes.string.isRequired,\n manchet: PropTypes.string.isRequired,\n urlText: PropTypes.string.isRequired,\n fullWidth: PropTypes.bool,\n image: PropTypes.string.isRequired,\n mobile: PropTypes.string,\n url: PropTypes.string.isRequired,\n imageAltText: PropTypes.string,\n};\n\nBanner.defaultProps = {\n fullWidth: undefined,\n mobile: undefined,\n imageAltText: 'Image No Description',\n};\n\n// Exports\nexport default Banner;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Import Components\nexport const Container = styled.article`\n background-color: white;\n position:relative;\n margin-bottom: 40px;\n border-radius: 10px;\n width: 100%;\n margin: 10px auto;\n \n ${media.tabletP`\n box-shadow: ${ColorGuide.shadow};\n width: 95%;\n padding:0;\n `}\n ${media.tabletL`\n\n `}\n ${media.desktop`\n height: 100%;\n width: 100%;\n `};\n\n`;\n\nexport const Content = styled.div`\n z-index:1;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.2;\n letter-spacing: -1px;\n position: relative;\n border-top-right-radius:10px;\n border-top-left-radius:10px;\n background-color:${ColorGuide.white};\n \n h2 {\n padding:10px 10px 0px 10px;\n }\n\n ${media.tabletP`\n h2 {\n padding:10px 40px 20px 0px;\n }\n p {\n line-height: 1.4;\n }\n text-align:center;\n `}\n ${media.tabletL`\n h2 {\n padding:25px 40px 20px 0px;\n }\n p {\n line-height: 1.3;\n }\n text-align:left;\n `}\n ${media.desktop`\n p {\n font-size: 20px;\n margin:15px 0 -10px 0;\n }\n h2 {\n font-size:40px;\n padding:10px 40px 20px 0px;\n }\n `}\n`;\n\nexport const Inner = styled.div`\n padding: 10px;\n ${media.tabletL`\n padding: 40px 0px 30px 100px;\n `};\n ${media.desktop`\n padding: 40px 0px 30px 80px;\n `};\n`;\n\nexport const Image = styled.img`\n width:720px;\n\n ${media.tabletP`\n padding-top:20px;\n width:100%;\n margin: 0 auto;\n `}\n ${media.tabletL`\n position:absolute;\n z-index:2;\n width:600px;\n left:-20px;\n top:50px;\n `}\n ${media.desktop`\n width:720px;\n left:-110px;\n top:40px;\n `}\n`;\n\nexport const Image2 = styled.img`\n position:relative;\n top:4px;\n width:250px;\n margin-bottom:15px;\n\n ${media.tabletP`\n z-index:2;\n position:absolute;\n width:120px;\n right:50px;\n top:175px;\n `}\n ${media.tabletL`\n width:80px;\n left:440px;\n top:250px;\n `}\n ${media.desktop`\n width:100px;\n left:440px;\n top:260px;\n `}\n`;\n\n// Blue Text Container\n\nexport const TextContainer = styled.div`\n background-color: rgba(84, 168, 209, 0.2);\n border-bottom-right-radius: 10px;\n border-bottom-left-radius: 10px;\n`;\n\nexport const TextBlock = styled.div`\n padding: 30px 20px 1px 20px;\n ${media.tabletP`\n padding: 32px 40px 1px 40px;\n `}\n ${media.tabletL`\n padding: 32px 40px 1px 40px;\n `}\n ${media.desktop`\n padding: 32px 40px 1px 40px;\n `}\n p {\n line-height: 1.5 !important;\n letter-spacing: normal !important;\n }\n`;\n\nexport const Bullets = styled.div`\n li {\n font-size: 16px;\n }\n\n width: 100%;\n\n ${media.tabletL`\n width: 840px;\n margin: -30px auto 0 auto;\n `};\n`;\n\nexport const LastText = styled.div`\n width: 100%;\n margin: 0 auto;\n text-align: center;\n font-size: 11px;\n ${media.tabletP`\n font-size: 11px;\n width:90%;\n `}\n ${media.tabletL`\n font-size: 10px;\n width:100%;\n `}\n ${media.desktop`\n font-size: 11px;\n `}\n\n a {\n font-size: 11px;\n ${media.tabletP`\n font-size: 11px;\n\n `}\n ${media.tabletL`\n font-size: 10px;\n `}\n ${media.desktop`\n font-size: 11px;\n `}\n }\n`;\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\nexport const CloseBtn = styled.div`\n font-size: 25px;\n font-weight: normal;\n cursor: pointer;\n position: absolute;\n top: 15px;\n right: 15px;\n background-color: ${ColorGuide.white};\n width: 40px;\n height: 40px;\n border-radius: 50%;\n color: ${ColorGuide.black};\n display: flex;\n align-items: center;\n justify-content: center;\n transform: rotate(45deg);\n`;\n\nexport const OkBtn = styled.div`\n font-size: 25px;\n font-weight: normal;\n cursor: pointer;\n position: absolute;\n bottom: 50px;\n left: 280px;\n background-color: ${ColorGuide.green};\n width: 40px;\n height: 40px;\n border-radius: 50%;\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n`;\n\nconst Modal = ({\n handleClose,\n show,\n children,\n posted,\n}) => {\n const showHideClassName = show ? 'modal display-block' : 'modal display-none';\n\n return (\n
\n e.stopPropagation()}\n >\n {children}\n {posted ? (\n \n ) : (\n \n )}\n
\n
\n );\n};\n\n// Proptypes\nModal.propTypes = {\n handleClose: PropTypes.func.isRequired,\n show: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n posted: PropTypes.bool.isRequired,\n};\n\nexport default Modal;\n","// Component Name : Beta\n// C1 CMS Name : Beta\n\n// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport axios from 'axios';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\nimport { isMobileOnClient } from '../../../template/helperFunctions';\n\n\n// Import Images\nimport beta from '../../../assets/Images/Mac_beta.png';\nimport betaMobil from '../../../assets/Images/Iphone_beta.png';\n\n// Import Components\nimport {\n Container,\n Image,\n Image2,\n Content,\n TextBlock,\n TextContainer,\n Inner,\n} from './styledcomponents';\n\nimport Modal from '../Modal';\n\nimport { Columns } from '../../CommonComponents/index';\n\n\nclass Beta extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n show2: false,\n show3: false,\n name: '',\n email: '',\n select: 'Iphone',\n mobile: isMobileOnClient(),\n };\n this.handleNameChange = this.handleNameChange.bind(this);\n this.handleEmailChange = this.handleEmailChange.bind(this);\n this.handleSelectChange = this.handleSelectChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.showModal = this.showModal.bind(this);\n this.hideModal = this.hideModal.bind(this);\n this.showModal2 = this.showModal2.bind(this);\n this.hideModal2 = this.hideModal2.bind(this);\n this.showModal3 = this.showModal3.bind(this);\n this.hideModal3 = this.hideModal3.bind(this);\n this.handleNavResize = this.handleNavResize.bind(this);\n }\n\n componentDidMount() {\n global.addEventListener('resize', this.handleNavResize);\n this.handleNavResize();\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize() {\n this.setState({\n mobile: isMobileOnClient(),\n });\n }\n\n handleNameChange(event) {\n this.setState({\n name: event.target.value,\n });\n }\n\n handleEmailChange(event) {\n this.setState({\n email: event.target.value,\n });\n }\n\n handleSelectChange(event) {\n this.setState({ select: event.target.value });\n }\n\n handleSubmit(event) {\n event.preventDefault();\n const { name, email, select } = this.state;\n axios.post('https://api-staging.sampension.dk/feedback/v1/betasignup', {\n Name: name,\n Email: email,\n Phone: select,\n });\n this.showModal2();\n }\n\n showModal() {\n this.setState({ show: true });\n }\n\n hideModal() {\n this.setState({ show: false });\n }\n\n showModal2() {\n this.setState({\n show: false,\n show2: true,\n });\n }\n\n hideModal2() {\n this.setState({ show2: false });\n }\n\n showModal3() {\n this.setState({\n show3: true,\n });\n }\n\n hideModal3() {\n this.setState({ show3: false });\n }\n\n renderContent() {\n const {\n header,\n getAppBtn,\n nemIdBtn,\n nemidBtnText,\n } = this.props;\n const { mobile } = this.state;\n return (\n
\n

{header}

\n {mobile === true ? (\n <>\n \n {getAppBtn}\n \n \n {nemIdBtn}\n \n \n ) : (\n <>\n \n {nemidBtnText}\n \n \n {getAppBtn}\n \n \n )}\n
\n );\n }\n\n render() {\n const {\n textBlock,\n modalSignUp,\n modalFinish,\n } = this.props;\n\n const {\n show,\n show2,\n show3,\n name,\n select,\n email,\n mobile,\n } = this.state;\n\n return (\n
\n \n {mobile === true ? (\n \n \n
{this.renderContent()}
\n
\n \n \n
\n \n ) : (\n \n
\n \n \n
\n \n {this.renderContent()}\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 \n\n
\n
\n
\n\n \n \n \n\n \n \n \n \n
\n

Vi gør opmærksom på:

\n
\n

\n Det nye login univers er stadig under udvikling. Derfor vil du\n endnu ikke kunne finde alle dine velkendte\n selvbetjeningsmuligheder.\n
\n Eksempelvis kan du i øjeblikket ikke benytte følgende:\n

\n
    \n
  • Depotoverførsel
  • \n
  • Begunstigelse
  • \n
  • Privat indskud
  • \n
\n

\n Ønsker du at benytte disse funktioner, skal du bruge det gamle\n login univers.\n

\n
\n \n Fortsæt til nyt login univers\n \n\n \n Gammelt log ind\n \n
\n
\n \n \n
\n );\n }\n}\n\nBeta.propTypes = {\n header: PropTypes.string.isRequired,\n getAppBtn: PropTypes.string.isRequired,\n nemIdBtn: PropTypes.string.isRequired,\n nemidBtnText: PropTypes.string.isRequired,\n textBlock: PropTypes.string.isRequired,\n modalSignUp: PropTypes.string.isRequired,\n modalFinish: PropTypes.string.isRequired,\n};\n\n// exports\nexport default Beta;\n","// Component Name : BlockArea\n// C1 CMS Name : FrontpageSection\n\n// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\nconst MediaQuery = css`\n padding: 20px 20px 10px 20px;\n ${media.tabletP`\n padding: 40px 40px 20px 40px;\n `}\n ${media.tabletL`\n padding: 60px 60px 20px 60px;\n `}\n ${media.desktop`\n padding: 80px 80px 20px 80px;\n `}\n`;\n\n// Styled Component\nconst Area = styled.div`\n width: 100%;\n background-color: ${props => (props.backgroundColor === 'Primary' ? props.theme.PrimaryColor : props.backgroundColor)};\n box-sizing: border-box;\n ${MediaQuery}\n`;\n\n// Component\nconst BlockArea = (props) => {\n const { children, backgroundColor } = props;\n return {children};\n};\n\n// Proptypes\nBlockArea.propTypes = {\n backgroundColor: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\n// Exports\nexport default BlockArea;\n","// Component Name : BlockAreaFullWidth\n// C1 CMS Name : FrontpageSectionFullWIdth\n\n// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\nconst MediaQuery = css`\n padding: 20px 20px 20px 20px;\n margin: 0 -10px 0 -10px;\n width: calc(100% + 20px);\n ${media.tabletP`\n padding: 40px 40px 20px 40px;\n margin: 0 -50px 0px -50px;\n width: calc(100% + 100px);\n `}\n ${media.tabletL`\n padding: 60px 60px 20px 60px;\n margin: 0 -60px 0 -60px;\n width: calc(100% + 120px);\n `}\n ${media.desktop`\n padding: 80px 80px 20px 80px;\n margin: 0 -80px 60px -80px;\n width: calc(100% + 160px);\n `}\n`;\n\n// Styled Components\nconst AreaFullWidth = styled.div`\n background-color: ${props => (props.backgroundColor === 'Primary' ? props.theme.PrimaryColor : props.backgroundColor)};\n box-sizing: border-box;\n ${MediaQuery}\n`;\n\n// Component\nconst BlockAreaFullWidth = (props) => {\n const { children, backgroundColor } = props;\n return {children};\n};\n\n// Proptypes\nBlockAreaFullWidth.propTypes = {\n backgroundColor: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\n// Exports\nexport default BlockAreaFullWidth;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\nimport { margins } from '../../../cssGuides/commonStyles';\n\n// Styled Components - Icon\nexport const ArrowUp = styled.img`\n position: relative;\n top: -3px;\n transform: scaleY(-1);\n`;\n\nexport const ArrowDown = styled.img`\n position: relative;\n top: -3px;\n`;\n\nexport const Icon = styled.span`\n position: absolute;\n right: 20px;\n pointer-events: none;\n`;\n\n// Styled Components - Collapsible\nexport const Container = styled.div`\nposition:relative;\n width: 100%;\n border-top: 1px solid ${ColorGuide.lightGray};\n cursor: pointer;\n &:last-child {\n border-bottom: 1px solid ${ColorGuide.lightGray};\n }\n`;\n\nexport const Header = styled.h3`\n width: 100%;\n padding: 15px 0px 15px 20px;\n &:hover {\n background-color: ${ColorGuide.border};\n }\n`;\n\nexport const Block = styled.div`\n width: 100%;\n`;\n\nexport const BlockContent = styled.div`\n height: 100%;\n padding: 0px 0px 15px 20px;\n p {\n margin-top: 15px;\n margin-bottom: 0px;\n }\n`;\n\n// Styled Components - CollapsableFAQ\nexport const CollapseContainer = styled.div`\n ${margins};\n`;\n\nexport const OutsideHeader = styled.h2`\n text-align: center;\n`;\n","// Component Name : CollapseableFAQ\n// C1 CMS Name : FAQ\n\n// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport Collapsable from '../../CommonComponents/Collapsible/Collapsable';\n\n// Import Images\nimport Arrow from '../../../assets/Icons/svg/icon_Arrow_Down_Blue.svg';\n\n// Import StyledComponents\nimport {\n ArrowUp,\n ArrowDown,\n Icon,\n Container,\n Header,\n Block,\n BlockContent,\n CollapseContainer,\n OutsideHeader,\n} from './styledcomponents';\n\n// Classes\nclass Collapsible extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isExpanded: false,\n };\n }\n\n handleToggle() {\n const { isExpanded } = this.state;\n this.setState({\n isExpanded: !isExpanded,\n });\n }\n\n render() {\n const { header, children } = this.props;\n const { isExpanded } = this.state;\n\n return (\n this.handleToggle()}>\n
\n {header}\n \n {isExpanded ? (\n \n ) : (\n \n )}\n \n
\n \n \n {children}\n \n \n
\n );\n }\n}\n\nconst CollapseableFAQ = (props) => { // eslint-disable-line react/no-multi-comp\n const { header, faqs } = props;\n return (\n \n {header}\n {faqs.map(items => (\n \n
\n \n ))}\n \n );\n};\n// Proptypes\nCollapsible.propTypes = {\n header: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nCollapseableFAQ.propTypes = {\n header: PropTypes.string.isRequired,\n faqs: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n header: PropTypes.string,\n text: PropTypes.string,\n })).isRequired,\n};\n\n// Exports\nexport default CollapseableFAQ;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\nimport { margins } from '../../../cssGuides/commonStyles';\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Styled-components\nexport const Container = styled.div`\n width: 100%;\n ${margins};\n`;\n\nexport const Content = styled.div`\n border-radius: 7px;\n background-color: ${ColorGuide.lightGray};\n\n padding: 10px 10px 20px 10px;\n margin-bottom: -30px !important;\n\n ${media.tabletP`\n padding: 30px 30px 20px 30px;\n margin-bottom: -50px !important;\n `}\n ${media.tabletL`\n padding: 30px 30px 20px 30px;\n margin-bottom: -50px !important;\n `}\n ${media.desktop`\n padding: 30px 30px 20px 30px;\n margin-bottom: -60px !important;\n `}\n`;\n\nexport const Block = styled.div`\n width: 100%;\n background-color: ${ColorGuide.lightGray};\n`;\n\nexport const BlockContent = styled.div`\n height: 100%;\n\n padding: 10px 10px 20px 10px;\n margin-bottom: -20px !important;\n\n ${media.tabletP`\n padding: 30px 30px 20px 30px;\n margin-bottom: -30px !important;\n `}\n ${media.tabletL`\n padding: 30px 30px 20px 30px;\n `}\n ${media.desktop`\n padding: 30px 30px 0px 30px;\n margin-bottom: 30px !important;\n `}\n`;\n\nexport const Header = styled.div`\n width: 100%;\n cursor: pointer;\n color: ${ColorGuide.secondaryText};\n background-color: ${ColorGuide.PUBLIC_READ_MORE_BACKGROUND};\n text-align: center;\n border-radius: 0 0 7px 7px;\n height: 60px;\n line-height: 60px;\n`;\n\n// Styled Icons\nexport const ArrowUp = styled.img`\n position: relative;\n top: -3px;\n transform: scaleY(-1);\n`;\n\nexport const ArrowDown = styled.img`\n position: relative;\n top: -3px;\n`;\n\nexport const Icon = styled.span`\n position: relative;\n top: 2px;\n padding-left: 10px;\n pointer-events: none;\n`;\n","// Component Name : CollapsibleTextArea\n// C1 CMS Name : FoldUdBox\n\n// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport Collapsable from '../../CommonComponents/Collapsible/Collapsable';\nimport {\n Container,\n Content,\n Block,\n BlockContent,\n Header,\n ArrowUp,\n ArrowDown,\n Icon,\n} from './styles';\n\n// Import Icons\nimport Arrow from '../../../assets/Icons/svg/icon_Arrow_Down_Blue.svg';\n\n// Class\nclass CollapsibleTextArea extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isExpanded: false,\n };\n }\n\n handleToggle(e) {\n e.preventDefault();\n const { isExpanded } = this.state;\n this.setState({\n isExpanded: !isExpanded,\n });\n }\n\n render() {\n const {\n openText,\n closeText,\n children,\n text,\n } = this.props;\n\n const { isExpanded } = this.state;\n return (\n \n {text}\n \n \n {children}\n \n \n
this.handleToggle(e)} role=\"switch\" aria-checked={isExpanded}>\n {isExpanded ? closeText : openText}\n \n {isExpanded ? : }\n \n
\n
\n );\n }\n}\n\n// Proptypes\nCollapsibleTextArea.propTypes = {\n openText: PropTypes.string.isRequired,\n closeText: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n text: PropTypes.node,\n};\n\nCollapsibleTextArea.defaultProps = {\n text: undefined,\n};\n\n// Exports\nexport default CollapsibleTextArea;\n","// Component Name : CookieInformation\n// C1 CMS Name : CookieInformation\n\n// Import Node Modules\nimport React, { Component } from 'react';\n\n// Class\nclass CookieInformation extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n componentDidMount() {\n const script = global.document.createElement('script');\n\n // script.src = 'https://policy.app.cookieinformation.com/421687/sampension.dk/declaration-default.js'\n // script.src = 'http://krogolsen.dk/script.js'\n // script.src = require('./script.js')\n script.src = 'https://policy.cookieinformation.com/71efcd23-288b-4d47-be21-1dc20761f867/cd.js';\n script.async = true;\n script.id = 'CookiePolicy';\n\n global.document.getElementById('cookie-output').appendChild(script);\n }\n\n render() {\n return
;\n }\n}\n\n// Exports\nexport default CookieInformation;\n","// Common Component : DivContainer\n\n// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Class\nconst DivContainer = (props) => {\n const { children } = props;\n return
{children}
;\n};\n\n// Proptypes\nDivContainer.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\n// Exports\nexport default DivContainer;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Styled-component\nconst Container = styled.div`\n width: calc(100% - 10px);\n margin: 0 auto 10px auto;\n\n // NOTE: workaround for news module full article view\n > hr + h1 {\n margin: 24px;\n }\n\n ${media.tabletL`\n width: 100%;\n `};\n ${media.tabletP`\n margin: 0 auto 40px auto;\n `}\n ${media.tabletL`\n margin: 0 auto 40px auto;\n `}\n ${media.desktop`\n margin: 0 auto 60px auto;\n `}\n`;\n\n// Class\nconst HtmlRender = (props) => {\n const { html } = props;\n return (\n \n );\n};\n\n// Proptypes\nHtmlRender.propTypes = {\n // data: PropTypes.string.isRequired,\n html: PropTypes.string.isRequired,\n};\n\n// Exports\nexport default HtmlRender;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\nimport { currentTheme } from '../../../theme/index';\n\n// Styled-components\nexport const TableContainer = styled.div`\n overflow-x: auto;\n padding: 0 10px;\n`;\n\nexport const DesktopTable = styled.table`\n text-align: ${({ classType }) => (classType === 'table_layout_right' && 'right')\n || (classType === 'table_layout_center' && 'center')\n || 'left'};\n width: 100%;\n border-collapse: collapse;\n border-radius: 7px;\n overflow: hidden;\n box-shadow: ${ColorGuide.shadow};\n margin-bottom: 60px;\n`;\n\nexport const DesktopTH = styled.th`\n height: 80px;\n background-color: ${props => props.theme.PrimaryColor || currentTheme.PrimaryColor};\n color: ${ColorGuide.white};\n padding: 0 20px;\n &:first-child {\n text-align: left;\n }\n h2,\n h3,\n h4,\n h5,\n h6 {\n color: ${ColorGuide.white};\n margin-bottom: 0px;\n }\n em {\n font-size: 12px;\n }\n`;\n\nexport const TableRow = styled.tr`\n height: 50px;\n background-color: ${ColorGuide.lightGray};\n &:nth-child(odd) {\n background-color: ${ColorGuide.border};\n }\n`;\n\nexport const TableCell = styled.td`\n padding: 0 20px;\n font-size: 14px;\n p {\n margin-bottom: 0px;\n }\n &:first-child {\n text-align: left;\n }\n`;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport {\n TableContainer,\n DesktopTable,\n DesktopTH,\n TableRow,\n TableCell,\n} from './styledDesktop';\n\n// Classes\nconst Table = (props) => {\n const { thead, classType, tbody } = props;\n return !thead ? null : (\n \n \n {thead && thead.length > 0 && (\n \n \n {thead[0].tr.map((header, index) => (\n \n ))}\n \n \n )}\n \n {tbody.map((body, index) => (\n \n {body.tr.map((row, index2) => (\n \n ))}\n \n ))}\n \n \n \n );\n};\n\n\n// Proptypes\nTable.propTypes = {\n classType: PropTypes.string,\n thead: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n tr: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n }),\n ).isRequired,\n tbody: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n tr: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n }),\n ).isRequired,\n};\n\nTable.defaultProps = {\n classType: undefined,\n};\n\nexport default Table;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Styled-components\nexport const LevelOneHeader = styled.div`\n width: 100%;\n background-color: ${props => props.theme.PrimaryColor};\n text-align: left;\n font-size: 18px;\n padding: 16px 20px;\n color: ${ColorGuide.white};\n font-weight: 700;\n`;\n\nexport const Content = styled.div`\n width: 100%;\n background-color: ${ColorGuide.lightGray};\n text-align: left;\n font-size: 18px;\n padding: 16px 20px;\n color: ${ColorGuide.black};\n font-weight: 400;\n &:nth-child(odd) {\n background-color: ${ColorGuide.border};\n }\n`;\n\nexport const Header = styled.div`\n width: 100%;\n cursor: pointer;\n background-color: ${ColorGuide.aquaMedium};\n font-size: 16px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: 0.2px;\n padding:10px;\n`;\n","// Import Node Modules\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Styled Components\nconst Container = styled.div`\n width: 100%;\n /* background-color: ${ColorGuide.aquaMedium}; */\n background-color: ${props => props.theme.MobileTable};\n text-align: left;\n font-size: 18px;\n color: ${ColorGuide.black};\n font-weight: 400;\n`;\n\nconst Header = styled.div`\n width: 100%;\n cursor: pointer;\n\n font-size: 16px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: 0.2px;\n padding: 10px;\n`;\n\nconst Content = styled.div`\n overflow: hidden;\n transition: height 0.3s ease-out;\n text-align: center;\n`;\n\nconst Icon = styled.span`\n position: relative;\n top: -2px;\n font-size: 15x;\n padding-left: 10px;\n float: right;\n`;\n\nconst TitleWrapper = styled.div`\n p {\n margin: 0;\n display: inline;\n }\n`;\n\n// Class\nclass Collapsible extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isExpanded: false,\n };\n }\n\n handleToggle(e) {\n e.preventDefault();\n const { isExpanded } = this.state;\n this.setState({\n isExpanded: !isExpanded,\n // eslint-disable-next-line react/no-find-dom-node\n height: ReactDOM.findDOMNode(this.inner).clientHeight,\n });\n }\n\n render() {\n const { title, children } = this.props;\n const { isExpanded, height } = this.state;\n const currentHeight = isExpanded ? height : 0;\n\n const ContainerStyle = `${isExpanded ? 'is-expanded' : ''}`;\n\n return (\n \n
this.handleToggle(e)}>\n {isExpanded ? '−' : '+'}\n \n {/* {title} */}\n
\n \n {\n this.inner = r;\n }}\n >\n {children}\n
\n \n \n );\n }\n}\n\n// Proptypes\nCollapsible.propTypes = {\n title: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\n// Exports\nexport default Collapsible;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport { Columns } from '../../CommonComponents';\nimport { LevelOneHeader, Content, Header } from './styledMobile';\n\nimport Collapsible from './Collap';\n\nclass Mobile extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n renderContent(body) {\n const { classType, thead } = this.props;\n let defaultClass = 'left';\n switch (classType) {\n case 'table_layout_left':\n defaultClass = 'left';\n break;\n case 'table_layout_center':\n defaultClass = 'center';\n break;\n case 'table_layout_right':\n defaultClass = 'right';\n break;\n default:\n defaultClass = 'left';\n }\n\n return (\n
\n {thead[0].tr\n .map((th, i) => ({\n id: i,\n th: th.value,\n tr: body.tr[i].value,\n }))\n .slice(1)\n .map((content, index) => (\n // eslint-disable-next-line react/no-array-index-key\n \n \n
\n \n \n \n ))}\n
\n );\n }\n\n render() {\n const { thead, insideCollapsible, tbody } = this.props;\n\n let emptyTable = false;\n\n // if (this.props.thead.tr && this.props.thead.tr.length > 0) {\n if (thead.length > 0 && thead[0].tr.length > 0) {\n emptyTable = false; // ok\n } else {\n emptyTable = true;\n }\n\n return emptyTable ? null : (\n
\n \n\n {insideCollapsible}\n\n {tbody.map((body, index) => (\n // eslint-disable-next-line react/no-array-index-key\n
\n {insideCollapsible ? (\n
\n
{body.tr[0].value}
\n {this.renderContent(body)}\n
\n ) : (\n \n {this.renderContent(body)}\n \n )}\n
\n ))}\n
\n );\n }\n}\n\n// Proptypes\nMobile.propTypes = {\n classType: PropTypes.string,\n thead: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n tr: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n }),\n ).isRequired,\n tbody: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n tr: PropTypes.arrayOf(\n PropTypes.shape({\n classType: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n }),\n ).isRequired,\n insideCollapsible: PropTypes.bool,\n};\n\nMobile.defaultProps = {\n insideCollapsible: undefined,\n classType: '',\n};\n\nexport default Mobile;\n","// Import Node Modules\nimport React from 'react';\n\nimport { isMobileOnClient } from '../../../template/helperFunctions';\n\n// Import Components\nimport Table from './desktop';\nimport Mobile from './mobile';\n\n// Component\nclass HtmlTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n mobile: isMobileOnClient(),\n };\n this.handleNavResize = this.handleNavResize.bind(this);\n }\n\n componentDidMount() {\n global.addEventListener('resize', this.handleNavResize);\n this.handleNavResize();\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize() {\n this.setState({\n mobile: isMobileOnClient(),\n });\n }\n\n render() {\n const { mobile } = this.state;\n return (\n
\n {mobile ? : }\n \n );\n }\n}\n\n// Exports\nexport default HtmlTable;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { Link } from 'gatsby';\n\n// Color Variables\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Styled Components\nconst Container = styled.div`\n ${props => (props.url !== '' ? 'cursor: pointer' : 'cursor: auto')};\n max-width: ${props => (props.maxWidth ? props.maxWidth : '100%')};\n box-sizing: border-box;\n margin-bottom: 24px;\n \n ${media.tabletP`\n margin-bottom: 40px;\n `};\n ${media.tabletL`\n margin-bottom: 40px;\n `};\n ${media.desktop`\n margin-bottom: 60px;\n `};\n`;\n\nconst MyLink = styled.a`\n width: 100%;\n height: 100%;\n text-decoration: none;\n color:#464543 !important;\n`;\n\nconst GatsbyLink = styled(Link)`\n width: 100%;\n height: 100%;\n text-decoration: none;\n color:#464543 !important;\n`;\n\n// Functions\nfunction OnClickUrl(url, children) {\n if (url.indexOf('http') === 0) { // eslint-disable-line react/destructuring-assignment\n return (\n \n {children}\n \n );\n }\n return {children};\n}\n\n// Components\nconst ContainerLink = (props) => { // eslint-disable-line react/no-multi-comp\n const {\n url,\n children,\n className,\n maxWidth,\n } = props;\n\n return (\n \n { url !== '' ? OnClickUrl(url, children) : children}\n \n );\n};\n\n// Proptypes\nContainerLink.propTypes = {\n url: PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n maxWidth: PropTypes.string,\n};\n\nContainerLink.defaultProps = {\n children: undefined,\n className: undefined,\n url: '',\n maxWidth: '100%',\n};\n\n// Exports\nexport default ContainerLink;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport ContainerLink from './ContainerLink';\n\n// Variables\nconst height = props => (props.minHeight ? props.minHeight : '200px');\n\n// Styled-Component : PageContainer\nconst Content = styled.div`\n border-radius: 7px;\n box-sizing: border-box;\n width: 100%;\n min-height: ${height};\n margin: 0 auto;\n overflow: hidden;\n display:flex;\n background-color: ${props => props.bgcolor};\n ${props => (props.shadow === true\n ? 'box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.3), 0 5px 10px 0 rgba(0, 0, 0, 0.3);'\n : '')}\n`;\n\nconst Card = (props) => {\n const {\n children,\n bgcolor,\n shadow,\n maxWidth,\n minHeight,\n url,\n } = props;\n return (\n \n \n {children}\n \n \n );\n};\n\n// Proptypes\nCard.propTypes = {\n\n /** child nodes */\n children: PropTypes.node.isRequired,\n /** Card background color */\n bgcolor: PropTypes.string,\n /** Card Shadow */\n shadow: PropTypes.bool,\n /** Card max width */\n maxWidth: PropTypes.string.isRequired,\n /** Card minimum height */\n minHeight: PropTypes.string.isRequired,\n /** Card link */\n url: PropTypes.string,\n};\n\nCard.defaultProps = {\n bgcolor: '#ffffff',\n shadow: false,\n url: undefined,\n};\n\n// Export component\nexport default Card;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Icon\nimport DefaultIcon from '../../../../assets/DefaultImages/IconCard.png';\nimport Arrow from '../../../../assets/Icons/svg/icon_Arrow_Right_Blue.svg';\n\n// Import Guides\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\n\n// Styled Component\nconst Container = styled.div`\n position: relative;\n flex: 1;\n display: flex;\n box-sizing: border-box;\n`;\n\nconst IconContainer = styled.div`\n min-width: 100px;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n`;\n\nconst Icon = styled.img`\n max-width: 64px;\n`;\n\nconst TextContainer = styled.div`\n flex: 4;\n box-sizing: border-box;\n padding: 40px 20px 40px 0px;\n`;\n\nconst Header = styled.h2`\n color: ${ColorGuide.darkGray};\n margin-bottom: 16px;\n`;\n\nconst Text = styled.p`\n margin-bottom: 0px;\n color: ${ColorGuide.darkGray};\n`;\n\nconst BlueArrow = styled.img`\n position: absolute;\n bottom: 20px;\n right: 20px;\n`;\n\n// Component\nconst TextIcon = (props) => {\n const {\n icon, header, text, arrow, altText,\n } = props;\n return (\n \n \n {\n e.target.onerror = null;\n e.target.src = DefaultIcon;\n e.target.alt = 'Default Image';\n }}\n />\n \n \n
{header}
\n {text}\n
\n {arrow === true ? : null}\n
\n );\n};\n\nTextIcon.propTypes = {\n /** Header text */\n header: PropTypes.string.isRequired,\n /** Html String */\n text: PropTypes.string.isRequired,\n /** Icon url */\n icon: PropTypes.string,\n /** Arrow pointing right */\n arrow: PropTypes.bool,\n /** Icon Alternate text */\n altText: PropTypes.string,\n};\n\nTextIcon.defaultProps = {\n icon: Icon,\n arrow: false,\n altText: 'Icon',\n};\n\nexport default TextIcon;\n","// Component Name : IconCard\n// C1 CMS Name : LinkBox m/Icon\n\n// Import node modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import component\nimport Card from './CardContainer/index';\nimport TextIcon from './CardContent/icon';\n\n// Component\nconst IconCard = (props) => {\n const {\n icon,\n header,\n text,\n url,\n iconAltText,\n } = props;\n return (\n \n \n \n );\n};\n\n// Proptypes\nIconCard.propTypes = {\n icon: PropTypes.string.isRequired,\n iconAltText: PropTypes.string,\n header: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nIconCard.defaultProps = {\n iconAltText: 'No Icon Description',\n};\n\nexport default IconCard;\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport DefaultImage from 'assets/DefaultImages/ImageCard.png';\nimport Arrow from 'assets/Icons/svg/icon_Arrow_Right_White.svg';\n\nconst Container = styled.div`\n position: relative;\n text-align: center;\n color: white;\n`;\n\nconst Text = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-shadow: 1px 1px 2px black;\n width: 100%;\n`;\n\nconst Image = styled.img`\n width: 100%;\n display: block;\n`;\n\nconst WhiteArrow = styled.img`\n position: relative;\n top: 3px;\n margin-left: 10px;\n filter: drop-shadow(rgba(0, 0, 0, 0.75) 1px 1px 1px);\n`;\n\nconst Header = styled.h2``;\n\nconst Manchet = styled.p`\n padding: 0 20px;\n margin-bottom: 0px;\n`;\n\n// Component\nconst BackgroundImage = (props) => {\n const {\n image,\n header,\n text,\n arrow,\n altText,\n } = props;\n return (\n \n {\n e.target.onerror = null;\n e.target.src = DefaultImage;\n e.target.alt = 'Default Image';\n }}\n />\n \n
{header}
\n \n {text}\n {arrow ? : null}\n \n
\n
\n );\n};\n\nBackgroundImage.propTypes = {\n /** Header text */\n header: PropTypes.string.isRequired,\n /** Manchet text */\n text: PropTypes.string.isRequired,\n /** Image url */\n image: PropTypes.string,\n /** Image url */\n altText: PropTypes.string,\n /** Arrow pointing right */\n arrow: PropTypes.bool,\n};\n\nBackgroundImage.defaultProps = {\n image: DefaultImage,\n altText: 'alternate text missing',\n arrow: false,\n};\n\nexport default BackgroundImage;\n","// Component Name : ImageCard\n// C1 CMS Name : BilledeElement\n\n// Import node modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import component\nimport Card from './CardContainer/index';\nimport BgImage from './CardContent/bgImage';\n\n// Component\nconst ImageCard = (props) => {\n const {\n url,\n image,\n text,\n manchet,\n imageAltText,\n } = props;\n\n return (\n \n \n \n );\n};\n\n// Proptypes\nImageCard.propTypes = {\n url: PropTypes.string,\n image: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n manchet: PropTypes.string.isRequired,\n imageAltText: PropTypes.string,\n};\n\nImageCard.defaultProps = {\n url: '',\n imageAltText: '',\n};\n\nexport default ImageCard;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Icon\nimport Arrow from '../../../../assets/Icons/svg/icon_Arrow_Right_Blue.svg';\nimport DefaultImage from '../../../../assets/DefaultImages/InfoCard.png';\n\n// Styled Component\n\nconst Container = styled.div`\n position: relative;\n box-sizing: border-box;\n flex: 1;\n ${props => (props.image === '' ? 'padding-top: 20px;' : '')}\n`;\n\nconst Group = styled.div`\n text-transform: uppercase;\n color: #757575;\n padding: 24px 24px 0px 24px;\n`;\n\nconst TextContainer = styled.div`\n padding: 12px 24px 24px 24px;\n\n & > h3 {\n margin-bottom: 8px;\n }\n`;\n\nconst BlueArrow = styled.img`\n position: absolute;\n bottom: 20px;\n right: 20px;\n`;\n\nconst Image = styled.img`\n width:100%;\n`;\n\n// Component\nconst InfoIcon = (props) => {\n const {\n group,\n text,\n arrow,\n altText,\n image,\n } = props;\n return (\n \n {image ? (\n {\n e.target.onerror = null;\n e.target.src = DefaultImage;\n e.target.alt = 'Default Image';\n }}\n />\n ) : null}\n {group ? {group} : null}\n \n {arrow ? : null}\n \n );\n};\n\nInfoIcon.propTypes = {\n /** Category name */\n group: PropTypes.string,\n /** Html String */\n text: PropTypes.node.isRequired,\n /** Arrow pointing right */\n arrow: PropTypes.bool,\n /** Image souece */\n image: PropTypes.string,\n /** alternate image text */\n altText: PropTypes.string,\n};\n\nInfoIcon.defaultProps = {\n group: null,\n arrow: false,\n image: '',\n altText: '',\n};\n\nexport default InfoIcon;\n","// Component Name : InfoCard\n// C1 CMS Name : LinkBox\n\n// Import node modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import component\nimport Card from './CardContainer/index';\nimport InfoIcon from './CardContent/info';\n\n// Component\nconst InfoCard = (props) => {\n const {\n image,\n category,\n text,\n url,\n imageAltText,\n } = props;\n return (\n \n \n \n );\n};\n\n// Proptypes\nInfoCard.propTypes = {\n image: PropTypes.string,\n category: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n imageAltText: PropTypes.string,\n};\n\nInfoCard.defaultProps = {\n image: '',\n imageAltText: '',\n};\n\nexport default InfoCard;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\nimport { margins } from '../../../cssGuides/commonStyles';\n// Styled Components\n\nexport const Container = styled.div`\n ${margins};\n`;\n\nexport const SelectBox = styled.div``;\n\nexport const SelectInfoBox = styled.div`\n transition: all 0.3s ease-out;\n height: ${props => (props.visible ? props.height : '0')}px;\n overflow: hidden;\n`;\n\nexport const SelectInfo = styled.div`\n cursor: pointer;\n padding: 10px 10px;\n border-top: 1px solid black;\n font-size: 14px;\n\n &:hover {\n color: gray;\n }\n`;\n\nexport const SelectInfoSub = styled.div`\n cursor: pointer;\n line-height: 20px;\n padding: 0 15px 0 30px;\n font-size: 12px;\n\n &:hover {\n color: gray;\n }\n`;\n\nexport const InfoTextBox = styled.div`\n margin-left: 0px;\n ${media.tabletP`\n margin-left: 30px;\n `};\n`;\n\nexport const Icon = styled.div`\n float: right;\n display:none;\n ${media.tabletP`\n display:block;\n `};\n`;\n","/* eslint-disable eqeqeq */\n// Import Node Modules\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport { ColumnsDefined } from '../../CommonComponents';\n\nimport {\n Container,\n SelectInfo,\n InfoTextBox,\n SelectInfoSub,\n SelectBox,\n SelectInfoBox,\n Icon,\n} from './styledcomponents';\n\n// Class\n\nclass InfoTagsPages extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activeInfo: 1,\n subInfo: null,\n subMenuInfo: null,\n };\n }\n\n getCurrentText() {\n let t = null;\n const { subMenuInfo, activeInfo } = this.state;\n const { children } = this.props;\n if (subMenuInfo == null) {\n t = children[activeInfo - 1];\n } else {\n t = children[activeInfo - 1];\n }\n return t;\n }\n\n changeInfo(x) {\n const { activeInfo, subInfo } = this.state;\n if (x === activeInfo && subInfo != null) {\n this.setState({\n activeInfo: x,\n subInfo: null,\n subMenuInfo: null,\n });\n } else {\n this.setState({\n activeInfo: x,\n subInfo: x,\n subMenuInfo: null,\n });\n }\n }\n\n changeInfoSub(x, y) {\n this.setState({\n activeInfo: y,\n subMenuInfo: y,\n });\n }\n\n render() {\n const { activeInfo, subInfo } = this.state;\n const { menu } = this.props;\n\n return (\n
\n \n \n \n {menu.map(menuItem => (\n
\n this.changeInfo(`${menuItem.id}`)}>\n \n {menuItem.header}\n {activeInfo == menuItem.id && }\n \n \n\n \n {\n this[menuItem.id] = r;\n }}\n >\n {menuItem.subMenu.map(subMenu => (\n \n \n this.changeInfoSub(\n `${menuItem.id}`,\n `${subMenu.id}`,\n )\n }\n role=\"button\"\n tabIndex=\"0\"\n >\n {subMenu.header}\n
\n
\n {activeInfo == subMenu.id && (\n \n )}\n
\n
\n \n ))}\n
\n \n \n ))}\n \n
\n {this.getCurrentText()}\n
\n \n \n \n );\n }\n}\n\nInfoTagsPages.propTypes = {\n menu: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n header: PropTypes.string,\n subMenu: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n header: PropTypes.string,\n }),\n ),\n }),\n ).isRequired,\n children: PropTypes.arrayOf(PropTypes.element).isRequired,\n};\n\n// Exports\nexport default InfoTagsPages;\n","// Component Name : LightBox\n// C1 CMS Name : LightBox\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Styled Components\n\nconst Container = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n transform: scale(0, 1);\n transition: opacity 150ms ease-in-out;\n transform-origin: right;\n padding: 0.5em;\n position: fixed;\n top: 0;\n left: 0;\n color: white;\n background: rgba(0, 0, 0, 0.5);\n width: 100vw;\n height: 100vh;\n z-index: 100;\n opacity: 0;\n &:target {\n transform: scale(1, 1);\n transform-origin: left;\n opacity: 1;\n }\n ${media.tabletP`\n padding: 2em;\n `};\n`;\n\nconst Content = styled.div`\n\n padding: 20px;\n background: ${ColorGuide.lightGray};\n position: relative;\n border-radius: 7px;\n height: 80%;\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.5), 0 5px 10px 0 rgba(0, 0, 0, 0.5);\n color: black;\n width:100%;\n ${media.tabletP`\n width: 80%;\n max-width: 1280px;\n `};\n`;\n\nconst Close = styled.a`\n float: right;\n border: black 2px solid;\n display: flex;\n background: ${ColorGuide.white};\n border-radius: 50%;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n font-size: 35px;\n width: 30px;\n height: 30px;\n &:after {\n margin-left:3px;\n content: '+';\n color: black;\n transform: rotate(45deg);\n }\n ${media.tabletP`\n width: 50px;\n height: 50px;\n `};\n ${media.tabletL`\n\n `};\n ${media.desktop`\n\n `};\n`;\n\n// Class\nconst LightBox = (props) => {\n const { hashtag, content } = props;\n\n return (\n \n \n \n
\n \n \n );\n};\n\n// Proptypes\nLightBox.propTypes = {\n hashtag: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n};\n\n// Exports\nexport default LightBox;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Icons\nimport Arrow from '../../../../assets/Icons/svg/icon_Arrow_Right_Blue.svg';\nimport DefaultImage from '../../../../assets/DefaultImages/NewsCard.png';\n\n// Import Guides\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Styled Component\nconst Container = styled.div`\n max-height: 160px;\n position: relative;\n overflow: hidden;\n`;\n\nconst ImageContainer = styled.div`\n display: none;\n ${media.tabletP`\n display: inline-block;\n float: left;\n margin-right: 24px;\n width: 184px;\n `};\n`;\n\nconst TextContainer = styled.div`\n padding: 20px 24px;\n`;\n\nconst TimeStamp = styled.p`\n margin: 0 0 4px;\n`;\n\nconst Header = styled.h2`\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n font-size: 24px;\n`;\n\nconst Manchet = styled.p`\n position: relative;\n display: block;\n display: -webkit-box;\n max-width: 100%;\n line-height: 1.4;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-right: 48px;\n margin: 0 auto;\n \n height: 32px;\n ${media.tabletP`\n height: 40px;\n `}\n ${media.tabletL`\n height: 40px;\n `}\n ${media.desktop`\n height: 48px;\n `}\n`;\n\nconst BlueArrow = styled.img`\n position: absolute;\n bottom: 20px;\n right: 20px;\n`;\n\n// Component\nconst News = (props) => {\n const {\n image,\n imageRight,\n altText,\n header,\n manchet,\n timestamp,\n arrow,\n } = props;\n\n const ImageSide = image !== '' ? (\n \n {\n e.target.onerror = null;\n e.target.src = DefaultImage;\n e.target.alt = 'Default Image';\n }}\n />\n \n ) : null;\n\n const TextSide = (\n \n {timestamp}\n
{header}
\n {manchet}\n {arrow === true ? (\n \n ) : null}\n
\n );\n\n return (\n \n {imageRight === true ? TextSide : ImageSide}\n {imageRight === true ? ImageSide : TextSide}\n \n );\n};\n\nNews.propTypes = {\n /** Header Text */\n header: PropTypes.string.isRequired,\n /** Manchet Text */\n manchet: PropTypes.string.isRequired,\n /** Manchet Text */\n timestamp: PropTypes.string.isRequired,\n /** Image url */\n image: PropTypes.string,\n /** Image Alt Text */\n altText: PropTypes.string,\n /** What side is image displayed */\n imageRight: PropTypes.bool,\n /** Arrow pointing right */\n arrow: PropTypes.bool,\n};\n\nNews.defaultProps = {\n image: '',\n imageRight: true,\n altText: 'Alt text is missing',\n arrow: true,\n};\n\nexport default News;\n","// Component Name : NewsCard\n// C1 CMS Name : NewsArchive\n\n// Import node modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import component\nimport Card from './CardContainer/index';\nimport News from './CardContent/news';\n\n// Component\nconst NewsCard = (props) => {\n const {\n url,\n image,\n imageMobile,\n timestamp,\n header,\n text,\n imageAltText,\n } = props;\n return (\n \n \n \n );\n};\n\n// Proptypes\nNewsCard.propTypes = {\n url: PropTypes.string.isRequired,\n image: PropTypes.string,\n timestamp: PropTypes.string.isRequired,\n header: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n imageAltText: PropTypes.string,\n imageMobile: PropTypes.string,\n};\n\nNewsCard.defaultProps = {\n image: '',\n imageAltText: 'Image No Description',\n imageMobile: '',\n};\n\nexport default NewsCard;\n","// Import Node Modules\nimport styled, { css } from 'styled-components';\n\n// Import Icons\nimport SearchIcon from '../../../assets/Icons/svg/icon_Search_Blue.svg';\n\n// Import Guides\nimport { media } from '../../../cssGuides/MediaQuerys';\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Variables\n\nconst BorderRadius = '7px';\n\nconst sizes = css`\n width: 95%;\n ${media.tabletP`\n width: 640px;\n `};\n ${media.tabletL`\n width: 840px;\n `};\n ${media.desktop`\n width: 840px;\n `};\n`;\n\n// Styled-Components - SearchBar\n\nexport const OuterContainer = styled.div`\n position: relative;\n`;\n\nexport const Container = styled.div`\n margin: 20px auto 0 auto;\n ${sizes};\n\n input {\n ${sizes};\n font-size: 20px;\n height: 60px;\n padding-left: 15px;\n border: none;\n border: 1px solid ${ColorGuide.white};\n border-radius: ${BorderRadius};\n background-size: 25px;\n background-position: right 15px center;\n background-image: url(${SearchIcon});\n background-repeat: no-repeat;\n\n &:focus {\n outline: none;\n border: 1px solid ${ColorGuide.aqua};\n border-radius: ${BorderRadius};\n outline-offset: 0;\n }\n &::placeholder {\n opacity: 0.3;\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.5;\n letter-spacing: 0.2px;\n color: ${ColorGuide.darkGray};\n }\n }\n`;\n\n// Spinner\n\nexport const SpinnerContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: calc(100vh - 500px);\n`;\n\n// Content\n\nexport const ContentContainer = styled.div`\n margin: 20px auto;\n ${sizes};\n background-color: white;\n padding: 20px;\n border-radius: 7px;\n box-shadow: ${ColorGuide.shadow};\n`;\n\n// Shows count\n\nexport const ShowCount = styled.h2`\n margin-top: 20px;\n text-align: center;\n`;\n\n// ResultItem\n\nexport const ResultItem = styled.div`\n position: relative;\n border-bottom: 1px solid ${ColorGuide.darkGray};\n padding: 5px 50px 5px 10px;\n &:last-child {\n border-bottom: none;\n }\n em {\n border-bottom: 1px dashed ${ColorGuide.yellow};\n font-style: normal;\n }\n a {\n color: ${ColorGuide.darkGray};\n }\n`;\n\nexport const Arrow = styled.img.attrs({\n alt: 'Arrow Right',\n})`\n position: absolute;\n top: calc(50% - (15px / 2));\n right: 10px;\n`;\n\n// Suggestions\n\nexport const SuggestionsContainer = styled.div`\n margin: 0 auto;\n ${sizes};\n background-color: white;\n box-shadow: ${ColorGuide.shadow};\n position: absolute;\n left: 50%;\n transform: translate(-50%, 0);\n top: 122px;\n padding: 10px;\n border-radius: 7px;\n z-index: 1;\n`;\n\nexport const SuggestionItem = styled.div`\n border-bottom: 1px solid ${ColorGuide.darkGray};\n padding: 5px;\n em {\n border-bottom: 1px dashed ${ColorGuide.yellow};\n font-style: normal;\n }\n`;\n\n// Pagination\n\nexport const PageContainer = styled.div`\n margin: 0 auto;\n ${sizes};\n text-align: center;\n`;\n\nexport const PageButton = styled.div`\n border: 1px solid ${ColorGuide.aqua};\n width: 40px;\n height: 40px;\n font-size: 20px;\n line-height: 40px;\n border-radius: 50%;\n text-align: center;\n display: inline-block;\n background-color: ${props => (props.show ? 'white' : '')};\n cursor: pointer;\n margin-left: 10px;\n &:first-child {\n margin-left: 0px;\n }\n`;\n","// Component Name : SearchModule\n// C1 CMS Name : SearchModule\n\n// Import Node Modules\nimport React, { Component } from 'react';\nimport { Link } from 'gatsby';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\n// Import Styled-components\nimport * as Search from './styledcomponents';\nimport { Spinner } from '../../CommonComponents/index';\nimport Arrow from '../../../assets/Icons/svg/icon_Arrow_Right_Blue.svg';\n\nconst getUrl = (url) => {\n const elm = global.document.createElement('a');\n elm.href = url;\n return elm;\n};\n\nconst createArray = (count, value) => {\n const result = [];\n for (let i = 0; i < count; i += 1) {\n result[i] = value;\n }\n return result;\n};\n\n// Class : SearchModule\nconst debounce = (func, delay) => {\n let inDebounce;\n return (...args) => {\n const context = this;\n clearTimeout(inDebounce);\n inDebounce = setTimeout(() => func.apply(context, args), delay);\n };\n};\n\nconst getHash = () => {\n const { hash } = global.location;\n return hash\n .slice(1)\n .split('&')\n .reduce((output, parts) => {\n const [name, value] = parts.split('=');\n return {\n ...output,\n [name]: decodeURIComponent(value),\n };\n }, {});\n};\n\nclass SearchModule extends Component {\n constructor(props) {\n super(props);\n this.state = {\n results: [],\n resultCount: 0,\n suggestions: [],\n pages: 1,\n error: undefined,\n page: 1,\n loading: false,\n currentInput: '',\n currentSearch: '',\n };\n this.renderResult = this.renderResult.bind(this);\n this.handleInputChanged = this.handleInputChanged.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.updateResults = this.updateResults.bind(this);\n this.updateSuggestions = this.updateSuggestions.bind(this);\n this.goToPage = this.goToPage.bind(this);\n this.scrollToTop = this.scrollToTop.bind(this);\n this.debounchedUpdateSuggestions = debounce(this.updateSuggestions, 500);\n }\n\n componentDidMount() {\n const { searchUrl, page } = getHash();\n if (searchUrl) {\n this.runSearch(searchUrl, page);\n }\n }\n\n handleInputChanged(evt) {\n const { value } = evt.target;\n const newValue = value;\n this.setState(\n {\n currentInput: newValue,\n error: undefined,\n },\n () => {\n this.debounchedUpdateSuggestions(newValue);\n },\n );\n }\n\n handleKeyDown(evt) {\n // console.log(evt.keyCode);\n if (evt.keyCode === 13) {\n this.updateResults();\n }\n }\n\n updateSuggestions(q) {\n this.search(q, undefined, 'suggest')\n .then((result) => {\n this.setState({\n suggestions: result.records,\n });\n })\n .catch((err) => {\n this.setState({\n results: [],\n error: err,\n });\n });\n }\n\n updateResults() {\n const { currentInput: q } = this.state;\n global.history.replaceState(\n null,\n null,\n `#searchUrl=${encodeURIComponent(q)}`,\n );\n this.runSearch(q, 1);\n }\n\n goToPage(pageNumber) {\n const { currentSearch: q } = this.state;\n this.runSearch(q, pageNumber);\n global.history.replaceState(\n null,\n null,\n `#searchUrl=${encodeURIComponent(q)}&page=${pageNumber}`,\n );\n }\n\n runSearch(q, page = 1) {\n this.setState(\n {\n suggestions: [],\n loading: true,\n currentInput: '',\n currentSearch: q,\n },\n () => {\n this.search(q, page)\n .then((result) => {\n this.setState({\n page: parseInt(page, 10) || 1,\n loading: false,\n results: result.records,\n pages: result.info.num_pages,\n resultCount: result.info.total_result_count,\n });\n })\n .catch((err) => {\n this.setState({\n results: [],\n error: err,\n });\n });\n },\n );\n }\n\n search(q, page, type = 'search') {\n const { documentType = 'page', theme } = this.props;\n return new Promise((resolve, reject) => {\n const xhr = new global.XMLHttpRequest();\n xhr.open(\n 'POST',\n `https://search-api.swiftype.com/api/v1/public/engines/${type}.json`,\n );\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.addEventListener('load', () => {\n const response = JSON.parse(xhr.responseText);\n resolve({\n records: response.records[documentType],\n info: response.info[documentType],\n });\n });\n xhr.addEventListener('error', (err) => {\n reject(err);\n });\n xhr.send(\n JSON.stringify({\n q,\n engine_key: theme.EngineKey,\n page,\n }),\n );\n });\n }\n\n scrollToTop() {\n const c = global.document.documentElement.scrollTop\n || global.document.body.scrollTop;\n if (c > 0) {\n global.requestAnimationFrame(this.scrollToTop);\n global.scrollTo(0, c - c / 16);\n }\n }\n\n renderResult(document) {\n // console.log('URL : ', document.url);\n return (\n \n \n {/* */}\n \n \n \n \n \n );\n }\n\n renderSuggestion(document) {\n return (\n \n \n \n \n \n );\n }\n\n renderPaging(currentPage, numberOfPages, goToPage) {\n const { currentSearch } = this.state;\n return currentSearch !== '' ? (\n \n {createArray(numberOfPages, '')\n .map((a, i) => i + 1)\n .map((i) => {\n return i <= currentPage - 3 || i >= currentPage + 3 ? null : (\n {\n goToPage(i);\n this.scrollToTop();\n }}\n show={currentPage === i}\n >\n {currentPage === i ? `${i}` : i}\n \n );\n })}\n \n ) : null;\n }\n\n renderLoading() {\n return (\n \n \n \n );\n }\n\n rendercurrentSearch(contentText, results) {\n const { currentSearch } = this.state;\n return currentSearch === '' ? (\n \n ) : (\n
\n {/* results: */}\n {results.map(this.renderResult)}\n
\n );\n }\n\n render() {\n const {\n results,\n resultCount,\n currentInput,\n currentSearch,\n error,\n suggestions,\n loading,\n page,\n pages,\n } = this.state;\n\n const { contentText, theme } = this.props;\n\n const showResult = () => {\n if (currentSearch !== '') {\n if (resultCount === 0) {\n return
ingen resultater
;\n }\n return (\n
\n Viser fra {page * 20 - 19} til {page * 20 - 19 + results.length - 1}{' '}\n af {resultCount} søgeresultater\n
\n );\n }\n return null;\n };\n\n return (\n \n \n \n {/* */}\n \n {showResult()}\n {error &&
{error.toString()}
}\n {currentInput && (\n \n {/* suggestions: */}\n {suggestions.map(this.renderSuggestion)}\n \n )}\n {/* {!loading ? (\n\n
results:\n {results.map(this.renderResult)}\n
\n ) : this.renderLoading()} */}\n\n \n {!loading\n ? this.rendercurrentSearch(contentText, results)\n : this.renderLoading()}\n \n {this.renderPaging(page, pages, this.goToPage)}\n
\n );\n }\n}\n\n// Proptypes\nSearchModule.propTypes = {\n documentType: PropTypes.string,\n contentText: PropTypes.string,\n theme: PropTypes.string.isRequired,\n};\n\nSearchModule.defaultProps = {\n documentType: 'page',\n contentText: undefined,\n};\n\n// Exports\nexport default withTheme(SearchModule);\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Styled Components\nexport const Container = styled.section`\n background-color: ${ColorGuide.aqua};\n text-align: center;\n padding: 20px 20px;\n\n ${media.tabletP`\n\n `}\n ${media.tabletL`\n\n `}\n ${media.desktop`\n padding: 90px 0;\n `}\n`;\nexport const Header = styled.h2`\n color: ${ColorGuide.white};\n ${media.desktop`\n font-size:50px;\n `};\n`;\n\nexport const Manchet = styled.p`\n text-align: center;\n color: ${ColorGuide.white};\n margin-bottom: 20px;\n`;\n\nexport const InputBox = styled.input`\n width: 90%;\n ${media.tabletP`\n max-width: 372px;\n `};\n`;\n\nexport const InputBtn = styled.input`\n background-color: ${ColorGuide.darkGray} !important;\n width: 136px;\n`;\n","// Import Node Modules\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\n\n// Import Components\nimport {\n Container,\n Header,\n Manchet,\n InputBox,\n InputBtn,\n} from './styledcomponents';\n\n// Class\nclass SignupEmail extends Component {\n constructor(props) {\n super(props);\n this.state = { value: '' };\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n handleChange(event) {\n this.setState({ value: event.target.value });\n }\n\n handleSubmit(event) {\n // alert('A name was submitted: ' + this.state.value);\n event.preventDefault();\n }\n\n render() {\n const {\n header,\n manchet,\n placeholder,\n btnText,\n } = this.props;\n\n const { value } = this.state;\n\n return (\n \n
{header}
\n
\n {/* Disabled because styled input is not recognized */}\n {/* eslint-disable-next-line jsx-a11y/label-has-for */}\n \n \n
\n \n
\n );\n }\n}\n\n// Proptypes\nSignupEmail.propTypes = {\n header: PropTypes.string.isRequired,\n manchet: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n btnText: PropTypes.string.isRequired,\n};\n\n// Exports\nexport default SignupEmail;\n","// Import Node Modules\nimport styled, { css } from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Import Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// CSS\nconst heights = css`\n height: 550px;\n\n ${media.tabletP`\n height: 360px;\n `};\n ${media.tabletL`\n height: 490px;\n `};\n ${media.desktop`\n height: 560px;\n `};\n`;\n\n// Icons\nexport const Dashes = styled.span`\n font-size: 50px;\n padding: 5px;\n`;\n\n// Styled Components\nexport const Container = styled.section`\n padding: 50px 0px;\n background-color: ${ColorGuide.white};\n padding: 20px 0px;\n\n ${media.desktop`\n padding: 50px 0px;\n `};\n`;\n\nexport const Header = styled.h2`\n text-align: center;\n margin-bottom: 17px;\n ${media.desktop`\n font-size:50px;\n `};\n`;\n\nexport const Manchet = styled.p`\n text-align: center;\n font-size: 14px;\n margin-bottom: 20px;\n\n ${media.tabletL`\n font-size: 16px;\n margin-bottom: 30px;\n `};\n ${media.desktop`\n font-size: 20px;\n margin-bottom: 47px;\n `};\n`;\n\n// Styled Components CarouselUI\nexport const CarouselUIContainer = styled.div`\n position: relative;\n overflow: hidden;\n width: 100%;\n ${media.desktop`\n margin:0 auto;\n `};\n`;\n\nexport const Children = styled.div`\n width: 100%;\n position: relative;\n ${heights};\n`;\n\nconst ArrowCommon = css`\n z-index: 10;\n position: absolute;\n margin-top: 245px;\n cursor: pointer;\n opacity: 0.9;\n`;\n\nexport const ArrowLeft = styled.img`\n display: none;\n ${media.desktop`\n display: block;\n ${ArrowCommon};\n left: 40px;\n transform: rotate(180deg);\n `};\n`;\n\nexport const ArrowRight = styled.img`\n display: none;\n ${media.desktop`\n display: block;\n ${ArrowCommon};\n right: 40px;\n\n `};\n`;\n\nexport const Dots = styled.div`\n text-align: center;\n width: 100%;\n z-index: 100;\n`;\n\nexport const Dot = styled.span`\n font-size: 1.5em;\n cursor: pointer;\n user-select: none;\n margin: 0 10px;\n`;\n\n// Styled Components Carousel Slide\nexport const SlideContainer = styled.div`\n margin: 0 15px;\n\n ${heights};\n\n ${media.desktop`\n margin: 0 150px;\n `};\n`;\n\nexport const SlideContent = styled.div`\n background-color: ${ColorGuide.white};\n position: relative;\n height: 100%;\n box-shadow: ${ColorGuide.shadow};\n border-radius: 10px;\n overflow: hidden;\n\n & > div {\n height: 100%;\n }\n`;\n","// Component Name : Slideshow\n// C1 CMS Name : Carousel, CarouselNews\n\n// Import Node Modules\nimport React from 'react';\nimport makeCarousel from 'react-reveal/makeCarousel';\nimport { withTheme } from 'styled-components';\nimport Slide from 'react-reveal/Slide';\nimport PropTypes from 'prop-types';\n\nimport { Dash } from 'components/CommonComponents/UniCodeIcons';\nimport sliderArrow from 'assets/Icons/svg/icon_Arrow_SlideSHow.svg';\nimport * as ColorGuide from 'cssGuides/colorGuide';\n\nimport {\n Dashes,\n Container,\n Header,\n Manchet,\n CarouselUIContainer,\n Children,\n ArrowLeft,\n ArrowRight,\n Dots,\n Dot,\n SlideContainer,\n SlideContent,\n} from './styledcomponents';\n\n// Class\nconst CarouselUI = withTheme(({\n position,\n total,\n handleClick,\n children,\n theme,\n}) => (\n \n \n {children}\n \n \n \n \n {Array(...Array(total)).map((val, index) => (\n // eslint-disable-next-line react/no-array-index-key\n \n {index === position ? (\n \n \n \n ) : (\n \n \n \n )}\n \n ))}\n \n \n));\n\nconst Carousel = makeCarousel(CarouselUI);\n\nconst SlideShow = (props) => {\n const { header, manchet, children } = props;\n\n return (\n \n
{header}
\n {manchet}\n \n {React.Children.map(children, child => (\n \n \n {child}\n \n \n ))}\n \n
\n );\n};\n\n// Proptypes\nCarouselUI.propTypes = {\n position: PropTypes.number.isRequired,\n total: PropTypes.number.isRequired,\n handleClick: PropTypes.func.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nSlideShow.propTypes = {\n header: PropTypes.string.isRequired,\n manchet: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default SlideShow;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nimport { Url } from 'components/CommonComponents';\nimport { SPACINGS } from 'cssGuides/commonStyles';\nimport * as ColorGuide from 'cssGuides/colorGuide';\nimport { media } from 'cssGuides/MediaQuerys';\nimport RightArrow from 'assets/Icons/svg/icon_Arrow_Right_Blue.svg';\n\nconst Wrapper = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n\n ${media.tabletP`\n flex-direction: row;\n `}\n`;\n\nconst Image = styled.div`\n ${({ source }) => css`\n background-image: url(${source});\n background-position: center;\n background-size: cover;\n `};\n width: 100%;\n height: 350px;\n\n ${media.tabletP`\n width: 50%;\n height: 100%;\n `}\n`;\n\nconst TextWrapper = styled.div`\n display: flex;\n flex-direction: column;\n padding: ${SPACINGS.md}px ${SPACINGS.md}px 0 ${SPACINGS.md}px;\n\n a,\n h2,\n p {\n color: ${ColorGuide.darkGray};\n }\n\n ${media.tabletP`\n width: 50%;\n `}\n\n ${media.tabletL`\n padding: ${SPACINGS.xl}px;\n `}\n`;\n\nconst Type = styled.p`\n text-transform: uppercase;\n margin-bottom: ${SPACINGS.s}px;\n`;\n\nconst Title = styled.h2``;\n\nconst ReadMoreWrapper = styled.div`\n background-color: white;\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n ${media.tabletP`\n left: 50%;\n width: 50%;\n `}\n`;\n\nconst Arrow = styled.img`\n position: relative;\n top: ${SPACINGS.xs}px;\n left: ${SPACINGS.xs}px;\n`;\n\nconst ReadMore = styled.p`\n display: block;\n width: 100%;\n text-align: right;\n background-color: white;\n font-weight: 500;\n margin-bottom: 0;\n padding: ${SPACINGS.m}px ${SPACINGS.lg}px ${SPACINGS.m}px 0;\n color: ${ColorGuide.darkGray};\n\n ${media.tabletP`\n padding: ${SPACINGS.lg}px ${SPACINGS.lg}px ${SPACINGS.lg}px 0;\n `}\n`;\n\nconst Manchet = styled.p``;\n\nconst SlideContent = ({\n type, header, manchet, source, url,\n}) => {\n return (\n \n \n \n \n {type}\n {header}\n {manchet}\n \n {url && (\n \n \n Læs mere\n \n \n \n )}\n \n \n );\n};\n\nSlideContent.propTypes = {\n header: PropTypes.string.isRequired,\n manchet: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n source: PropTypes.string.isRequired,\n url: PropTypes.string,\n};\n\nSlideContent.defaultProps = {\n url: '',\n};\n\nexport default SlideContent;\n","// Component Name : TextArea\n// C1 CMS Name : TextBox\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Color Variables\nimport { margins } from '../../../cssGuides/commonStyles';\n\n// Styled Components\n\nconst Container = styled.div`\n background-color: ${props => (props.color === 'Primary' ? props.theme.PrimaryColor : props.color)};\n border-radius: 7px;\n ${margins};\n`;\n\nconst Inner = styled.div`\n padding: 30px 30px 0.1px 30px;\n`;\n\n// Class\nconst TextArea = (props) => {\n const { color, children } = props;\n return (\n \n {children}\n \n );\n};\n\n// Proptypes\nTextArea.propTypes = {\n color: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\n// Exports\nexport default TextArea;\n","// Import Node Modules\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Color Variables\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Import Default Profile Image\nimport DefaultImage from '../../../../assets/DefaultImages/BusinessCard.png';\n\n// Styled Component\nconst common = css`\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.71;\n letter-spacing: normal;\n padding: 0 30px;\n ${media.tabletP`\n font-size: 10px;\n `};\n ${media.tabletL`\n font-size: 10px;\n `};\n ${media.desktop`\n font-size: 14px;\n `};\n`;\n\nconst Container = styled.div`\n position: relative;\n box-sizing: border-box;\n flex: 1;\n ${props => (props.image === '' ? 'padding: 20px 0;' : 'padding-bottom: 20px;')};\n`;\n\nexport const Name = styled.div`\n ${common};\n font-weight: bold;\n`;\n\nexport const Job = styled.div`\n ${common};\n margin-bottom: 10px;\n`;\n\nexport const TLF = styled.div`\n ${common};\n`;\n\nexport const Email = styled.div`\n ${common};\n a {\n text-decoration: none;\n color: ${ColorGuide.aquaBright};\n }\n`;\n\nconst Image = styled.img`\n margin-bottom: 10px;\n display: none;\n ${media.tabletP`\n display: block;\n `};\n`;\n\n// Component\nconst BusinessCard = (props) => {\n const {\n name,\n job,\n tlf,\n email,\n altText,\n image,\n } = props;\n const mailto = `mailto:${email}`;\n return (\n \n {image === '' ? null : (\n {\n e.target.onerror = null;\n e.target.src = DefaultImage;\n e.target.alt = 'Default Image';\n }}\n />\n )}\n {name}\n {job !== '' && {job}}\n {tlf !== '' && Telefon: {tlf}}\n {email !== '' && (\n \n {email}\n \n )}\n \n );\n};\n\nBusinessCard.propTypes = {\n /** Image source */\n image: PropTypes.string,\n /** alternate image text */\n altText: PropTypes.string,\n /** Profile Name */\n name: PropTypes.string.isRequired,\n /** Profile job title */\n job: PropTypes.string.isRequired,\n /** Profile phone number */\n tlf: PropTypes.string.isRequired,\n /** Profile email */\n email: PropTypes.string.isRequired,\n};\n\nBusinessCard.defaultProps = {\n image: '',\n altText: 'Default profile image',\n};\n\nexport default BusinessCard;\n","// Component Name : BusinessCard\n// C1 CMS Name : Visitkort\n\n// Import node modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import component\nimport Card from './CardContainer/index';\nimport Business from './CardContent/business';\n\n// Component\nconst VisitKort = (props) => {\n const {\n image,\n name,\n job,\n tlf,\n email,\n } = props;\n return (\n \n \n \n );\n};\n\n// Proptypes\nVisitKort.propTypes = {\n image: PropTypes.string,\n name: PropTypes.string.isRequired,\n job: PropTypes.string.isRequired,\n tlf: PropTypes.string.isRequired,\n email: PropTypes.string.isRequired,\n};\n\nVisitKort.defaultProps = {\n image: '',\n};\nexport default VisitKort;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport { Columns } from '../../../CommonComponents/index';\n\n// Import Icon\nimport DefaultImage from '../../../../assets/DefaultImages/WideCard.png';\nimport DefaultImageMobile from '../../../../assets/DefaultImages/WideCardMobile.png';\n\n// Styled Component\n\nconst Container = styled.div`\n display: flex;\n box-sizing: border-box;\n margin-bottom: -4px;\n width: 100%;\n`;\n\nconst ImageContainer = styled.div`\n width: 100%;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n box-sizing: border-box;\n padding: 40px;\n`;\n\nclass Wide extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n // eslint-disable-next-line react/destructuring-assignment\n desktopPicture: this.props.image,\n // eslint-disable-next-line react/destructuring-assignment\n mobilePicture: this.props.imageMobile,\n };\n }\n\n // || props.imageMobile !== state.mobilePicture\n // static getDerivedStateFromProps(props, state) {\n // if (props.image !== state.desktopPicture) {\n // return {\n // desktopPicture: props.image,\n // mobilePicture: props.mobilePicture,\n // };\n // }\n // return null;\n // }\n\n render() {\n const {\n image,\n imageMobile,\n text,\n imageRight,\n altText,\n } = this.props;\n\n const { desktopPicture, mobilePicture } = this.state;\n\n const ImageSide = (\n \n {\n e.target.onerror = null;\n this.setState({\n desktopPicture: '',\n mobilePicture: '',\n });\n }}\n >\n \n \n \n \n \n );\n\n const TextSide = (\n \n );\n\n return (\n \n \n {imageRight === true ? TextSide : ImageSide}\n {imageRight === true ? ImageSide : TextSide}\n \n \n );\n }\n}\n\nWide.propTypes = {\n /** Html String */\n text: PropTypes.node.isRequired,\n /** Image url */\n image: PropTypes.string,\n /** Mobile Image url */\n imageMobile: PropTypes.string,\n /** Image Alt Text */\n altText: PropTypes.string,\n /** What side is image displayed */\n imageRight: PropTypes.bool,\n};\n\nWide.defaultProps = {\n image: DefaultImage,\n imageMobile: DefaultImageMobile,\n imageRight: true,\n altText: 'Alt text is missing',\n};\n\nexport default Wide;\n","// Component Name : WideCard\n// C1 CMS Name : KampagneLinkBox\n\n// Import node modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import component\nimport Card from './CardContainer/index';\nimport Wide from './CardContent/wide';\n\n// Component\nconst WideCard = (props) => {\n const {\n imageRight,\n image,\n imageMobile,\n text,\n btnUrl,\n imageAltText,\n } = props;\n return (\n \n \n \n );\n};\n\n// Proptypes\nWideCard.propTypes = {\n imageRight: PropTypes.bool.isRequired,\n image: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n btnUrl: PropTypes.string.isRequired,\n imageAltText: PropTypes.string,\n imageMobile: PropTypes.string,\n};\n\nWideCard.defaultProps = {\n imageAltText: 'Image No Description',\n imageMobile: undefined,\n};\n\nexport default WideCard;\n","import React, { createRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst lottieAsync = import('lottie-web');\n\nconst Lottie = ({\n elementType: ElementType,\n data,\n url,\n loop,\n autoplay,\n renderer,\n loader,\n ...props\n}) => {\n const element = createRef();\n const [lottie, setLottie] = useState();\n useEffect(() => {\n if (element.current && lottie) {\n lottie.loadAnimation({\n container: element.current,\n renderer,\n loop,\n autoplay,\n animationData: data,\n path: url,\n });\n }\n }, [element, renderer, loop, autoplay, data, url, lottie]);\n lottieAsync.then(setLottie);\n\n return (\n \n {!lottie && loader}\n
\n \n );\n};\n\nLottie.propTypes = {\n elementType: PropTypes.string,\n data: PropTypes.object, // eslint-disable-line react/forbid-prop-types\n url: PropTypes.string,\n loop: PropTypes.bool,\n autoplay: PropTypes.bool,\n renderer: PropTypes.string,\n loader: PropTypes.node,\n};\n\nLottie.defaultProps = {\n elementType: 'div',\n data: undefined,\n url: undefined,\n loop: false,\n autoplay: true,\n renderer: 'svg',\n loader: undefined,\n};\n\nexport default Lottie;\n","// Common Component : Youtube Video and Text\n\n// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\n// Guide\nimport { media } from '../../../cssGuides/MediaQuerys';\n\n// Classes\nexport const YoutubeVideo = (props) => {\n const { embed } = props;\n\n return (\n
\n \n
\n );\n};\n\nconst Container = styled.div`\n padding-left: 30px;\n`;\n\nconst Category = styled.p`\n margin-bottom: 25px;\n margin-top:20px;\n ${media.tabletP`\n\n `}\n ${media.tabletL`\n\n `}\n ${media.desktop`\n margin-top:0px;\n `}\n`;\n\nexport const YoutubeText = (props) => { // eslint-disable-line react/no-multi-comp\n const { text } = props;\n\n return (\n \n VIDEO\n
\n \n );\n};\n\n// Proptypes\nYoutubeVideo.propTypes = {\n embed: PropTypes.string.isRequired,\n};\n\nYoutubeText.propTypes = {\n text: PropTypes.string.isRequired,\n};\n","// import\nimport styled from 'styled-components';\nimport { currentTheme } from '../../../theme/index';\nimport SearchIcon from '../../../assets/Icons/svg/icon_Search_Blue.svg';\nimport { media } from '../../../cssGuides/MediaQuerys';\nimport * as Colors from '../../../cssGuides/colorGuide';\n// Styled-components\n\nexport const SelectBox = styled.select`\n background-color: ${Colors.white};\n border: 1px solid ${Colors.lightGray} !important;\n width: 100%;\n ${media.tabletP`\n width: 90%;\n `}\n ${media.tabletL`\n width: 90%;\n `}\n ${media.desktop`\n width: 300px;\n `}\n`;\n\n\nexport const SearchContainer = styled.div`\n display: flex;\n flex-direction: column;\n ${media.tabletL`\n flex-direction: row;\n `}\n`;\n\nexport const Button = styled.div`\n display: inline-block;\n text-align:right;\n font-size: 14px;\n padding: 10px 0;\n margin-top:10px;\n border: 0;\n color: ${props => props.theme.PrimaryColor || currentTheme.PrimaryColor};\n cursor: pointer;\n order:2;\n ${media.tabletP`\n display: inline-block;\n width: 100%;\n text-align:right;\n font-size: 14px;\n `}\n ${media.tabletL`\n width: 150px;\n order:1;\n text-align:left;\n `}\n`;\n\nexport const Search = styled.input`\n width: 100% !important;\n display: inline-block !important;\n background: url(${SearchIcon}) no-repeat scroll 280px 10px;\n border: 1px solid ${Colors.lightGray} !important;\n order:1;\n ${media.tabletP`\n width: 100% !important;\n background: url(${SearchIcon}) no-repeat scroll 245px 10px;\n `}\n ${media.tabletL`\n width: 280px !important;\n order:2;\n `}\n ${media.desktop`\n width: 300px !important;\n background: url(${SearchIcon}) no-repeat scroll 265px 10px;\n\n `}\n`;\n\nexport const Post = styled.div`\n border-top: 1px solid ${Colors.lightGray};\n padding: 10px 10px;\n`;\n\nexport const Dato = styled.div`\n display: block;\n color: ${Colors.midGray};\n margin-right: 20px;\n ${media.tabletP`\n display: inline-block;\n `}\n `;\n\nexport const CatContainer = styled.div`\n margin: 0;\n padding: 0;\n display: inline-block;\n`;\n\nexport const Cat = styled.div`\n border-right: 2px solid ${props => props.theme.PrimaryColor || currentTheme.PrimaryColor};\n color: ${props => props.theme.PrimaryColor || currentTheme.PrimaryColor};\n display: inline-block;\n padding: 0 10px;\n margin-bottom: 10px;\n font-size: 14px;\n &:first-child {\n padding: 0;\n padding-right: 10px;\n }\n &:last-child {\n border: none;\n }\n`;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Columns } from '../../CommonComponents';\nimport {\n SelectBox,\n Button,\n Search,\n Post,\n Dato,\n CatContainer,\n Cat,\n SearchContainer,\n} from './styled';\n\nconst EsgTracker = ({\n categories,\n esg,\n}) => {\n const [selectData, setSelectData] = useState();\n const [showData, setShowData] = useState();\n\n const [category, setCategory] = useState('all');\n const [searchString, setSearchString] = useState('');\n\n useEffect(() => {\n const selectedData = esg.filter((item) => {\n if (category === 'all') {\n return esg;\n }\n return item.category.includes(category);\n });\n\n const showingData = selectedData.filter((item) => {\n return (\n item.header.includes(searchString)\n || item.content.includes(searchString)\n );\n });\n\n setSelectData(selectedData);\n if (searchString.length === 0 || searchString.length > 2) {\n setShowData(showingData);\n }\n }, [searchString, category]);\n\n return (\n
\n
\n \n
\n setCategory(event.target.value)}\n >\n \n {categories.map((item) => {\n return ;\n })}\n \n
\n \n \n setSearchString(event.target.value)}\n />\n \n
\n
\n {selectData !== undefined\n && showData.map((item) => {\n return (\n \n {item.date}\n \n {item.category.map((cat) => {\n if (cat === category) {\n return (\n \n {cat}\n \n );\n }\n return {cat};\n })}\n \n

{item.header}

\n
\n \n );\n })}\n
\n
\n );\n};\n\n// Proptypes\nEsgTracker.propTypes = {\n categories: PropTypes.arrayOf(PropTypes.string).isRequired,\n esg: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.string.isRequired,\n category: PropTypes.arrayOf(PropTypes.string).isRequired,\n header: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n }),\n ).isRequired,\n};\n\nexport default EsgTracker;\n","import PropTypes, { element } from 'prop-types';\n\nconst DefaultPropTypes = {\n children: PropTypes.node.isRequired,\n data: PropTypes.shape({\n theme: PropTypes.string,\n bottomContent: PropTypes.arrayOf(element),\n level_1_id: PropTypes.string,\n cookieBanner: PropTypes.shape({\n text: PropTypes.string.isRequired,\n }),\n desktopTools: PropTypes.shape({\n bestil: PropTypes.shape({\n text: PropTypes.string,\n url: PropTypes.string,\n }),\n chat: PropTypes.shape({\n text: PropTypes.string,\n offlineText: PropTypes.string,\n }),\n ring: PropTypes.shape({\n text: PropTypes.string,\n info: PropTypes.string,\n }),\n }),\n disableScroll: PropTypes.bool,\n footer: PropTypes.shape({\n afdelinger: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n })),\n firm: PropTypes.shape({\n address: PropTypes.string,\n city: PropTypes.string,\n cvr: PropTypes.string,\n email: PropTypes.string,\n name: PropTypes.string,\n phone: PropTypes.string,\n }),\n links: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n })),\n social: PropTypes.shape({\n Facebook: PropTypes.string,\n LinkedIn: PropTypes.string,\n Twitter: PropTypes.string,\n }),\n terms: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n })),\n }),\n megaMenu: PropTypes.shape({\n megaMenu: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n menu: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n url: PropTypes.string,\n })),\n })),\n }),\n nav: PropTypes.shape({\n loginUrl: PropTypes.string,\n searchUrl: PropTypes.string,\n menus: PropTypes.shape({\n subMenus: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n url: PropTypes.string,\n internal: PropTypes.bool,\n display: PropTypes.string,\n menuItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n })),\n })),\n }),\n }),\n pageDescription: PropTypes.string,\n pageTitle: PropTypes.string,\n }).isRequired,\n};\n\nexport default DefaultPropTypes;\n","// Import Node Modules\nimport styled, { css } from 'styled-components';\n\n// Media Query Variables\nimport { media } from '../../../cssGuides/MediaQuerys';\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\n\n// Styled CSS\nconst hightSize = css`\n height: auto;\n ${media.tabletL`\n height: 175px;\n `};\n`;\n\n// Styled-components\n\nexport const Container = styled.footer`\n background-color: ${ColorGuide.darkGray};\n color: ${ColorGuide.white};\n ${hightSize};\n padding: 10px 0;\n ${media.tabletL`\n padding: 0 0 0 50px;\n `};\n ${media.desktop`\n padding: 0 0 0 100px;\n `};\n`;\n\nexport const ColDiv = styled.div`\n ${hightSize};\n width:100%;\n`;\n\n// Address\nexport const Address = styled.div`\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.5;\n letter-spacing: normal;\n text-align: center;\n ${media.tabletL`\n text-align:left;\n `};\n`;\n\nexport const Info = styled.div`\n font-size: 13px;\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.5;\n letter-spacing: normal;\n`;\n\nexport const Phone = styled.div`\n text-align: center;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n padding: 0 0 20px 0;\n font-size: 20px;\n ${media.tabletL`\n padding:0;\n text-align:left;\n `};\n ${media.desktop`\n font-size: 13px;\n `}\n\n img {\n padding-right: 10px;\n width: 24px;\n ${media.tabletL`\n width: 24px;\n `};\n ${media.desktop`\n width: 20px;\n `};\n }\n`;\n\n// Links\n\nexport const Urls = styled.div`\n font-size: 14px;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: 2.29;\n letter-spacing: normal;\n text-align: center;\n border-top: 1px solid ${ColorGuide.lightGray};\n ${media.tabletL`\n text-align:left;\n font-size: 12px;\n border:none;\n `};\n ${media.desktop`\n font-size: 14px;\n `}\n\n a {\n font-size: 13px;\n font-weight: 400;\n color: ${ColorGuide.white};\n &:hover {\n color: ${ColorGuide.aquaMedium};\n }\n &:visited {\n color: ${ColorGuide.white};\n &:hover {\n color: ${ColorGuide.aquaMedium};\n }\n }\n }\n`;\n\n// Social\n\nexport const Social = styled.div`\n ${hightSize};\n max-width: 100%;\n min-height: 50px; \n`;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\n// Icons\nimport LinkedIn from '../../../assets/Icons/svg/icon_Social_LinkedIn.svg';\nimport Facebook from '../../../assets/Icons/svg/icon_Social_Facebook.svg';\n\n// Import Components\nimport { Columns, AlignContentCenter, Url } from '../../CommonComponents/index';\n\nimport {\n Container,\n ColDiv,\n Address,\n Info,\n Phone,\n Social,\n Urls,\n} from './styledcomponents';\n\n// Class\nconst Footer = withTheme((props) => {\n const { footer, theme } = props;\n return (\n \n \n \n \n
\n {footer.firm.name}\n
\n \n {footer.firm.address}\n
\n {footer.firm.city}\n
\n cvr: {footer.firm.cvr}\n
\n tlf: {footer.firm.phone}\n
\n
\n
\n
\n\n \n\n \n {theme.FooterLinks !== false && (\n \n \n {footer.links.map((link, index) => (link.name !== '' ? (\n // eslint-disable-next-line react/no-array-index-key\n
\n \n
\n ) : (\n // eslint-disable-next-line react/no-array-index-key\n
\n  \n
\n )))}\n
\n
\n )}\n
\n\n \n {theme.FooterLinks !== false && (\n \n \n {footer.terms.map((link, index) => (link.name !== '' ? (\n // eslint-disable-next-line react/no-array-index-key\n
\n \n
\n ) : (\n // eslint-disable-next-line react/no-array-index-key\n
\n  \n
\n )))}\n
\n
\n )}\n
\n\n \n {theme.FooterLinks !== false && (\n \n \n {footer.afdelinger.map((link, index) => (link.name !== '' ? (\n // eslint-disable-next-line react/no-array-index-key\n
\n \n
\n ) : (\n // eslint-disable-next-line react/no-array-index-key\n
\n  \n
\n )))}\n
\n
\n )}\n
\n\n \n \n \n \n {footer.social.linkedIn !== '' && (\n \n \"LinkedIn\"\n \n )}\n \n \n \n \n {footer.social.facebook !== '' && (\n \n \"Facebook\"\n \n )\n }\n \n \n \n \n
\n
\n );\n});\n\n// Proptypes\nFooter.propTypes = {\n footer: PropTypes.shape({\n firm: PropTypes.shape({\n afdelinger: PropTypes.shape({\n name: PropTypes.string,\n url: PropTypes.string,\n }),\n firm: PropTypes.shape({\n address: PropTypes.string.isRequired,\n city: PropTypes.string.isRequired,\n cvr: PropTypes.string.isRequired,\n email: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n phone: PropTypes.string.isRequired,\n }),\n links: PropTypes.shape({\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n }),\n social: PropTypes.shape({\n Facebook: PropTypes.string.isRequired,\n LinkedIn: PropTypes.string.isRequired,\n Twitter: PropTypes.string.isRequired,\n }),\n terms: PropTypes.shape({\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n }),\n }),\n }).isRequired,\n};\n\nexport default Footer;\n","// Variables\nexport const level1 = 50;\nexport const level2 = 100;\nexport const navBar = 150;\nexport const minimumMobileViewSize = 762;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Import Guides\nimport * as Variables from '../Variables';\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Styled Components - MainMenuBar\nexport const MenuContainer = styled.nav`\n background-color: ${ColorGuide.white};\n position: relative;\n top: 0;\n left: 0;\n overflow: hidden;\n`;\n\nexport const ContentContainer = styled.div``;\n\nexport const MenuList = styled.div`\n list-style: none;\n display: flex;\n justify-content: flex-end;\n margin: 0;\n height: ${Variables.level1}px;\n`;\n\nexport const MenuItem = styled.div`\n position: relative;\n display: block;\n color: ${ColorGuide.lightGray};\n padding-left: 16px;\n padding-right: 16px;\n padding-top: 7px;\n margin: 10px 0;\n\n a,\n a:visited {\n color: ${ColorGuide.darkGray} !important;\n font-size: 13px;\n\n ${media.tabletP`font-size: 11px;`};\n ${media.tabletL`font-size: 13px;`};\n ${media.desktop`font-size: 13px;`};\n\n }\n\n &:nth-last-child(-n + 2) {\n border-left: ${props => (props.theme.MainMenuSeperator ? `1px solid ${ColorGuide.border}` : 'none')};\n }\n`;\n\nexport const MenuItemUnderline = styled.div`\n position: absolute;\n bottom: 0px;\n\n width: calc(100% - 32px);\n height: 2px;\n background-color: ${({ item, isActive }) => (item === isActive ? ColorGuide.darkGray : ColorGuide.white)};\n`;\n\nexport const LogOut = styled.div`\n display: block;\n border: none;\n cursor: pointer;\n font-size: 13px;\n color: ${ColorGuide.darkGray}\n`;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","class PuzzelClient {\n constructor(id) {\n this.id = id;\n }\n\n loader = undefined;\n\n markReady = undefined;\n\n ready = new Promise((resolve) => {\n this.markReady = resolve;\n });\n\n attach = subscriptions => () => {\n this.loader = new global.EUWALoader({\n customerKey: 43863,\n configId: this.id,\n }, {\n onBeforeLoad: () => {\n const chat = this.loader.getApplication('PuzzelChatClient');\n Object.entries(subscriptions).forEach(([name, listener]) => {\n chat.subscribe(name, listener);\n });\n },\n settings: {\n PuzzelChatClient: {\n variables: {},\n },\n },\n });\n return this.loader.load().then(async () => {\n const chatQueueUrl = 'https://api.puzzel.com/chat/v1/queue/43863/status/71759';\n const chatResponse = await fetch(chatQueueUrl);\n const chatQueueDataJson = await chatResponse.json();\n const { agentsReady } = chatQueueDataJson;\n\n const chatAgentsReadyThresholdUrl = 'https://api.puzzel.com/chat/v1/time/43863/37235_time10';\n const agentsResponse = await fetch(chatAgentsReadyThresholdUrl);\n const agentsReadyThreshold = await agentsResponse.json();\n\n this.markReady(agentsReady >= agentsReadyThreshold);\n }).catch((err) => {\n // NOTE: If chat is closed the module throws an error, and since we can not detect this ahead of time we need\n // this horrible hack\n if (err.toString() === 'NotAvailableError: [Bootstrapper] Time module returned not opened exit - Closed') {\n this.markReady(false);\n return;\n }\n throw err;\n });\n };\n\n init = (subscriptions = {}) => {\n if (this.loader) {\n return undefined;\n }\n if (!global.window && global.document.getElementById('puzzlescript')) {\n return undefined;\n }\n const loader = global.document.createElement('script');\n loader.id = 'puzzlescript';\n loader.src = 'https://euwa.puzzel.com/loader/index.js';\n loader.onload = this.attach(subscriptions);\n global.document.body.append(loader);\n return this.ready;\n };\n\n startChat = async () => {\n await this.ready;\n const chat = this.loader.getApplication('PuzzelChatClient');\n const { isConnected } = chat.api.getState();\n if (!isConnected) {\n chat.api.startChat();\n }\n };\n\n minimize = async () => {\n await this.ready;\n const chat = this.loader.getApplication('PuzzelChatClient');\n const { isMinimized } = chat.api.getState();\n if (!isMinimized) {\n chat.api.minimize();\n }\n };\n\n maximize = async () => {\n await this.ready;\n const chat = this.loader.getApplication('PuzzelChatClient');\n const { isMaximized } = chat.api.getState();\n if (!isMaximized) {\n chat.api.maximize();\n }\n };\n\n setSystemData = async (values) => {\n await this.ready;\n const chat = this.loader.getApplication('PuzzelChatClient');\n chat.api.updateSystemVariables(values);\n }\n\n setData = async (values) => {\n await this.ready;\n const chat = this.loader.getApplication('PuzzelChatClient');\n chat.api.updateVariables(values);\n }\n}\n\nexport default PuzzelClient;\n","import React, {\n useMemo,\n useState,\n createContext,\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { createGlobalStyle } from 'styled-components';\nimport PuzzelClient from './PuzzelClient';\n\nconst GlobalStyle = createGlobalStyle`\n div[data-puzzel-chat] {\n z-index: 1000;\n }\n`;\n\nconst PuzzelContext = createContext({\n});\n\n// HACK: as Puzzel sets variables in localStorage, including CPR\n// which is not secure enough, we have to catch this set and remove the CPR\nif (global.window) {\n const orgSetItem = global.localStorage.setItem;\n global.localStorage.setItem = (key, value) => {\n let result = value;\n if (key === '[euwa_chat]startFormVariables') {\n const json = JSON.parse(value);\n json.CPR = undefined;\n result = JSON.stringify(json);\n }\n orgSetItem.apply(global.localStorage, [key, result]);\n };\n}\n\nconst PuzzelProvider = ({ children, id }) => {\n const client = useMemo(() => new PuzzelClient(id), []);\n const [ready, setReady] = useState(false);\n const [open, setOpen] = useState(false);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (!global.window) {\n return;\n }\n\n client.init({\n // Eventlist: https://help.puzzel.com/da/product-documents/user-guide/puzzel-contact-centre/puzzel-administration-portal/services/chat-configuration/chat-front-end-api\n chatInit: () => {\n setOpen(true);\n },\n chatStarts: () => {\n setVisible(true);\n },\n chatWindowClosed: () => {\n setVisible(false);\n },\n contactCenterClosed: () => {\n setOpen(false);\n },\n }).then((isReady) => {\n setReady(isReady);\n });\n }, [client]);\n\n const onClickOpen = useCallback(() => {\n setVisible(true);\n client.startChat();\n }, [client]);\n\n const contextProps = useMemo(() => ({\n ready,\n client,\n open: open && ready,\n onClickOpen,\n visible,\n }), [open, ready, visible, client, onClickOpen]);\n\n\n return (\n \n \n {children}\n \n );\n};\n\nPuzzelProvider.propTypes = {\n id: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport { PuzzelProvider };\n\nexport default PuzzelContext;\n","\nconst STORAGE_PREFIX = '_loginContextCache';\n\nconst LoginContextCache = {\n setCache: (value) => {\n global.sessionStorage.setItem(STORAGE_PREFIX, JSON.stringify(value));\n },\n getCache: () => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n const value = global.sessionStorage.getItem(STORAGE_PREFIX);\n try {\n return value ? JSON.parse(value) : null;\n } catch (err) {\n console.error('Could not read from login context cache', err); // eslint-disable-line no-console\n return null;\n }\n },\n clearCache: () => {\n global.sessionStorage.removeItem(STORAGE_PREFIX);\n }\n }\n\nexport default LoginContextCache;","import React, { createContext, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PuzzelContext from '../template/components/DesktopTools/PuzzelContext';\nimport LoginContextCache from './loginContextCache';\nimport { isProduction } from \"../template/helperFunctions\";\n\nconst {\n Consumer: ContextConsumer,\n Provider: ContextProvider,\n} = createContext();\nclass ProviderWrapper extends Component {\n \n constructor() {\n super();\n this.logout = this.logout.bind(this);\n this.onMessage = this.onMessage.bind(this);\n this.defaultState = {\n isLoggedIn: false,\n userName: null,\n };\n this.state = this.defaultState;\n }\n\n componentDidMount() {\n this.setState(LoginContextCache.getCache() || this.defaultState);\n if (global.addEventListener) {\n global.addEventListener('message', this.onMessage);\n } else if (global.attachEvent) {\n global.attachEvent('onmessage', this.onMessage);\n }\n if (!isProduction()) {\n // eslint-disable-next-line no-underscore-dangle\n global._messageTestChannel = this.onMessage;\n }\n }\n\n componentWillUnmount() {\n if (global.addEventListener) {\n global.removeEventListener('message', this.onMessage);\n } else if (global.attachEvent) {\n global.removeEventListener('onmessage', this.onMessage);\n }\n }\n\n onMessage({ origin: requestOrigin, data }) {\n const { origin } = this.props;\n if (requestOrigin === origin) {\n if (!data || typeof data.login === 'undefined') {\n return;\n }\n const { puzzel } = this.props;\n const { login, name, cpr } = data;\n const state = {\n isLoggedIn: login,\n userName: name,\n };\n puzzel.setSystemData({\n enteredFormName: data.name,\n CPR: cpr,\n });\n LoginContextCache.setCache(state);\n this.setState(state);\n }\n }\n\n logout() {\n const { logoutUrl, onLogout } = this.props;\n const iframe = global.document.createElement('iframe');\n iframe.style.display = 'none';\n iframe.src = logoutUrl;\n iframe.onload = () => {\n LoginContextCache.clearCache();\n this.setState(this.defaultState);\n // iframe.parentElement.removeChild(iframe);\n if (onLogout) {\n onLogout();\n }\n };\n global.document.body.appendChild(iframe);\n }\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { children, homeUrl, profileUrl } = this.props;\n const { isLoggedIn, userName } = this.state;\n\n return (\n \n {children}\n \n );\n }\n}\n\nProviderWrapper.propTypes = {\n origin: PropTypes.string.isRequired,\n logoutUrl: PropTypes.string.isRequired,\n homeUrl: PropTypes.string.isRequired,\n profileUrl: PropTypes.string.isRequired,\n onLogout: PropTypes.func,\n children: PropTypes.node.isRequired,\n puzzel: PropTypes.shape({\n setSystemData: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nProviderWrapper.defaultProps = {\n onLogout: undefined,\n};\n\nexport const Consumer = ContextConsumer;\nexport const Provider = props => ( // eslint-disable-line react/no-multi-comp\n \n {({ client }) => (\n \n )}\n \n);\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\n\n// Import Common Components\nimport { Wrapper } from '../../../CommonComponents';\n\n// Import Styled-Components\nimport {\n MenuContainer,\n MenuList,\n MenuItem,\n MenuItemUnderline,\n LogOut,\n ContentContainer as MenuContentContainer,\n} from '../StyledComponents/MainMenu';\n\n// Import Icon\nimport Lock from '../../../../assets/Icons/svg/icon_Menubar_Lock.svg';\n\n// Import Variables\nimport * as Variables from '../Variables';\nimport { Consumer as LoginContext } from '../../../../Context/loginContext';\n\n// Class Component - MainMenu\nconst MainMenu = (props) => {\n const {\n size,\n menu,\n ActiveMenu,\n navHeight,\n collapseNav,\n showNav,\n changeMenu,\n } = props;\n\n if (navHeight === Variables.navBar) {\n return (\n \n \n \n \n {menu.menus.subMenus.map(subMenu => (\n changeMenu(`${subMenu.id}`)}\n item={subMenu.id}\n isActive={ActiveMenu}\n key={subMenu.id}\n role=\"menuitem\"\n >\n {subMenu.internal !== true ? (\n \n {subMenu.name}\n \n ) : (\n \n {subMenu.name}\n \n )}\n\n \n \n ))}\n \n {({ isLoggedIn, homeUrl, logout }) => (\n isLoggedIn ? (\n <>\n \n \n Dine tal\n \n \n \n \n \n Log ud\n \n \n \n ) : (\n \n )\n )}\n \n \n \n \n \n );\n }\n return null;\n};\n\n// Proptypes\nMainMenu.propTypes = {\n size: PropTypes.string.isRequired,\n menu: PropTypes.shape({\n searchUrl: PropTypes.string.isRequired,\n loginUrl: PropTypes.string.isRequired,\n menus: PropTypes.shape({\n subMenus: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n display: PropTypes.string,\n internal: PropTypes.bool,\n menuItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n })),\n })).isRequired,\n }).isRequired,\n }).isRequired,\n ActiveMenu: PropTypes.string.isRequired,\n navHeight: PropTypes.number.isRequired,\n collapseNav: PropTypes.bool.isRequired,\n showNav: PropTypes.bool.isRequired,\n changeMenu: PropTypes.func.isRequired,\n};\n\nexport default MainMenu;\n","// Import Node Modules\nimport React from 'react';\nimport styled, { withTheme } from 'styled-components';\nimport { Link } from 'gatsby';\nimport PropTypes from 'prop-types';\n\nimport { sizes, media } from '../../../../cssGuides/MediaQuerys';\nimport { VAlignContentCenter } from '../../../CommonComponents/index';\n\nconst HEIGHT = 100;\n\nconst LogoContainer = styled.div`\n position: relative;\n height: ${(props) => props.imgSize}px;\n padding-left:${(props) => props.theme.LogoLeftMobile};\n ${media.tabletP`\n padding-left:${(props) => props.theme.LogoLeftTabletP};\n `}\n ${media.tabletL`\n padding-left:${(props) => props.theme.LogoLeftTabletL};\n `}\n ${media.desktop`\n padding-left:${(props) => props.theme.LogoLeftDesktop};\n `}\n`;\n\nconst LogoStyled = styled.img`\n height: ${(props) => props.theme.LogoSizeMobile};\n display: block;\n ${''}\n ${media.tabletP`\n height: ${(props) => props.theme.LogoSizeTabletP};\n `}\n ${media.tabletL`\n height: ${(props) => props.theme.LogoSizeTabletL};\n `}\n ${media.desktop`\n height: ${(props) => props.theme.LogoSizeDesktop};\n `}\n`;\n\nexport const Logo = withTheme((props) => {\n const { imgSize, theme } = props;\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n});\n\n// Styled-Components - Login/Search\n\nexport const LogOut = styled.div`\n background-color: ${props => props.theme.PrimaryColor};\n display: block;\n border: none;\n cursor: pointer;\n font-size: 12px;\n border-radius: 4px;\n text-align: center;\n justify-self: end;\n -webkit-box-pack: end;\n justify-content: flex-end;\n width: 70px;\n height: 25px;\n line-height: 25px;\n margin-left: 30px;\n`;\n\nexport const SearchIcon = styled.div`\n height: ${(props) => props.imgSize}px;\n\n ${media.tabletP`\n margin-right: 30px;\n `};\n`;\n\nexport const ImgIcon = styled.img`\n width: 20px;\n margin: 0 0 0 auto;\n`;\n\nexport const MenuBarContainerDesktop = styled.div`\n transition: all 0.3s;\n height: 50px;\n margin: 0 25px 0 0;\n display: none;\n justify-content: space-between;\n\n ${media.tabletP`\n display: flex;\n height: ${HEIGHT}px;\n `};\n`;\n\n\nexport const MenuBarContainerMobile = styled.div`\n transition: all 0.3s;\n height: 50px;\n display: flex;\n justify-content: space-between;\n\n ${media.tabletP`\n display: none;\n `};\n`;\n\n\nexport const ButtonContainer = styled.div`\n height: ${(props) => props.navHeight};\n display: flex;\n`;\n\nexport const ChildContainer = styled.div`\n line-height: ${HEIGHT}px;\n`;\n\nexport const Profile = styled.img`\n width: 40px;\n height: 40px;\n border-radius: 50%;\n vertical-align: middle;\n`;\n\nexport const ProfileName = styled.div`\n margin-left: -3px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0 10px;\n color: white;\n\n ${media.tabletP`\n font-size: 9px;\n max-width: 200px;\n `};\n ${media.tabletL`\n font-size: 10px;\n `};\n ${media.desktop`\n font-size: 13px;\n `};\n`;\n\n// Proptypes\nLogo.propTypes = {\n imgSize: PropTypes.number.isRequired,\n};\n\nexport const HamburgerContainer = styled.div`\n padding: 0 10px;\n`;\n","// Component : Login Button\n\n// Import Node Modules\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { Link } from 'gatsby';\nimport PropTypes from 'prop-types';\n\n// Import Components\nimport { media } from '../../../../cssGuides/MediaQuerys';\nimport { AlignContentCenter } from '../../../CommonComponents/index';\n\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\n\n// Styled-Components\nconst commonLinkStyle = css`\n background-color: ${props => props.theme.PrimaryColor};\n color: ${ColorGuide.white} !important;\n border-radius: 4px;\n width: 100px;\n text-align: center;\n justify-self: end;\n justify-content: flex-end;\n width: 70px;\n height: 25px;\n line-height: 25px;\n cursor: pointer;\n margin-left: 30px;\n\n ${media.tabletP`\n margin: 0 auto;\n width: 80px;\n height: 30px;\n line-height: 30px;\n `};\n ${media.desktop`\n width:105px;\n height:40px;\n line-height:40px;\n `};\n`;\n\nconst LoginContainer = styled.div`\n height: ${props => props.NH}px;\n`;\n\nconst StyledLink = styled(Link)`\n ${commonLinkStyle}\n`;\n\nexport const LoginBtnComponent = props => (\n // eslint-disable-next-line react/destructuring-assignment\n \n \n \n \n \n);\n\n// Proptypes\nLoginBtnComponent.propTypes = {\n navheight: PropTypes.number,\n};\n\nLoginBtnComponent.defaultProps = {\n navheight: undefined,\n};\n\nexport default LoginBtnComponent;\n","// Import Node Modules\nimport React, { Component } from 'react';\nimport { Link } from 'gatsby';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\n// Import Components\nimport { AlignContentCenter } from '../../../CommonComponents';\n\nimport {\n Logo,\n LogOut,\n SearchIcon,\n ImgIcon,\n MenuBarContainerMobile,\n MenuBarContainerDesktop,\n ButtonContainer,\n HamburgerContainer,\n ChildContainer,\n Profile,\n ProfileName,\n} from '../StyledComponents/MainMenuBar';\n\nimport { isMobileOnClient } from '../../../../template/helperFunctions';\n\nimport { LoginBtnComponent } from './Login';\n\nimport Icon from '../../../../assets/Icons/svg/icon_Search_White.svg';\nimport Avatar from '../../../../assets/Icons/svg/icon_Menubar_Profile.svg';\n\n// Import Context\nimport { Consumer as LoginContext } from '../../../../Context/loginContext';\n\n// Class\nclass MainMenuBar extends Component {\n constructor(props) {\n super(props);\n this.state = {\n mobile: isMobileOnClient(),\n };\n }\n\n componentDidMount() {\n this.setState({ isClient: true });\n global.addEventListener('resize', this.handleNavResize);\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize = () => {\n this.setState({\n mobile: isMobileOnClient(),\n });\n }\n\n renderLogin(x, y) {\n const { mobile } = this.state;\n const { theme } = this.props;\n\n return (\n \n {({ isLoggedIn, userName, profileUrl, logout }) =>\n isLoggedIn ? (\n \n {mobile ? (\n \n \n Log ud\n \n
\n ) : (\n
\n \n \n {userName}\n \n
\n )}\n \n ) : (\n {theme.BtnName}\n )\n }\n \n );\n }\n\n render() {\n const { mobile, isClient } = this.state;\n const { children, menu } = this.props;\n\n if (mobile) {\n return (\n \n \n \n {this.renderLogin(menu.loginUrl, 50)}\n {children}\n \n \n );\n }\n\n return (\n \n \n {children}\n \n \n {menu.searchUrl !== '' && (\n \n \n \n \n \n )}\n \n {menu.loginUrl !== '' && this.renderLogin(menu.loginUrl, 100)}\n \n \n );\n }\n}\n\n// Proptypes\nMainMenuBar.propTypes = {\n theme: PropTypes.object.isRequired, // eslint-disable-line\n children: PropTypes.node.isRequired,\n menu: PropTypes.shape({\n loginUrl: PropTypes.string,\n searchUrl: PropTypes.string,\n menus: PropTypes.shape({\n subMenus: PropTypes.arrayOf(\n PropTypes.shape({\n display: PropTypes.string,\n id: PropTypes.string,\n internal: PropTypes.bool,\n name: PropTypes.string,\n url: PropTypes.string,\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n })\n ),\n })\n ),\n }),\n }).isRequired,\n};\n\n// Exports\nexport default withTheme(MainMenuBar);\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Queries\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Import Guides\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\n\n// Styled components - RenderDesktop\nexport const MegaMenuHeaderContainer = styled.div`\n margin: auto auto;\n text-align: center;\n transition: all 0.3s;\n height: 100%;\n`;\n\nexport const MegaMenuHeader = styled.div`\n display: inline;\n position: relative;\n margin: 0 10px;\n cursor: pointer;\n white-space: nowrap;\n color: ${ColorGuide.white};\n font-weight: ${({ item, isActive }) => (item === isActive ? 500 : 400)};\n &:hover {\n color: ${ColorGuide.white};\n }\n ${media.tabletP`font-size: 11px;`};\n ${media.tabletL`font-size: 14px;`};\n ${media.desktop`font-size: 16px;`};\n`;\n\nexport const MegaMenuItemUnderline = styled.div`\n position: absolute;\n bottom: -10px;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: ${({\n id,\n item,\n isActive,\n isLoaded,\n }) => (item === isActive || id === isLoaded\n ? ColorGuide.white\n : ColorGuide.darkGray)};\n`;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Styled-components\nimport {\n MegaMenuHeaderContainer,\n MegaMenuHeader,\n MegaMenuItemUnderline,\n} from '../StyledComponents/Desktop';\n\n// Component Class Desktop\nconst Desktop = (props) => {\n const {\n ActiveMenu,\n ActiveMegaMenu,\n isLoaded,\n menu,\n changeMegaMenu,\n } = props;\n\n return (\n \n {menu.menus.subMenus.map((subMenus) => {\n return ActiveMenu === subMenus.id ? (\n
\n {subMenus.menuItems.map(menuItems => (\n changeMegaMenu(menuItems.name)}\n item={menuItems.name}\n isActive={ActiveMegaMenu}\n >\n {menuItems.name}\n \n \n ))}\n
\n ) : (\n ''\n );\n })}\n
\n );\n};\n\nDesktop.propTypes = {\n ActiveMenu: PropTypes.string.isRequired,\n ActiveMegaMenu: PropTypes.string.isRequired,\n isLoaded: PropTypes.string,\n menu: PropTypes.shape({\n searchUrl: PropTypes.string.isRequired,\n loginUrl: PropTypes.string.isRequired,\n menus: PropTypes.shape({\n subMenus: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n display: PropTypes.string,\n internal: PropTypes.bool,\n menuItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n })),\n })).isRequired,\n }).isRequired,\n }).isRequired,\n changeMegaMenu: PropTypes.func.isRequired,\n};\n\nDesktop.defaultProps = {\n isLoaded: undefined,\n};\n\nexport default Desktop;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Media Queries\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Import Guides\nimport * as Variables from '../Variables';\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\n\n// Components\nconst Hamburger = styled.span`\n color: ${ColorGuide.white};\n position: relative;\n font-size: 30px;\n line-height: 43px;\n height: ${Variables.level1}px;\n top: 0px;\n right: 0px;\n padding-top: 3px;\n display: block;\n width: 50px;\n\n ${media.tabletL`\n display:none;\n `};\n`;\n\nexport default Hamburger;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Common Components\nimport { Columns } from '../../../CommonComponents';\n\n// Import Styled-components\nimport Hamburger from '../StyledComponents/Mobile';\n\n// Class\nconst Mobile = (props) => {\n const {\n open,\n openNav,\n closeAll,\n } = props;\n\n const anyOpen = open.length > 0;\n return (\n \n
\n
\n {!anyOpen && (\n {\n openNav('mySidenav');\n }}\n >\n ☰\n \n )}\n {anyOpen && (\n {\n closeAll();\n }}\n >\n ×\n \n )}\n
\n \n );\n};\n\n// Proptypes\nMobile.propTypes = {\n open: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n })).isRequired,\n openNav: PropTypes.func.isRequired,\n closeAll: PropTypes.func.isRequired,\n};\n\nexport default Mobile;\n","// Import Node Modules\nimport styled from 'styled-components';\nimport { Link } from 'gatsby';\n\n// Import Guides\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Styled components\n\nexport const Overlay = styled.div.attrs({\n role: 'none',\n})`\n display: none;\n width: 100%;\n max-width: 1560px;\n height: 1500px;\n\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2;\n`;\n\nexport const MegaMenuContainer = styled.div`\n width: 100%;\n height: auto;\n background-color: ${ColorGuide.PUBLIC_MENU_DROPDOWN};\n padding: 30px 0;\n position: relative;\n top: -8px;\n`;\n\nexport const MegaMenuItem = styled(Link)`\n color: ${ColorGuide.white} !important;\n font-weight: 400;\n cursor: pointer;\n align-self: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-left: 80px;\n display: flex;\n\n height: 50px;\n\n align-items: center;\n &:hover {\n color: ${ColorGuide.lightGray} !important;\n }\n\n ${media.tabletP`\n margin-left: 15px;\n font-size: 11px;\n\n `};\n ${media.tabletL`\n margin-left: 80px;\n font-size: 12px;\n\n `};\n ${media.desktop`\n font-size: 14px;\n `};\n`;\n\nexport const MegaMenuItemText = styled.span`\n padding-left: 10px;\n white-space: break-spaces;\n`;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Common Components\nimport { Wrapper, Columns, IconRight } from '../../../CommonComponents';\n\n// Import Styled-components\nimport {\n Overlay,\n MegaMenuContainer,\n MegaMenuItem,\n MegaMenuItemText,\n} from '../StyledComponents/MegaMenu';\n\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\n\n// Component Class MegaMenu\nconst MegaMenu = (props) => {\n const {\n MegaMenuVisible,\n ActiveMegaMenu,\n size,\n megaMenu,\n changeMegaMenu,\n } = props;\n\n const arrangeMenuItems = (y) => {\n const MenuCount = Math.ceil(y.length / 3) * 3;\n const Col1Count = Math.ceil(MenuCount / 3);\n const newCount = MenuCount - Col1Count;\n const Col2Count = Math.ceil(newCount / 2);\n const col1 = [];\n const col2 = [];\n const col3 = [];\n let x = {};\n\n for (let i = 0; i < Col1Count; i += 1) {\n x = {\n id: y[i].id,\n url: y[i].url,\n name: y[i].name,\n };\n col1.push(x);\n }\n\n for (let i = Col1Count; i < Col1Count + Col2Count; i += 1) {\n if (y[i] !== undefined) {\n x = {\n id: y[i].id,\n url: y[i].url,\n name: y[i].name,\n };\n col2.push(x);\n } else {\n x = {\n id: null,\n url: '',\n name: null,\n };\n col2.push(x);\n }\n }\n\n for (let i = Col1Count + Col2Count; i < MenuCount; i += 1) {\n if (y[i] !== undefined) {\n x = {\n id: y[i].id,\n url: y[i].url,\n name: y[i].name,\n };\n col3.push(x);\n } else {\n x = {\n id: null,\n url: '',\n name: null,\n };\n col3.push(x);\n }\n }\n\n const newArray = [];\n\n for (let i = 0; i < Col1Count; i += 1) {\n newArray.push(col1[i]);\n if (col2[i] !== undefined) {\n newArray.push(col2[i]);\n }\n if (col3[i] !== undefined) {\n newArray.push(col3[i]);\n }\n }\n\n return newArray;\n };\n\n return (\n {\n changeMegaMenu(ActiveMegaMenu);\n }}\n >\n \n \n {megaMenu.megaMenu.map((megaMenuItem) => {\n return ActiveMegaMenu === megaMenuItem.name ? (\n \n {arrangeMenuItems(megaMenuItem.menu).map(menu => (\n
\n {\n changeMegaMenu(`${menu.id}`);\n }}\n >\n {menu.id !== null && }\n {menu.name}\n \n
\n ))}\n
\n ) : (\n ''\n );\n })}\n
\n
\n \n );\n};\n\n// Proptypes\nMegaMenu.propTypes = {\n MegaMenuVisible: PropTypes.bool.isRequired,\n ActiveMegaMenu: PropTypes.string.isRequired,\n size: PropTypes.string.isRequired,\n megaMenu: PropTypes.shape({\n megaMenu: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n menu: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })),\n }).isRequired,\n ).isRequired,\n }).isRequired,\n changeMegaMenu: PropTypes.func.isRequired,\n};\n\nexport default MegaMenu;\n","// Import Node Modules\nimport styled from 'styled-components';\nimport { Link } from 'gatsby';\n\n// Import Guides\nimport * as Variables from '../Variables';\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Components\nexport const SideNav = styled.div`\n display:block;\n ${media.tabletP`\n display:none;\n `};\n\n height: calc(100% - 53px);\n width: ${({ open }) => (open ? 100 : 0)}%;\n position: fixed;\n z-index: 100;\n top: ${Variables.level1 + 3}px;\n right: 0;\n background-color: ${props => props.color};\n overflow-x: hidden;\n transition: 0.5s;\n text-align: left;\n button,\n a {\n text-align: left;\n font-size: 20px;\n display: block;\n transition: 0.3s;\n width: 100%;\n color: white;\n &:hover {\n color: ${ColorGuide.white};\n }\n &:visited {\n color: white;\n }\n }\n`;\n\nexport const MobileMenuItem = styled.div`\n color: ${ColorGuide.white};\n padding: 5px auto;\n text-align: center;\n white-space: nowrap;\n ${props => (props.item === props.test ? '' : 'background-color:white;')};\n ${props => (props.item === props.test ? '' : 'color:black;')};\n\n font-size: 12px;\n`;\n\nexport const TabMenuItem = styled.div`\n height: ${Variables.level1}px;\n line-height: ${Variables.level1}px;\n font-size: 12px;\n`;\n\nexport const SideNavContent = styled.div`\n padding: 5px 0;\n`;\n\nexport const ArrowIcon = styled.img.attrs({\n alt: 'Arrow',\n})`\n float: right;\n margin-top: 5px;\n`;\n\nexport const SideBarItem = styled.div`\n border-bottom: 1px solid ${ColorGuide.lightGray};\n padding: 12px 20px;\n button {\n background-color:transparent;\n border:none;\n }\n`;\n\nexport const BottomLinks = styled(Link)`\n background-color: ${ColorGuide.darkGray};\n font-size: 14px !important;\n padding: 8px 20px;\n`;\n\nexport const ExLinks = styled.a`\n background-color: ${ColorGuide.darkGray};\n font-size: 14px !important;\n padding: 8px 20px;\n`;\n\nexport const BackBtn = styled.div`\n font-size: 16px;\n font-weight: 500;\n width: 100%;\n text-align: left;\n padding: 30px 20px;\n color: ${ColorGuide.darkGray};\n white-space: nowrap;\n`;\n\nexport const ArrowIconLeft = styled.img.attrs({\n alt: 'Arrow Left',\n})`\n position: relative;\n top: 2px;\n margin-right: 10px;\n transform: scaleX(-1);\n`;\n\nexport const MobileMegaMenuItem = styled(Link)`\n color: ${ColorGuide.white} !important;\n font-size: 16px !important;\n font-weight: 500;\n cursor: pointer;\n align-self: center;\n padding: 12px 20px;\n border-top: 1px solid ${ColorGuide.aquaMedium};\n\n &:last-child {\n border-bottom: 1px solid ${ColorGuide.aquaMedium};\n }\n\n &:hover {\n color: ${ColorGuide.lightGray} !important;\n }\n`;\n","// Import Node Modules\nimport React from 'react';\nimport styled from 'styled-components';\nimport { navigate } from 'gatsby';\nimport PropTypes from 'prop-types';\n\n// Import icon\nimport SearchIcon from '../../../../assets/Icons/svg/icon_Search_Blue.svg';\n\n// Styled-Components\n\nconst Container = styled.div`\n background-color: white;\n border-radius: 7px;\n width: 90%;\n margin: 10px auto;\n`;\n\nconst Icon = styled.img.attrs({\n alt: 'Search Icon',\n})`\n width: 24px;\n height: 24px;\n position: relative;\n top: 6px;\n left: 10px;\n`;\n\nconst StyledInput = styled.input`\n width: calc(100% - 30px) !important;\n margin-top: 0px !important;\n &:focus {\n border: 1px solid white !important;\n }\n`;\n\n// Class\nclass SearchBar extends React.Component {\n constructor(props) {\n super(props);\n this.state = { value: '' };\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n handleChange(event) {\n this.setState({ value: event.target.value });\n }\n\n handleSubmit(event) {\n const { value } = this.state;\n const { path } = this.props;\n navigate(`${path}#searchUrl=${value}`);\n event.preventDefault();\n global.document.body.style.overflow = 'auto';\n }\n\n render() {\n const { value } = this.state;\n return (\n
\n \n {/* Disabled because styled input is not recognized */}\n {/* eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control */}\n \n \n \n );\n }\n}\n\n// Proptypes\nSearchBar.propTypes = {\n path: PropTypes.string.isRequired,\n};\n\nexport default SearchBar;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\n\n// Import Common Components\nimport { Columns } from '../../../CommonComponents';\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\nimport { Consumer as LoginContext } from '../../../../Context/loginContext';\n\n// Import Styled-components\nimport {\n SideNav,\n MobileMenuItem,\n TabMenuItem,\n SideNavContent,\n BottomLinks,\n ExLinks,\n BackBtn,\n ArrowIcon,\n SideBarItem,\n ArrowIconLeft,\n MobileMegaMenuItem,\n} from '../StyledComponents/Sidebar';\n\nimport SearchBar from './SearchBar';\n\n// Import Icon\nimport BlueArrow from '../../../../assets/Icons/svg/icon_Arrow_Right_Blue.svg';\nimport BlackArrow from '../../../../assets/Icons/svg/icon_Arrow_Right_DarkGray.svg';\n\n// Component Class SideBar\nconst SideBar = (props) => {\n const {\n open,\n ActiveMenu,\n menu,\n megaMenu,\n closeAll,\n closeNav,\n openNav,\n changeMobileMenu,\n\n } = props;\n\n const checkLink = (menus) => {\n return menus.internal !== true ? (\n {\n closeAll();\n }}\n >\n {menus.name}\n \n ) : (\n {\n closeAll();\n }}\n >\n {menus.name}\n \n );\n };\n\n return (\n
\n \n \n {menu.menus.subMenus.map((menus) => {\n return menus.display === 'Always' ? (\n changeMobileMenu(menus.id)}\n item={menus.id}\n test={ActiveMenu}\n >\n {menus.name}\n \n ) : (\n ''\n );\n })}\n \n \n {menu.menus.subMenus.map((menus) => {\n return ActiveMenu === menus.id ? (\n
\n \n {\n closeAll();\n }}\n >\n {menus.name} forside\n \n \n \n {menus.menuItems.map(menuItems => (\n \n openNav(`Sidenav_${menuItems.name}`)}\n >\n {menuItems.name}\n \n \n \n ))}\n
\n ) : (\n ''\n );\n })}\n
\n\n \n \n {({ isLoggedIn, homeUrl }) => (\n isLoggedIn\n ? (\n \n Dine tal\n \n )\n : (\n
\n )\n )}\n \n {menu.menus.subMenus.map((menus) => {\n return menus.display !== 'Always' ? (\n checkLink(menus)\n ) : (\n ''\n );\n })}\n \n\n {megaMenu.megaMenu.map(megaMenuItem => (\n \n closeNav(`Sidenav_${megaMenuItem.name}`)}\n >\n \n Tilbage\n \n
\n {megaMenuItem.menu.map(ItemMenu => (\n {\n closeAll();\n }}\n >\n {ItemMenu.name}\n \n ))}\n
\n \n ))}\n
\n );\n};\n\n// Proptypes\nSideBar.propTypes = {\n open: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n })).isRequired,\n ActiveMenu: PropTypes.string.isRequired,\n menu: PropTypes.shape({\n searchUrl: PropTypes.string.isRequired,\n loginUrl: PropTypes.string.isRequired,\n menus: PropTypes.shape({\n subMenus: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n display: PropTypes.string,\n internal: PropTypes.bool,\n menuItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n })),\n })).isRequired,\n }).isRequired,\n }).isRequired,\n megaMenu: PropTypes.shape({\n megaMenu: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n menu: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })),\n }).isRequired,\n ).isRequired,\n }).isRequired,\n closeAll: PropTypes.func.isRequired,\n closeNav: PropTypes.func.isRequired,\n openNav: PropTypes.func.isRequired,\n changeMobileMenu: PropTypes.func.isRequired,\n\n};\n\nexport default SideBar;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Import Variables\nimport * as Variables from '../Variables';\nimport * as ColorGuide from '../../../../cssGuides/colorGuide';\nimport { media } from '../../../../cssGuides/MediaQuerys';\n\n// Styled-components\nexport const NavBarContainer = styled.nav`\n width: 100%;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 100;\n transition: top 0.5s;\n max-height: ${Variables.level2};\n`;\n\nexport const NavBar = styled.div`\n background-color: ${ColorGuide.darkGray};\n display: block;\n width: 100%;\n transition: all 0.3s;\n height: ${Variables.level1}px;\n\n ${media.tabletP`\n height: ${props => (props.collapse ? '120px' : '150px')};\n `}\n`;\n\nexport const ClearSpaceBehindNav = styled.div`\n height: 50px;\n ${media.tabletP`\n height: 150px;\n `}\n`;\n\nexport const ColorBar = styled.div.attrs({\n role: 'none',\n})`\n width: 100%;\n height: 3px;\n background-color: ${props => props.theme.PrimaryColor};\n ${media.tabletP`height: 8px;`};\n`;\n","// Import Node Modules\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import Common Components\nimport { FullWrapperSide, Wrapper } from '../../CommonComponents';\n\nimport { isMobileOnClient } from '../../../template/helperFunctions';\n\n// Import Components\nimport MainMenu from './Components/MainMenu';\nimport MainMenuBar from './Components/MainMenuBar';\nimport Desktop from './Components/Desktop';\nimport Mobile from './Components/Mobile';\nimport MegaMenu from './Components/MegaMenu';\nimport SideBar from './Components/SideBar';\n\n// Import Styled-components\nimport {\n NavBarContainer,\n NavBar,\n ClearSpaceBehindNav,\n ColorBar,\n} from './StyledComponents/Navigation';\n\n// Import Variables\n// import * as Variables from './Variables';\n\n// Navigation Class\nclass Navigation extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n showNav: true,\n navHeight: this.getNavHeight(),\n // navHeight: 0,\n collapseNav: false,\n MegaMenuVisible: false,\n ActiveMegaMenu: '',\n ActiveMenu: props.page,\n isLoaded: props.isLoaded,\n open: [],\n };\n this.prevScrollpos = global.scrollY;\n this.handleNavResize = this.handleNavResize.bind(this);\n this.onScroll = this.onScroll.bind(this);\n this.changeMenu = this.changeMenu.bind(this);\n this.changeMegaMenu = this.changeMegaMenu.bind(this);\n this.openNav = this.openNav.bind(this);\n this.closeNav = this.closeNav.bind(this);\n this.closeAll = this.closeAll.bind(this);\n this.changeMobileMenu = this.changeMobileMenu.bind(this);\n }\n\n componentDidMount() {\n this.handleNavResize();\n global.addEventListener('resize', this.handleNavResize);\n global.addEventListener('scroll', this.onScroll);\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n global.removeEventListener('scroll', this.onScroll);\n }\n\n handleNavResize() {\n this.setState({\n navHeight: this.getNavHeight(),\n });\n }\n\n onScroll() {\n const {\n open,\n MegaMenuVisible,\n navHeight,\n showNav,\n } = this.state;\n\n const anyOpen = open.length > 0;\n\n if (anyOpen === false) {\n const currentScrollPos = Math.max(global.scrollY, 0);\n const showNavVar = this.prevScrollpos > currentScrollPos || currentScrollPos === 0;\n if (currentScrollPos >= navHeight) {\n if (showNav !== showNavVar) {\n if (MegaMenuVisible === false) {\n this.setState({\n showNav: showNavVar,\n });\n }\n }\n this.prevScrollpos = currentScrollPos;\n } else if (!showNav) {\n this.setState({\n showNav: true,\n });\n }\n }\n }\n\n getNavHeight() {\n return isMobileOnClient() ? 50 : 150;\n }\n\n // Menu Functions\n changeMenu(x) {\n this.setState({\n ActiveMenu: x,\n ActiveMegaMenu: '',\n MegaMenuVisible: false,\n });\n }\n\n // MegaMenu functions\n changeMegaMenu(x) {\n const { MegaMenuVisible, ActiveMegaMenu } = this.state;\n if (MegaMenuVisible === false) {\n this.setState({\n MegaMenuVisible: true,\n });\n }\n if (x === ActiveMegaMenu) {\n this.setState({\n MegaMenuVisible: !MegaMenuVisible,\n ActiveMegaMenu: '',\n });\n } else {\n this.setState({\n ActiveMegaMenu: x,\n });\n }\n }\n\n // Sidebar Navigation functions\n openNav(id) {\n const { open } = this.state;\n this.setState({\n open: [...open, id],\n });\n global.document.body.style.overflow = 'hidden';\n }\n\n closeNav(id) {\n const { open } = this.state;\n this.setState({\n open: open.filter(s => s !== id),\n });\n }\n\n closeAll() {\n this.setState({\n open: [],\n });\n global.document.body.style.overflow = 'auto';\n }\n\n changeMobileMenu(x) {\n this.setState({\n ActiveMenu: x,\n });\n }\n\n // Render\n render() {\n const {\n menu,\n megaMenu,\n size,\n loggedIn,\n } = this.props;\n\n const {\n showNav,\n collapseNav,\n navHeight,\n ActiveMenu,\n ActiveMegaMenu,\n isLoaded,\n open,\n MegaMenuVisible,\n } = this.state;\n\n return (\n <>\n \n \n \n \n \n \n {navHeight === 150 ? (\n \n )\n : (\n \n )\n }\n \n \n \n \n {navHeight === 150\n && (\n \n )}\n \n \n\n \n\n \n \n );\n }\n}\n\n// Proptypes\nNavigation.propTypes = {\n size: PropTypes.string.isRequired,\n loggedIn: PropTypes.string,\n isLoaded: PropTypes.string,\n page: PropTypes.string,\n menu: PropTypes.shape({\n searchUrl: PropTypes.string.isRequired,\n loginUrl: PropTypes.string.isRequired,\n menus: PropTypes.shape({\n subMenus: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n display: PropTypes.string,\n internal: PropTypes.bool,\n menuItems: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n })),\n })).isRequired,\n }).isRequired,\n }).isRequired,\n megaMenu: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n menu: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })),\n }).isRequired,\n};\n\nNavigation.defaultProps = {\n page: undefined,\n loggedIn: undefined,\n isLoaded: undefined,\n};\n\nexport default Navigation;\n","import { useContext } from 'react';\nimport PuzzelContext from './PuzzelContext';\n\nconst ChatView = ({ children }) => {\n const {\n open, onClickOpen, visible,\n } = useContext(PuzzelContext);\n\n return children({\n status: open ? 'open' : 'closed',\n visible,\n onClickOpen,\n }) || null;\n};\n\nexport default ChatView;\n","// Import Node Modueles\nimport styled from 'styled-components';\n\n// Import CSS Guides\nimport * as ColorGuide from '../../../cssGuides/colorGuide';\nimport { media } from '../../../cssGuides/MediaQuerys';\n\nexport const ToolsContainer = styled.div`\n position: ${props => (props.pos === 'check' ? 'relative' : 'fixed')};\n bottom: 20px;\n right: 0px;\n z-index: 3000;\n pointer-events: none;\n display: none;\n ${media.tabletP`\n display: block;\n `};\n`;\n\nexport const Container = styled.div`\n width: 590px;\n height: 350px;\n overflow: hidden;\n box-shadow: ${ColorGuide.shadow};\n background-color: white;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n padding: 100px 20px;\n position: relative;\n opacity: ${({ visible }) => (visible ? '1' : '0')};\n transition: all 0.3s;\n top: ${props => (props.visible ? '0px' : '100px')};\n`;\n\nexport const Wrapper = styled.div`\n width: 2200px;\n transform: translate3d(0, 0, 0);\n transition: transform 0.5s ease-in-out;\n`;\n\nexport const Content = styled.div`\n width: 590px;\n height: 350px;\n text-align: center;\n position: relative;\n a {\n pointer-events: auto;\n }\n`;\n\nexport const CloseBtn = styled.div`\n width: 40px;\n height: 40px;\n pointer-events: auto;\n position: absolute;\n top: -85px;\n right: 35px;\n background-color: ${props => props.theme.PrimaryColor};\n color: ${ColorGuide.white};\n border-radius: 50%;\n cursor: pointer;\n font-size: 24px;\n transform: rotate(45deg);\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\n// NavLinks\n\nexport const NavLinks = styled.div`\n position: relative;\n opacity: ${({ menu }) => (menu ? '1' : '0')};\n transition: all 0.3s;\n text-align: right;\n width: 590px;\n ul {\n margin: 0px;\n padding: 0px;\n display: inline-block;\n box-shadow: ${ColorGuide.shadow};\n border-top-left-radius: ${({ visible }) => (visible ? '0' : '4')}px;\n border-bottom-left-radius: 4px;\n }\n\n li {\n float: left;\n pointer-events: auto;\n }\n\n ul li {\n padding-left: 0px;\n &:before {\n content: '';\n }\n\n cursor: pointer;\n\n font-size: 12px;\n width: 90px;\n height: 90px;\n background-color: ${ColorGuide.aqua};\n border-right: ${ColorGuide.white} 1px solid;\n overflow: hidden;\n &:first-child {\n border-top-left-radius: ${({ visible }) => (visible ? '0' : '4')}px;\n border-bottom-left-radius: 4px;\n }\n &:last-child {\n border-right: none;\n }\n }\n ul li.active {\n color: red;\n }\n ul li img {\n pointer-events: none;\n\n margin-left: 8.4px;\n }\n`;\n\nexport const BtnContainer = styled.div`\n padding-top: 17px;\n width: 90px;\n height: 90px;\n text-align: center;\n\n color: ${({ show, module }) => (show === module ? ColorGuide.darkGray : ColorGuide.white)};\n\n background-color: ${({ show, module, theme }) => (show === module ? ColorGuide.white : theme.PrimaryColor)};\n\n img {\n width: 30px;\n }\n`;\n\nexport const Servicemeddelelse = styled.li`\n width: 320px !important;\n`;\n\nexport const ServicemeddelelseContent = styled.div`\n border: 2px solid ${({ theme }) => theme.PrimaryColor};\n background-color: ${ColorGuide.white};\n padding: 5px 5px 5px 5px;\n text-align: left;\n height: 100%;\n cursor: initial;\n text-indent: 0;\n p {\n margin: 0;\n font-size: 14px;\n text-indent: 0;\n }\n`;\n","// Component : DesktopTools\n\n// Import Node Modules\nimport React, { Component } from 'react';\nimport { navigate } from 'gatsby';\nimport PropTypes from 'prop-types';\nimport ChatView from './ChatView';\n\n// Import Icons\nimport chatIconBlack from '../../../assets/Icons/png/sticky_chat_black.png';\nimport ringIconBlack from '../../../assets/Icons/png/sticky_phone_black.png';\nimport postIconBlack from '../../../assets/Icons/png/sticky_post_black.png';\nimport chatIconWhite from '../../../assets/Icons/png/sticky_chat_white.png';\nimport ringIconWhite from '../../../assets/Icons/png/sticky_phone_white.png';\nimport postIconWhite from '../../../assets/Icons/png/sticky_post_white.png';\n\nimport {\n ToolsContainer,\n Container,\n Wrapper,\n Content,\n NavLinks,\n BtnContainer,\n CloseBtn,\n Servicemeddelelse,\n ServicemeddelelseContent,\n} from './styledcomponents';\n\nclass DesktopTools extends Component {\n constructor(props) {\n super(props);\n this.state = {\n visible: false,\n module: null,\n menu: true,\n isClient: false,\n };\n this.endPage = this.endPage.bind(this);\n }\n\n componentDidMount() {\n this.setState({ isClient: true })\n global.addEventListener('scroll', this.endPage);\n\n // Animation between screens\n const links = global.document.querySelectorAll('.itemLinks');\n const wrapper = global.document.querySelector('#wrapper');\n\n function removeActiveLinks() {\n for (let i = 0; i < links.length; i += 1) {\n links[i].classList.remove('active');\n }\n }\n\n // vendor prefix management\n function getSupportedPropertyName(properties) {\n for (let i = 0; i < properties.length; i += 1) {\n if (typeof global.document.body.style[properties[i]] !== 'undefined') {\n return properties[i];\n }\n }\n return null;\n }\n\n const transforms = [\n 'transform',\n 'msTransform',\n 'webkitTransform',\n 'mozTransform',\n 'oTransform',\n ];\n\n const transformProperty = getSupportedPropertyName(transforms);\n\n function changePosition(link) {\n const position = link.getAttribute('data-pos');\n const translateValue = `translate3d(${position}, 0px, 0)`;\n wrapper.style[transformProperty] = translateValue;\n\n link.classList.add('active');\n }\n\n function setClickedItem(e) {\n removeActiveLinks();\n const clickedLink = e.target;\n changePosition(clickedLink);\n }\n\n for (let i = 0; i < links.length; i += 1) {\n const link = links[i];\n link.addEventListener('click', setClickedItem, false);\n link.itemID = i;\n }\n }\n\n componentWillUnmount() {\n global.removeEventListener('scroll', this.endPage);\n }\n\n handleToggle(e) {\n let setVar = false;\n let mod = null;\n const { module, visible } = this.state;\n\n if (e === module) {\n setVar = !visible;\n mod = null;\n } else {\n setVar = true;\n mod = e;\n }\n\n this.setState({\n module: mod,\n visible: setVar,\n });\n }\n\n endPage() {\n if (\n global.window.innerHeight + global.window.scrollY\n >= global.document.body.scrollHeight - 175\n ) {\n this.setState({\n menu: false,\n });\n } else {\n this.setState({\n menu: true,\n });\n }\n }\n\n render() {\n const { data, pos } = this.props;\n const { visible, menu, module, isClient } = this.state;\n\n let startDate;\n let slutDate;\n const toDay = new Date();\n\n if (data.serviceMessage !== undefined) {\n startDate = new Date(data.serviceMessage.start);\n slutDate = new Date(data.serviceMessage.end);\n }\n\n return (\n \n \n \n {data.ring && (\n \n
\n this.handleToggle('Ring')}>\n ╋\n \n \n )}\n \n \n\n \n
    \n \n {/* if chat is visible all icons are hidden */}\n {({ status: chatStatus, onClickOpen, visible: chatVisible }) => !chatVisible && (\n <>\n {data.serviceMessage && startDate <= toDay && slutDate >= toDay && (\n \n \n \n )}\n {data.chat && chatStatus === 'open' && (\n \n \n \n
    \n {data.chat.text}\n \n \n )}\n {data.ring && (\n this.handleToggle('Ring')}\n role=\"none\"\n key={`ring-${chatStatus}`}\n >\n \n \n
    \n {data.ring.text}\n \n \n )}\n {data.bestil && (\n navigate(data.bestil.url)}\n role=\"none\"\n key={`bestil-${chatStatus}`}\n >\n \n \n
    \n {data.bestil.text}\n \n \n )}\n \n )}\n
    \n
\n
\n \n );\n }\n}\n\nDesktopTools.propTypes = {\n pos: PropTypes.string,\n data: PropTypes.shape({\n bestil: PropTypes.shape({\n text: PropTypes.string,\n url: PropTypes.string,\n }),\n chat: PropTypes.shape({\n offlineText: PropTypes.string,\n text: PropTypes.string,\n }),\n ring: PropTypes.shape({\n info: PropTypes.string,\n text: PropTypes.string,\n }),\n serviceMessage: PropTypes.shape({\n start: PropTypes.string,\n end: PropTypes.string,\n text: PropTypes.string,\n }),\n }).isRequired,\n};\n\nDesktopTools.defaultProps = {\n pos: 'fixed',\n};\n\nexport default DesktopTools;\n","import React, { createContext, useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CookieContext = createContext({\n given: {},\n});\n\n// Based on category list from\n// https://support.cookieinformation.com/hc/en-us/articles/360017912412-3-4-Cookie-Control-SDK-and-Inline-script\nconst consents = {\n cookie_cat_functional: 'functional',\n cookie_cat_statistic: 'statistic',\n cookie_cat_marketing: 'marketing',\n};\n\nconst getCategory = (cat) => {\n if (!global.CookieInformation) {\n return false;\n }\n return global.CookieInformation.getConsentGivenFor(cat);\n};\n\nconst getGiven = () =>\n Object.entries(consents).reduce(\n (output, [cat, name]) => ({\n ...output,\n [name]: getCategory(cat),\n }),\n {}\n );\n\nconst CookieProvider = ({ children }) => {\n const [given, setGiven] = useState(getGiven());\n if (global.addEventListener) {\n global.addEventListener('CookieInformationConsentGiven', () => {\n setGiven(getGiven());\n });\n }\n\n const contextProps = useMemo(() => ({ given }), [given]);\n\n return (\n \n {children}\n \n );\n};\n\nCookieProvider.propTypes = {\n children: PropTypes.node,\n};\n\nCookieProvider.defaultProps = {\n children: undefined,\n};\n\nexport { CookieProvider };\n\nexport default CookieContext;\n","// Import Node Modules\nimport React from 'react';\nimport Helmet from 'react-helmet';\nimport { ThemeProvider } from 'styled-components';\n\n// Import Default Prop-Types\nimport DefaultPropTypes from './DefaultPropTypes';\n\n// Import Components\nimport { FullWrapper } from '../components/CommonComponents/index';\nimport Footer from '../components/LayoutComponents/FooterComponent/index';\nimport Navigation from '../components/LayoutComponents/NavBarComponent/index';\nimport DesktopTools from './components/DesktopTools/index';\nimport { CookieProvider } from '../components/CommonComponents/CookieConsent/Context';\n\n// Import LoginContext\nimport { Provider as LoginProvider } from '../Context/loginContext';\n\n// Import GlobalStyles\nimport GlobalStyle from '../cssGuides/GlobalStyles/index';\n\n// Import Themes\nimport themes from '../theme/index';\n\nimport { isProduction } from \"./helperFunctions\";\n\n// Variables\nconst sizeWrapper = '100%';\n\nconst disallowedIframeDomains = [\n 'www.sampension.dk',\n 'sampension.dk',\n 'www.isp.dk',\n 'isp.dk',\n 'www.arkitektpension.dk',\n 'arkitektpension.dk',\n 'www.pjdpension.dk',\n 'pjdpension.dk',\n 'web-dev.sampension.dk',\n 'web-test.sampension.dk',\n 'web-staging.sampension.dk',\n];\n\nconst links = [\n {\n rel: 'stylesheet',\n type: 'text/css',\n href: 'https://fonts.googleapis.com/css?family=Montserrat:300:400,500,700',\n },\n];\n\nif (\n global.top\n && global.top.location\n && global.top !== global.self\n) {\n try {\n if (disallowedIframeDomains.includes(global.top.location.hostname) && !global.top.location.pathname.startsWith('/Composite/')) {\n global.top.location.href = global.location.href;\n }\n } catch (err) {\n global.top.postMessage({\n type: 'external-navigation',\n payload: {\n href: global.location.href,\n },\n });\n console.error('Could not break iframe, trying post message API'); // eslint-disable-line\n }\n}\n\n// Common stuff\nexport class CustomLayout extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n this.handleFirstTab = this.handleFirstTab.bind(this);\n this.handleMouseDownOnce = this.handleMouseDownOnce.bind(this);\n }\n\n componentDidMount() {\n global.addEventListener('keydown', this.handleFirstTab);\n }\n\n componentWillUnmount() {\n global.removeEventListener('keydown', this.handleFirstTab);\n global.removeEventListener('mousedown', this.handleMouseDownOnce);\n }\n\n handleFirstTab(e) {\n if (e.keyCode === 9) {\n global.document.body.classList.add('user-is-tabbing');\n global.removeEventListener('keydown', this.handleFirstTab);\n global.addEventListener('mousedown', this.handleMouseDownOnce);\n }\n }\n\n handleMouseDownOnce() {\n global.document.body.classList.remove('user-is-tabbing');\n global.removeEventListener('mousedown', this.handleMouseDownOnce);\n global.addEventListener('keydown', this.handleFirstTab);\n }\n\n render() {\n const { data, children } = this.props;\n const theme = themes[data.theme || process.env.GATSBY_THEME || 'sampension'];\n const ogMeta = [{\n property: 'og:title',\n content: data.pageTitle,\n }, {\n property: 'og:type',\n content: 'website',\n }];\n if (data.pageDescription) {\n ogMeta.push({\n property: 'og:description',\n content: data.pageDescription,\n });\n }\n ogMeta.push({\n property: 'og:image',\n content: data.ogData && data.ogData.image ? data.ogData.image : `https://${theme.Domaine}${theme.SquareLogo}`,\n });\n return (\n \n {\n // NOTE: we reload the page to do a full state refresh\n global.location.href = theme.StartUrl\n }}\n >\n \n \n \n \n {isProduction() && } \n \n \n \n
\n \n {children}\n {data.desktopTools && }\n
\n \n
\n {/* */}\n
\n \n \n \n );\n }\n}\n\n// Proptypes\nCustomLayout.propTypes = DefaultPropTypes;\n\nexport default CustomLayout;\n","// Import Node Modules\nimport styled, { css } from 'styled-components';\n\n// Import Color Guide\nimport * as ColorGuide from '../../cssGuides/colorGuide';\n// import { media } from '../../cssGuides/MediaQuerys';\n\n// Import Components\nimport { Wrapper } from '../../components/CommonComponents/index';\n\n// Styled Components\n\n// export const BottomBorder = styled.div`\n// height: 20px;\n// width: 100%;\n// background-color: white;\n// position: fixed;\n// bottom: 0px;\n// left: 0px;\n// z-index: 2000;\n// display:none;\n// ${media.tabletP`\n// display: block;\n// `};\n// ${media.tabletL`\n\n// `};\n// ${media.desktop`\n\n// `};\n// `;\n\nconst commonWrapperCSS = css`\n background-color: ${ColorGuide.lightGray};\n`;\n\nexport const FrontPageWrapper = styled(Wrapper)`\n ${commonWrapperCSS};\n`;\n\nexport const Template2Wrapper = styled(Wrapper)`\n ${commonWrapperCSS};\n ${props => (props.displayHeader ? '' : 'padding-top:20px;')};\n padding-bottom: 20px;\n`;\n\nexport const Template3Wrapper = styled(Wrapper)`\n ${commonWrapperCSS};\n ${props => (props.displayHeader ? '' : 'padding-top:20px;')};\n padding-bottom: ${props => (props.bottomContent ? '' : '20px')};\n`;\n\nexport const FullWidthWrapper = styled.div.attrs({\n role: 'none',\n})`\n ${commonWrapperCSS};\n flex: 1;\n`;\n","// Import Node Modules\nimport React from 'react';\n\n// Import Default Prop-Types\nimport DefaultPropTypes from './DefaultPropTypes';\n\nimport { isMobileOnClient } from './helperFunctions';\n\n// Import Components\nimport { CustomLayout } from './CustomLayout';\nimport Overlay from './Overlay';\n\n// Import Styled-Components\nimport { FrontPageWrapper } from './components/Wrappers';\n\n// Template #1\nclass Template1 extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n mobile: isMobileOnClient(),\n };\n this.handleNavResize = this.handleNavResize.bind(this);\n }\n\n componentDidMount() {\n global.addEventListener('resize', this.handleNavResize);\n this.handleNavResize();\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize() {\n this.setState({\n mobile: isMobileOnClient(),\n });\n }\n\n render() {\n const { children, data } = this.props;\n const { mobile } = this.state;\n\n return (\n \n \n {data.bannerImage ? (\n
\n {mobile ? (\n \n ) : (\n \n )}\n
\n ) : (\n ''\n )}\n {children}\n
\n
\n );\n }\n}\n\n// Proptypes\nTemplate1.propTypes = DefaultPropTypes;\n\nexport default Template1;\n","// Import Node Modules\nimport styled from 'styled-components';\n\n// Import Color Guide\nimport * as ColorGuide from '../../cssGuides/colorGuide';\n\n// Media Query Variables\nimport { media } from '../../cssGuides/MediaQuerys';\n\n// Variables\nconst sizeContent = '1060px';\n\n// Common Styles\n\nconst Content = styled.div`\n overflow: visible;\n position: relative;\n margin: 0 auto;\n border-radius: 7px;\n width: 95%;\n ${props => (props.displayHeader ? 'margin-top:20px' : 'margin-top:0px')};\n\n ${media.tabletP`\n border-radius: 10px;\n width: 100%;\n `};\n\n ${media.desktop`\n border-radius: 15px;\n width: ${sizeContent};\n `};\n`;\n\n// Styled Components\nexport const Template2Content = styled(Content)`\n ${media.desktop`\n margin-top: ${props => props.displayHeader}px\n `};\n`;\n\nexport const Template3Content = styled(Content)`\n background: ${ColorGuide.white};\n width: 95%;\n\n padding: 20px 20px 10px 20px;\n\n ${media.tabletP`\n padding: 50px 50px 10px 50px;\n `};\n ${media.tabletL`\n padding: 60px 60px 20px 60px;\n `};\n ${media.desktop`\n width: ${sizeContent};\n padding: 80px 80px 20px 80px;\n margin-top: ${props => props.displayHeader}px\n `};\n`;\n","// Import Node Modules\nimport React from 'react';\n\n// Import Default Prop-Types\nimport DefaultPropTypes from './DefaultPropTypes';\n\n// Import Components\nimport { CustomLayout } from './CustomLayout';\n\n// Import Helper Functrion\nimport { GetDisplayHeader, RenderContent, isMobileOnClient } from './helperFunctions';\n\n// Import Styled-Components\nimport { Template2Wrapper } from './components/Wrappers';\nimport { Template2Content } from './components';\n\n// Template #2\nclass Template2 extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n mobile: isMobileOnClient(),\n };\n this.handleNavResize = this.handleNavResize.bind(this);\n }\n\n componentDidMount() {\n this.handleNavResize();\n global.addEventListener('resize', this.handleNavResize);\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize() {\n this.setState({\n mobile: isMobileOnClient(),\n });\n }\n\n render() {\n const { children, data } = this.props;\n const displayHeader = GetDisplayHeader(data);\n const { mobile } = this.state;\n return (\n \n \n {data.bannerImage ? RenderContent(data, mobile) : ''}\n \n {children}\n \n {data.bottomContent}\n \n \n );\n }\n}\n\n// Proptypes\nTemplate2.propTypes = DefaultPropTypes;\n\nexport default Template2;\n","// Import Node Modules\nimport React from 'react';\n\n// Import Default Prop-Types\nimport DefaultPropTypes from './DefaultPropTypes';\n\n// Import Components\nimport { CustomLayout } from './CustomLayout';\nimport { HistoryBack } from '../components/CommonComponents/index';\n\n// Import Helper Functrion\nimport { GetDisplayHeader, RenderContent, isMobileOnClient } from './helperFunctions';\n\n// Import Styled-Components\nimport { Template3Wrapper } from './components/Wrappers';\nimport { Template3Content } from './components';\n\n// Template #3\nclass Template3 extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n mobile: isMobileOnClient(),\n };\n this.handleNavResize = this.handleNavResize.bind(this);\n }\n\n componentDidMount() {\n global.addEventListener('resize', this.handleNavResize);\n this.handleNavResize();\n }\n\n componentWillUnmount() {\n global.removeEventListener('resize', this.handleNavResize);\n }\n\n handleNavResize() {\n this.setState({\n mobile: isMobileOnClient(),\n });\n }\n\n render() {\n const { children, data } = this.props;\n const displayHeader = GetDisplayHeader(data);\n const { mobile } = this.state;\n return (\n \n 0\n }\n >\n {data.bannerImage ? RenderContent(data, mobile) : ''}\n \n {data.backButton && (\n \n )}\n {children}\n \n \n {data.bottomContent}\n
\n \n \n );\n }\n}\n\nTemplate3.propTypes = DefaultPropTypes;\n\nexport default Template3;\n","// Import Node Modules\nimport React from 'react';\n\n// Import Default Prop-Types\nimport DefaultPropTypes from './DefaultPropTypes';\n\n// Import Components\nimport { CustomLayout } from './CustomLayout';\n\n// Import Styled-Components\nimport { FullWidthWrapper } from './components/Wrappers';\n\n// Template Full Width\nconst FullWidth = ({ children, data }) => (\n \n {children}\n \n);\n\n// Prop-Types\nFullWidth.propTypes = DefaultPropTypes;\n\nexport default FullWidth;\n","import * as components from './PageComponents';\nimport * as common from './CommonComponents';\nimport * as templates from '../template';\n\nconst componentsNormalized = Object.keys(components).filter(key => key !== '__esModule').reduce((output, key) => ({\n ...output,\n [key]: components[key],\n}), {});\n\nconst templatesNormalized = Object.keys(templates).filter(key => key !== '__esModule').reduce((output, key) => ({\n ...output,\n [key]: templates[key],\n}), {});\n\nconst commonsNormalized = Object.keys(common).filter(key => key !== '__esModule').reduce((output, key) => ({\n ...output,\n [key]: common[key],\n}), {});\n\nexport default {\n ...componentsNormalized,\n ...templatesNormalized,\n ...commonsNormalized,\n};\n","// Import Node Modules\n/* eslint-disable */\nimport React from 'react'\nimport Components from '../components';\nimport { isProduction } from \"./helperFunctions\";\n\nimport { PuzzelProvider } from './components/DesktopTools/PuzzelContext';\n\nconst prodPuzzelIds = {\n sampension: 'b065bb6c-9c03-4f6a-8b78-4ee21413c908',\n firma: 'b065bb6c-9c03-4f6a-8b78-4ee21413c908',\n isp: '94b01c06-59a4-491d-953e-e5fb9e01e252',\n ap: '35bd74d3-112e-4443-8b5c-aa207175ea00',\n pjd: 'be3e12fb-7e93-4074-950c-fcfad4327a80',\n};\n\n// for now all company groups share the same Id\nconst testPuzzleId = '3f9180cd-57da-4cb7-80c9-5664dd8c6249';\n\nconst testPuzzleIds = {\n sampension: testPuzzleId,\n firma: testPuzzleId,\n isp: testPuzzleId,\n ap: testPuzzleId,\n pjd: testPuzzleId,\n};\n\nconst findRenderComponent = (data, id) => {\n if (data !== null) {\n if (typeof data === 'object' && data.componentName) {\n return renderComponent(result, `${id}_${key}`)\n }\n\n if (Array.isArray(data) && data.length > 0 && data[0].componentName) {\n return data.map((c, i) => renderComponent(c, `${id}_${i}`))\n }\n }\n\n return data\n}\n\nconst renderComponent = (data, id) => {\n data.componentName = data.componentName.split('_').join('');\n const {\n componentName,\n componentData,\n componentChildren\n } = data\n\n const props = Object.keys(componentData).reduce((output, key, i) => {\n let result = findRenderComponent(componentData[key], id)\n\n return {\n ...output,\n [key]: result,\n }\n }, {})\n\n var children = [].concat(componentChildren || []).map((c, i) => renderComponent(c, `${id}_${i}`))\n\n if (!Components[componentName]) {\n throw new Error(`component ${componentName} does not exists, should be one of ${Object.keys(Components).join(', ')}`)\n }\n\n return React.createElement(Components[componentName], { ...props,\n key: id\n }, children);\n}\n\nexport const renderPage = data => {\n\n try {\n const {\n pageTemplate,\n pageContent,\n pageData\n } = data\n\n const { theme } = pageData;\n\n const puzzelIds = isProduction() ? prodPuzzelIds : testPuzzleIds;\n\n Object.keys(pageData).map((k, i) => pageData[k] = findRenderComponent(pageData[k], `root_${k}`))\n\n return (\n \n {React.createElement(\n Components[pageTemplate], {\n data: pageData\n },\n pageContent.map((c, i) => renderComponent(c, `root_${i}`)),\n )}\n \n )\n } catch (err) {\n console.error(err);\n }\n}","\nimport ReactDOM from 'react-dom';\nimport { renderPage } from './template/RenderPage';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport components from './components';\n\nexport default {\n components,\n render: () => {\n const dataElement = global.document.querySelector('script[type=\"text/react-data\"]');\n const data = JSON.parse(dataElement.innerHTML);\n const rootElement = global.document.createElement('div');\n rootElement.classList.add('react-root');\n global.document.body.appendChild(rootElement);\n ReactDOM.render(\n renderPage(data),\n rootElement,\n );\n },\n};\n"],"names":["root","factory","exports","module","define","amd","self","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","responseType","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","validator","validators","interceptors","arguments","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","push","chain","Array","apply","concat","length","shift","newConfig","onFulfilled","onRejected","error","getUri","replace","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","call","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","strictJSONParsing","isString","parse","e","maxContentLength","maxBodyLength","thisArg","args","i","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","trim","substr","callback","arr","pkg","type","thing","deprecatedWarnings","currentVerArr","version","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","isFunction","obj","l","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","a","b","str","stripBOM","content","charCodeAt","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","Symbol","for","d","f","g","k","m","n","p","q","r","t","w","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","svgNS","locationHref","initialDefaultFrame","_useWebWorker","subframeEnabled","idPrefix","expressionsPlugin","isSafari","cachedColors","bmRnd","bmPow","Math","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface","propertyNames","len","random","abs","absArr","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","flag","round","styleDiv","element","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","direction","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","s","RGBtoHSV","addSaturationToRGB","color","offset","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","BaseEvent","triggerEvent","eventName","_cbs","callbacks","removeEventListener","splice","createTypedArray","createRegularArray","Uint8ClampedArray","Float32Array","Int16Array","createNS","createElementNS","createTag","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","container","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","mode","lineCapEnum","lineJoinEnum","Matrix","_cos","cos","_sin","sin","_tan","tan","_rnd","reset","props","rotate","angle","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","sy","skew","ax","ay","skewFromAxis","scale","sz","setTransform","j","o","translate","tx","ty","tz","transform","a2","b2","c2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_p","_identityCalculated","a1","b1","c1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","p1","isIdentity","_identity","equals","matr","clone","cloneFromProps","applyToPoint","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","pool","math","global","width","startdenom","significance","overflow","mask","ARC4","keylen","me","S","count","copy","flatten","depth","typ","mixkey","seed","smear","stringseed","tostring","String","fromCharCode","shortseed","entropy","out","Uint8Array","crypto","msCrypto","getRandomValues","browser","plugins","screen","autoseed","arc4","prng","int32","quick","double","pass","is_math_call","state","BezierFactory","ob","nm","beziers","bezEasing","BezierEasing","kSampleStepSize","float32ArraySupported","aA1","aA2","B","C","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","get","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","extendPrototype","sources","destination","sourcePrototype","attr","getDescriptor","object","createProxyFunction","ProxyFunction","bezFunction","pointOnLine2D","x1","y1","x2","y2","x3","y3","det1","getBezierLength","pt4","ptCoord","perc","ptDistance","curveSegments","addedLength","point","lastPoint","lengthData","bezierLengthPool","newElement","percents","lengths","BezierData","segmentLength","PointData","partial","partialLength","storedData","buildBezierData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","dir","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","segmentsLengthPool","closed","pathV","pathO","pathI","_length","totalLength","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","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","getTime","timeToCall","clearTimeout","bez","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","onmessage","postMessage","_workerSelf","setupWorker","Worker","Blob","blob","URL","createObjectURL","createWorker","completeLayers","layers","comps","layerData","jLen","kLen","completed","tt","td","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","findCompLayers","refId","completeShapes","shapes","singleShape","__used","ks","it","checkVersion","minimum","animVersionString","animVersion","minimumVersion","checkText","iterateLayers","textLayer","documentData","animationData","assets","checkChars","chars","pathData","paths","__converted","checkPathProperties","checkColors","iterateShapes","checkShapes","completeClosingShapes","cl","moduleOb","__complete","dataFunctionManager","assetLoader","formatResponse","xhr","contentTypeHeader","getResponseHeader","load","errorCallback","err","completeData","animation","event","onComplete","onError","createProcess","loadAnimation","processId","origin","loadData","completeAnimation","anim","getFontProperties","fontData","styles","fStyle","fWeight","weight","FontManager","emptyChar","size","combinedCharacters","surrogateModifiers","zeroWidthJoiner","setUpNode","font","family","parentNode","fontFamily","node","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","appendChild","body","offsetWidth","familyArray","enabledFamilies","trimFontOptions","parent","createHelper","def","tHelper","fontProps","fFamily","textContent","fClass","getContext","Font","fonts","typekitLoaded","isLoaded","_warned","initTime","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","sum","isZeroWidthJoiner","isCombinedCharacter","char","fontPrototype","addChars","found","ch","addFonts","defs","list","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","loaded","monoCase","sansCase","fPath","fOrigin","querySelectorAll","rel","src","sc","helper","cache","getCharData","getFontByName","fName","measureText","fontName","index","doubleSize","getComputedTextLength","singleSize","loadedCount","removeChild","PropertyFactory","initFrame","mathAbs","interpolateValue","frameNum","caching","newValue","offsetTime","propType","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","lastIndex","keyframes","keyframesMetadata","endValue","quat","qx","qy","qz","qw","heading","attitude","bank","nextKeyTime","keyTime","to","ti","ind","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","omega","cosom","sinom","scale0","scale1","az","aw","bx","by","bz","bw","acos","slerp","createQuaternion","atan2","asin","values","c3","s1","s2","s3","getValueAtCurrentTime","comp","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","processEffectsSequence","elem","globalData","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","st","KeyframedMultidimensionalProperty","arrLen","getProp","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rx","ry","rz","or","sk","sa","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","frameRate","autoOriented","v1","v2","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","pointPool","doubleArrayLength","setXYAt","pos","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","init","cnt","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shape1","shape2","shapesEqual","shapePool","releaseShapes","addShape","ShapeProperty","shapeCollectionPool","newShapeCollection","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","renderer","dataProps","dashStr","dashArray","dashoffset","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","shape","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segments","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","release","processShapes","shapePaths","_s","totalShapeLength","edges","newShapesData","addShapes","lastShape","pop","addPaths","newPaths","addSegment","shapePath","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","segment","rd","processPath","clonedPath","currentV","currentI","currentO","closerV","distance","newPosPerc","amount","centerPoint","pathLength","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","items","itemsTransform","cont","hasReloaded","copies","ceil","group","ix","reloadShapes","elems","op","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","comparePoints","buildShapeString","pathNodes","_o","_i","shapeString","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","pause","resume","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","proxyImage","canvas","height","ctx","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","assetsPath","originalPath","imagePath","testImageLoaded","img","intervalId","setInterval","getBBox","_imageLoaded","clearInterval","createFootageData","footageData","_footageLoaded","ImagePreloaderFactory","images","loadAssets","cb","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","append","setCacheType","elementHelper","featureSupport","maskType","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","TextAnimatorProperty","textData","renderType","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","sw","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","animators","matrixHelper","mHelper","renderedLettersCount","letters","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","currentLine","letterM","letterP","defaultPropsArray","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","isNewLine","getMult","anIndexes","totalChars","extra","an","animatorOffset","add","rot","atan","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","text","charCode","charactersArray","shouldCombine","newLineFlag","charData","fontManager","anchorGrouping","currentSize","currentPos","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","indexes","rn","newInd","currentInd","updateDocumentData","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorPropFactory","_currentTextLength","finalS","finalE","xe","ne","sm","textProperty","easer","tot","smoothness","threshold","newCharsFlag","divisor","poolFactory","initialLength","_create","_release","pooling","cloned","shapeCollection","markerParser","parsePayloadLines","lines","keysCount","_markers","markers","_marker","markerData","time","tm","duration","dr","cm","_","__","BaseRenderer","SVGRenderer","animationItem","svgElement","ariaLabel","title","titleElement","titleId","descElement","descId","maskElement","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","contentVisibility","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","viewData","solidPath","rect","expansor","feMorph","properties","currentMasks","layerId","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","level","lvl","hd","pElem","msElem","SVGShapeData","transformers","caches","lStr","SVGTransformData","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","num","ip","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","AudioElement","FootageElement","buildAllItems","includeLayers","newLayers","setProjectInterface","pInterface","projectInterface","initItems","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","animData","fontsContainer","getAssetData","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextLottieElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","maskId","updateContainerSize","appendElementInPos","setMatte","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","nextElement","insertBefore","hide","show","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cProps","cTr","trProps","canvasContext","ctxOpacity","globalAlpha","cO","restore","save","actionFlag","cArrPos","duplicate","saved","savedOp","blendMode","popped","containerStyle","mozTransformOrigin","transformCanvas","isDashed","elementWidth","elementHeight","elementRel","animationRel","offsetHeight","par","fillType","beginPath","closePath","clip","clearRect","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","center","webkitTransform","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","svg","setup","cWidth","cHeight","webkitPerspective","perspective","floatingContainer","isFirstFrame","finalMat","finalTransform","mProp","getMaskelement","pathString","pathShapeValue","initHierarchy","_isParent","prepareProperties","isVisible","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","transforms","ptNew","initRenderable","isInRange","hidden","isTransparent","renderableComponents","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","stop","gf","cst","opacityId","opFill","lc","lj","ml","ms","ost","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","transformsManager","styledShapes","styledShape","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","_currentTime","_placeholder","textSpans","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","feMergeNode","feMerge","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feComposite","originalNodeAdded","sequence","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","effectsInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","textInterface","TextExpressionInterface","setBlendMode","blendModeValue","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","gg","layerElementParent","masker","createFilter","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","ln","cp","clipId","cpGroup","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","buildColor","colorData","emptyProp","timeRemapped","setElements","getElements","destroyElements","pr","volumeValue","FootageInterface","getFootageData","textContainer","buildTextContents","textArray","textContents","currentTextContent","tSpan","usesGlyphs","cachedSpansLength","tElement","justify","textBox","bbox","renderedLetter","textSpan","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","colorBlack","colorWhite","opacity","sigma","dimensions","sigmaX","sigmaY","edgeMode","initialize","groupPath","elemChildren","children","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","ef","filters","CVBaseElement","CVMaskElement","hasMasks","stroke","fill","currentRender","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","HEffects","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","newLength","currentSavedOp","set","createElements","globalCompositeOperation","hideElement","showElement","forceRealStack","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","drawImage","moveTo","lineTo","bezierCurveTo","transformHelper","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","strokeStyle","grd","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","lastFill","lastStroke","lastStrokeW","checkBlendMode","tg","transformedElementStyle","matrixValue","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","item","boundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","bounds","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","p3","b2ac","t2","calculateF","calculateBoundingBox","currentBoxContains","box","changed","shapeStyle","shapeTransform","compW","compH","innerElemStyle","textColor","strokeWidth","lineHeight","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","margin","svgTransform","Image","imageElem","perspectiveStyle","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","animationManager","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","isPaused","subtractPlayingCount","registerAnimation","AnimationItem","setupAnimation","setData","addPlayingCount","activate","nowTime","elapsedTime","advanceTime","first","setParams","setSpeed","setDirection","togglePause","searchAnimations","standalone","animElements","getElementsByClassName","lenAnims","getElementsByTagName","div","resize","goToAndStop","isFrame","freeze","unfreeze","getRegisteredAnimations","animations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","autoplay","loop","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","onSetupError","onSegmentComplete","animType","rendererSettings","parseInt","autoloadSegments","initialSegment","lastIndexOf","trigger","wrapperAttributes","attributes","getNamedItem","prerender","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","getMarkerData","markerName","marker","numValue","Number","isNaN","frameModifier","goToAndPlay","playSegments","nextValue","_isComplete","checkSegments","adjustSegment","setSegment","end","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getDuration","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","ExpressionManager","fetch","frames","$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","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","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","seedrandom","randSeed","substring","posterizeTime","framesPerSecond","hasParent","executeExpression","_value","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","speed","delta","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","current","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","skewAxis","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","propertyIndex","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","propertyGetShapeProp","trims","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","ShapePathInterface","view","interfaceFunction","_propertyGroup","propertyGroupFactory","PropertyInterface","defineProperties","_name","mn","parentPropertyGroup","propertyName","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","interfaces","numProperties","transformInterface","transformInterfaceFactory","cix","contentsInterfaceFactory","np","ExpressionPropertyInterface","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dash","start","outerRadius","outerRoundness","innerRoundness","innerRadius","radius","_interfaceFunction","_prevValue","_sourceText","_thisLayerFunction","sourceText","stringValue","getMatrix","toWorldMat","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","anchorPointDescriptor","TransformExpressionInterface","anchor_point","startTime","MaskManagerInterface","effects","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","propertyNameIndex","outlineInterfaceFactory","dataInterface","pixelAspect","numLayers","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_px","_py","_pz","_transformFactory","compositions","_thisProjectFunction","createGroupInterface","groupInterface","createValueInterface","enabled","en","expressionProperty","effectsData","MaskInterface","_mask","_data","_masksInterfaces","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","assign","speedAtTime","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","TextExpressionSelectorPropFactory","getValueProxy","total","propertyGetTextProp","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","effectItem","GroupEffect","eff","lottie","setLocationHref","setSubframeRendering","setIDPrefix","prefix","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","pair","useWebWorker","__getFactory","scripts","myScript","propIsEnumerable","propertyIsEnumerable","toObject","test1","test2","map","test3","letter","shouldUseNative","from","symbols","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","runClearTimeout","Item","array","noop","nextTick","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","func","string","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","aa","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","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Xa","Sa","Ta","Ra","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","Ya","E","Za","$a","ab","bb","db","eb","gb","hb","ib","jb","kb","lb","mb","iterator","nb","pb","_status","_result","qb","tag","_debugOwner","_debugSource","return","rb","sb","nodeName","xb","_valueTracker","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","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","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","kd","ld","md","setProperty","nd","menuitem","area","base","br","embed","hr","input","keygen","link","meta","param","track","wbr","od","pd","qd","sd","ud","vd","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","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","ge","he","ie","je","ke","documentMode","le","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","qe","keyCode","re","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","ue","we","date","datetime","email","month","range","tel","week","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","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","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","L","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","jg","kg","lg","mg","ng","og","_context","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","next","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","updater","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","ref","_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","action","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","R","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","hi","pendingContext","ni","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","last","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","_reactRootContainer","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","W","X","kj","mj","nj","oj","Y","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","Z","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","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","jk","kk","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","keyList","hasProp","hasElementType","equal","arrA","arrB","dateA","dateB","regexpA","regexpB","_extends","_createClass","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","_reactSideEffect2","_reactFastCompare2","_HelmetUtils","_HelmetConstants","__esModule","_objectWithoutProperties","_classCallCheck","_possibleConstructorReturn","ReferenceError","_class","_temp","HelmetSideEffects","reducePropsToState","handleClientStateChange","mapStateOnServer","HelmetExport","_React$Component","HelmetWrapper","subClass","superClass","setPrototypeOf","__proto__","_inherits","nextProps","mapNestedChildrenToProps","nestedChildren","TAG_NAMES","SCRIPT","NOSCRIPT","STYLE","cssText","flattenArrayTypeChildren","_ref","_extends2","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_extends3","_extends4","newProps","TITLE","titleAttributes","BODY","bodyAttributes","HTML","htmlAttributes","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_extends5","warnOnInvalidChildren","mapChildrenToProps","_this2","_child$props","childProps","convertReactPropstoHtmlAttributes","LINK","META","_props","canUseDOM","defaultTitle","defer","encodeSpecialCharacters","noscript","onChangeClientState","script","titleTemplate","peek","rewind","mappedState","baseTag","linkTags","metaTags","noscriptTags","scriptTags","styleTags","renderStatic","ATTRIBUTE_NAMES","BASE","HEAD","REACT_TAG_MAP","VALID_TAG_NAMES","TAG_PROPERTIES","CHARSET","CSS_TEXT","HREF","HTTPEQUIV","INNER_HTML","ITEM_PROP","NAME","PROPERTY","REL","SRC","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","DEFAULT_TITLE","DEFER","ENCODE_SPECIAL_CHARACTERS","ON_CHANGE_CLIENT_STATE","TITLE_TEMPLATE","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","_objectAssign2","clock","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","rafPolyfill","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","indexToSave","tags","headElement","head","querySelector","tagNodes","indexToDelete","styleSheet","some","existingTag","isEqualNode","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","initAttributes","_ref$title","_propTypes","_globals","inOut","make","delay","forever","collapse","collapseEl","cascade","wait","force","appear","enter","exit","fraction","refProp","innerRef","onReveal","unmountOnExit","mountOnEnter","inEffect","outEffect","ssrReveal","collapseOnly","ssrFadeout","transitionGroup","RevealBase","isOn","when","getInitialCollapseStyle","savedChild","isShown","observerMode","handleObserve","revealHandler","makeHandler","reveal","resizeHandler","saveRef","childRef","el","observe","setState","hasExited","visibility","dispatchEvent","collapseend","animationEndTimeout","getComputedStyle","getPropertyValue","getDimensionValue","animationDuration","animationDelay","unlisten","hasAppeared","cloneElement","getChild","animationEnd","invisible","onRevealTimeout","ssr","disableSsr","_slicedToArray","intersectionRatio","disconnect","observer","IntersectionObserver","globalHide","hideAll","spy","inViewport","animate","listen","isMounting","fadeOutEnabled","getTop","pageYOffset","innerHeight","whiteSpace","toArray","onExited","only","namespace","_defineProperty","ticking","raf","isListener","passive","offsetTop","offsetParent","up","down","big","mirror","opposite","lookup","Slide","animationFillMode","_wrap2","insertRule","sheet","cssRules","log","exp","counter","effectMap","ie10","IntersectionObserverEntry","appVersion","performance","timing","domLoading","createEvent","initEvent","_swipedetect2","backwards","swap","turn","handleReveal","handleSwipe","defaultWait","maxTurns","swipe","move","beforeNode","afterNode","handleClick","in","_RevealBase2","_interopDefault","ex","React","React__default","shallowEqual","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_Component","recordedState","_proto","getDisplayName","forceUpdate","__self","__source","keyPrefix","V","escape","IsSomeRendererActing","PureComponent","createContext","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","memo","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","skipTempReset","prev","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","MessageChannel","unstable_forceFrameRate","port2","port1","sortIndex","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","pairs","pairSplitRegExp","dec","decode","eq_idx","tryDecode","enc","fieldContentRegExp","maxAge","toUTCString","httpOnly","sameSite","__webpack_module_cache__","leafPrototypes","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","ns","definition","scriptUrl","importScripts","currentScript","_assertThisInitialized","_setPrototypeOf","_inheritsLoose","_taggedTemplateLiteralLoose","strings","raw","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","reactPropsRegex","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","Uint32Array","indexOfGroup","insertRules","clearGroup","deleteRule","getGroup","getRule","registerName","getTag","__webpack_nonce__","$","styleSheets","ownerNode","rules","isServer","useCSSOMInjection","gs","names","server","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clear","clearRules","clearTag","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","getName","_e","isCss","theme","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","as","withComponent","_foldedDefaultProps","withConfig","createStyles","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","nonce","seal","collectStyles","interleaveWithNodeStream","Align","styled","AlignContentCenter","VAlignContentCenter","onNextFrame","transitionEventName","transitions","OTransition","MozTransition","WebkitTransition","getTransitionEventName","Collapsable","collapsedHeight","collapsed","setCollapsed","getTransition","transitionTime","innerNode","ReactDOM","inner","outerNode","outer","outerHeight","timeoutTime","afterNextTransition","timerId","handler","padding","flexDirection","ArrowUp","alt","Arrow","ArrowDown","Icon","Container","Header","Block","Collapsible","isExpanded","handleToggle","titleOn","titleOff","tabIndex","role","onKeyDown","sizes","desktop","tabletL","tabletP","media","acc","label","css","disableWrap","minWidth","gap","Columns","FlexContainer","cols","ColumnsDefined","FullMediaQuery","FullSideMediaQuery","FullWrapperDiv","FullWrapperSideDiv","FullWrapper","FullWrapperSide","_objectWithoutPropertiesLoose","excluded","sourceKeys","Link","navigate","Domaine","Origin","logoutUrl","homeUrl","profileUrl","PrimaryColor","PrimaryHover","PrimaryVisited","DesktopLogo","LogoDesktop","MobileLogo","LogoMobile","SquareLogo","LogoSizeMobile","LogoSizeTabletP","LogoSizeTabletL","LogoSizeDesktop","LogoLeftMobile","LogoLeftTabletP","LogoLeftTabletL","LogoLeftDesktop","LogoContainerSize","MainMenuSeperator","FooterLinks","BtnName","StartUrl","MobileTable","EngineKey","Logo","themes","sampension","sampensionTheme","isp","ispTheme","firma","firmaPensionTheme","ap","apTheme","pjd","currentTheme","GATSBY_THEME","aquaMedium","aquaBright","darkGray","midGray","lightGray","border","yellow","red","black","white","shadow","aqua","ColorGuide","IconUp","IconDown","IconLeft","IconRight","ArrowRight","Dash","SpecialArrow","commonPropTypes","defaultPropTypes","Text","Goto","Styled","BackArrow","HistoryBack","IfMobileHide","IfDesktopHide","margins","StyledImg","InsertImage","imageAltText","ImgContainer","DownloadAt","AppStore","GooglePlay","IconShadow","ReadMore","blue","arrowRightBlue","arrowRightWhite","marginBottom","Items","StyledSpinner","CreateElements","Spinner","readCookie","cleanValue","cleanupCookieValue","doNotParse","isParsingCookie","objectAssign","Cookies","changeListeners","TESTING_ONETWO","parseCookies","HAS_DOCUMENT_COOKIE","_updateBrowserValues","_emitChange","getAll","name_1","_a","finalOptions","addChangeListener","removeChangeListener","Frame","Iframe","onConsentGiven","CookieInformation","frame","consent","cookie_cat_functional","getConsentGivenFor","cookie_cat_statistic","cookie_cat_marketing","cookie_cat_unclassified","onHashChange","newUrl","getUrl","baseUrl","output","cachebuster","currentUrl","busting","iFrameHeight","history","replaceState","onClassicMessage","scrollTo","disableReload","isSmoothScrollSupported","behavior","isFinite","scrolling","Url","OnClickUrl","Wrapper","commonButton","placeholder","check","WarningIcon","globalOrderedList","globalUnOrderedList","commonSizing","createGlobalStyle","globalButton","globalForm","globalCheckbox","globalRadioButton","embedResponsive16by9","globalHelperClasses","globalBody","globalModal","globalHeader","globalParagraph","globalLink","globalFocus","paddingBottom","StoryWrapper","Overlay","OverlayMobile","BannerOverlayText","image","fullSize","displayMobile","noText","altText","mobile","fullWidth","CommonCSS","Inner","DefaultMobileImage","DefaultImage","Manchet","ReadMoreStyled","bottomMargin","GetDisplayHeader","bannerImage","bannerContent","RenderContent","isMobile","isMobileOnClient","innerWidth","isProduction","Banner","handleNavResize","renderContent","header","manchet","urlText","mobileImage","Content","Image2","TextContainer","TextBlock","CloseBtn","OkBtn","Modal","handleClose","posted","showHideClassName","textAlign","Beta","show2","show3","handleNameChange","handleEmailChange","handleSelectChange","handleSubmit","showModal","hideModal","showModal2","hideModal2","showModal3","hideModal3","Name","Email","Phone","getAppBtn","nemIdBtn","nemidBtnText","GATSBY_WEB_APP_URL","textBlock","modalSignUp","modalFinish","betaMobil","beta","onSubmit","onChange","required","__GATSBY_WEB_APP_URL","MediaQuery","Area","BlockArea","AreaFullWidth","BlockAreaFullWidth","BlockContent","CollapseContainer","OutsideHeader","CollapseableFAQ","faqs","CollapsibleTextArea","openText","closeText","getElementById","DivContainer","HtmlRender","html","TableContainer","DesktopTable","classType","DesktopTH","TableRow","TableCell","Table","thead","tbody","row","index2","LevelOneHeader","TitleWrapper","clientHeight","ContainerStyle","Mobile","defaultClass","insideCollapsible","Collap","HtmlTable","maxWidth","MyLink","GatsbyLink","ContainerLink","minHeight","bgcolor","Card","IconContainer","BlueArrow","TextIcon","icon","arrow","DefaultIcon","IconCard","iconAltText","WhiteArrow","BackgroundImage","ImageCard","Group","InfoIcon","InfoCard","category","SelectBox","SelectInfoBox","visible","SelectInfo","SelectInfoSub","InfoTextBox","InfoTagsPages","activeInfo","subInfo","subMenuInfo","getCurrentText","changeInfo","changeInfoSub","menu","flexWrap","menuItem","subMenu","Close","LightBox","hashtag","ImageContainer","TimeStamp","News","imageRight","timestamp","ImageSide","TextSide","NewsCard","imageMobile","imagemobile","OuterContainer","SearchIcon","SpinnerContainer","ContentContainer","ShowCount","ResultItem","SuggestionsContainer","SuggestionItem","PageContainer","PageButton","elm","SearchModule","inDebounce","results","resultCount","suggestions","pages","page","loading","currentInput","currentSearch","handleInputChanged","handleKeyDown","updateResults","updateSuggestions","goToPage","scrollToTop","debounchedUpdateSuggestions","searchUrl","runSearch","evt","records","catch","pageNumber","num_pages","total_result_count","documentType","engine_key","decodeURI","renderSuggestion","renderPaging","currentPage","numberOfPages","createArray","renderLoading","rendercurrentSearch","contentText","htmlFor","withTheme","InputBox","InputBtn","SignupEmail","handleChange","btnText","heights","Dashes","CarouselUIContainer","ArrowCommon","ArrowLeft","Dots","Dot","SlideContainer","SlideContent","CarouselUI","sliderArrow","Carousel","makeCarousel","SlideShow","TextWrapper","Type","Title","ReadMoreWrapper","RightArrow","TextArea","Job","TLF","BusinessCard","job","tlf","mailto","VisitKort","Wide","desktopPicture","mobilePicture","srcSet","DefaultImageMobile","WideCard","btnUrl","lottieAsync","Lottie","ElementType","loader","setLottie","YoutubeVideo","Category","YoutubeText","Colors","SearchContainer","Button","Search","Post","Dato","CatContainer","Cat","EsgTracker","categories","esg","selectData","setSelectData","showData","setShowData","setCategory","searchString","setSearchString","selectedData","includes","showingData","cat","bottomContent","level_1_id","cookieBanner","desktopTools","bestil","chat","offlineText","ring","disableScroll","footer","afdelinger","firm","address","city","cvr","phone","links","social","Facebook","LinkedIn","Twitter","terms","megaMenu","nav","loginUrl","menus","subMenus","internal","menuItems","pageDescription","pageTitle","hightSize","ColDiv","Address","Info","Urls","Social","Footer","linkedIn","facebook","MenuContainer","MenuList","MenuItem","MenuItemUnderline","isActive","LogOut","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","markReady","ready","attach","subscriptions","EUWALoader","customerKey","configId","onBeforeLoad","getApplication","entries","listener","subscribe","settings","PuzzelChatClient","variables","chatResponse","json","chatQueueDataJson","agentsReady","agentsResponse","agentsReadyThreshold","onload","startChat","api","getState","isConnected","minimize","isMinimized","maximize","isMaximized","setSystemData","updateSystemVariables","updateVariables","GlobalStyle","PuzzelContext","orgSetItem","localStorage","setItem","CPR","PuzzelProvider","client","PuzzelClient","setReady","setOpen","setVisible","chatInit","chatStarts","chatWindowClosed","contactCenterClosed","isReady","onClickOpen","contextProps","STORAGE_PREFIX","sessionStorage","getItem","removeItem","ProviderWrapper","logout","onMessage","defaultState","isLoggedIn","userName","LoginContextCache","_messageTestChannel","requestOrigin","login","puzzel","cpr","enteredFormName","onLogout","iframe","MainMenu","ActiveMenu","navHeight","collapseNav","showNav","changeMenu","cursor","Lock","marginRight","borderLeft","LogoContainer","imgSize","LogoStyled","ImgIcon","MenuBarContainerDesktop","MenuBarContainerMobile","ButtonContainer","ChildContainer","Profile","ProfileName","HamburgerContainer","commonLinkStyle","LoginContainer","NH","StyledLink","LoginBtnComponent","navheight","MainMenuBar","isClient","renderLogin","alignItems","Avatar","MegaMenuHeaderContainer","MegaMenuHeader","MegaMenuItemUnderline","Desktop","ActiveMegaMenu","changeMegaMenu","openNav","closeAll","anyOpen","MegaMenuContainer","MegaMenuItem","MegaMenuItemText","MegaMenu","MegaMenuVisible","megaMenuItem","MenuCount","Col1Count","newCount","Col2Count","col1","col2","col3","newArray","arrangeMenuItems","SideNav","Variables","MobileMenuItem","TabMenuItem","SideNavContent","ArrowIcon","SideBarItem","BottomLinks","ExLinks","BackBtn","ArrowIconLeft","MobileMegaMenuItem","StyledInput","SearchBar","SideBar","closeNav","changeMobileMenu","checkLink","BlackArrow","ItemMenu","NavBarContainer","NavBar","ClearSpaceBehindNav","ColorBar","Navigation","getNavHeight","prevScrollpos","scrollY","onScroll","currentScrollPos","showNavVar","loggedIn","ToolsContainer","NavLinks","BtnContainer","Servicemeddelelse","ServicemeddelelseContent","DesktopTools","endPage","getSupportedPropertyName","setClickedItem","classList","removeActiveLinks","translateValue","changePosition","itemID","setVar","scrollHeight","startDate","slutDate","toDay","serviceMessage","chatStatus","chatIconBlack","chatIconWhite","ringIconBlack","ringIconWhite","postIconBlack","postIconWhite","CookieContext","given","consents","getGiven","getCategory","CookieProvider","setGiven","sizeWrapper","startsWith","CustomLayout","handleFirstTab","handleMouseDownOnce","ogMeta","ogData","Helmet","level_1_Id","level_2_Id","DefaultPropTypes","commonWrapperCSS","FrontPageWrapper","Template2Wrapper","displayHeader","Template3Wrapper","FullWidthWrapper","Template1","sizeContent","Template2Content","Template3Content","Template2","Template3","backButton","backButtonText","backButtonUrl","marginTop","FullWidth","componentsNormalized","components","templatesNormalized","templates","commonsNormalized","prodPuzzelIds","testPuzzleId","testPuzzleIds","findRenderComponent","renderComponent","componentData","componentChildren","Components","dataElement","rootElement","pageTemplate","pageContent","pageData","puzzelIds","renderPage"],"sourceRoot":""}