{"version":3,"file":"shared-lib.D2ymKBdl.mjs","names":["n","e","a","l","c","s","i","r","o","v","b","m","S","h","x$1","d","A","T","E","g","f","x","R","N","B","V","z","U","O","j","H","te","ue","F","se","_","pe","ye","R$1","T$1","U$1","V$1","I","$","k","p","t","u","w","y","C","D","L","M","P","W","X","e.default","useRef","useMemo","useMemo","useMemo","getProps","useRef","useCallback","useState","SrcType","isMotionValue","useMemo","e","v","useRef","animation","useCallback","animate","i","r","g","b","f","p","t","h","v","s","d","a","c","e","j","k","l","m","n","o","x","y","z","pt","_e","global","prng","seed","me","A","B","C","window","id","animationData","w","addFonts","index","renderer","_","component","loadAnimation","animation","searchAnimations","standalone","Math","document","wiggle","len","TextExpressionSelectorPropFactory","useRef","v","useCallback","d","lottie","c","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transformTemplate1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","n","t","a","r","i","e","o","s","u","l","c","h","f","d","p","v","m","b","g","y","P","M","I","E","C","w","_","A","R","T","F","L","N","k","j","S","O","x","D","W","U","V","B","$","z","H","Y","X","G","J","K","Z","Hn","Q","ee","te","ne","re","ie","ae","oe","se","ue","le","ce","he","fe","de","pe","ve","Le","me","be","ge","ye","ze","De","ke","xe","we","_e","Ae","Ce","Me","Pe","Ie","Ee","Re","Te","Fe","je","Je","Se","Oe","Ue","xn","We","Ve","Be","Ne","$e","He","Ye","Xe","Ge","qe","Ke","Ze","Qe","et","tt","nt","rt","it","at","ot","st","ut","lt","ct","ht","ft","dt","pt","vt","mt","bt","gt","yt","wt","_t","At","Yn","Ct","Mt","Pt","It","Et","Rt","Tt","Ft","Lt","kt","jt","St","Ot","xt","Dt","Wt","Ut","Vt","Bt","Nt","$t","zt","Ht","Yt","Xt","Gt","qt","fn","Jt","Kt","Zt","Qt","en","tn","nn","rn","an","on","sn","un","ln","cn","hn","dn","pn","vn","mn","bn","gn","yn","wn","_n","An","Cn","Mn","Pn","In","En","Rn","Tn","Fn","Ln","kn","jn","Sn","On","Dn","Wn","Un","Nn","Bn","Vn","$n","zn","Xn","Gn","l","e","n","r","t","u","i","o","a","p","s","c","f","d","v","b","g","y","w","C","E","V","O","M","k","P","x","I","T","S","D","L","z","H","m","h","e.default","t.default","useRive","i","x","e","y","useState","e","Component","fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","FormPlainTextInput","Button2","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","humanReadableVariantMap","getProps","Component","useRef","React.useId","sharedStyle.className","className","_Fragment","css","sharedStyle.css","sharedStyle.fonts","__FramerMetadata__","useState","_Fragment","Component","useState","fonts","css","className","css","metadata","siteMetadata","__FramerMetadata__","Intro","Form","FormInfo","useRef","React.useId","metadata","React.useMemo","metadataProvider","sharedStyle.className","sharedStyle1.className","className","PropertyOverrides","React.Fragment","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","__FramerMetadata__"],"sources":["https:/ga.jspm.io/npm:react-dom@18.2.0/server.browser.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js","https:/framer.com/m/framer/useAutoMotionValue.js@0.3.0","https:/jspm.dev/npm:lottie-web@5.7.8!cjs","https:/jspm.dev/lottie-web@5.7.8","https:/framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js","https:/framerusercontent.com/modules/mdf1XXtZDhwiUOIWRgWn/W810Xc15YoBEjvR9RJbL/du5xgA6nR.js","https:/ga.jspm.io/npm:@rive-app/canvas@2.27.5/rive.js","https:/ga.jspm.io/npm:@rive-app/react-canvas@4.20.2/dist/index.js","https:/framerusercontent.com/modules/h0CKgVZQ6n1NClxnEeGv/bs8Xr2srbqbvJ9ZC1uAE/RivePlayerAA.js","https:/framerusercontent.com/modules/XyeNFxVlslaQNixR0AbZ/oGUKcxmbYqKqXKiO1AfU/Validacao_email.js","https:/framerusercontent.com/modules/4mnUmHUlnTx5uot7o6mT/KXw7bSkSgPxevwQ8BKnh/p8nwE8YgS.js","https:/framerusercontent.com/modules/WpCUOhoKT24mehBWH0pp/oTBzs1dHkRff41FlIycV/amw6t9IcI.js","https:/framerusercontent.com/modules/C75kCtW3cfcUWbO5dkda/4wHMGcsysjh7lULnwwML/wIhs6B6F_.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/fgU17ldXVLeW2w0BlYRj/YPsrHKV92sGwgyldT0K1/Example_1.js","https:/framerusercontent.com/modules/1QjiZYZnNUaSqQ0UaBig/YGLDM8SGBpQrTFafxoo7/HcbhxMcam.js","https:/framerusercontent.com/modules/tWgTAS8ccYA325fl0yd6/oD3LxO72hnqiRoPMAfso/pk4X_RSew.js","https:/framerusercontent.com/modules/lDXulZaGLxXfh5S565G5/o8grRi24glz9JorQmLwD/siteMetadata.js","https:/framerusercontent.com/modules/jagWnZOG2dmEj7tcpSNn/ZNxfWWTJjbdjBadI0Xq1/augiA20Il.js","https:/framerusercontent.com/modules/rfFCwdlr18Am3nPzRjHa/TVwJBhfqiUz2yaJbyFoL/augiA20Il.js","https:/framer.com/m/framer/SitesNotFoundPage.js@1.4.0"],"sourcesContent":["import*as e from\"react\";var n=\"default\"in e?e.default:e;var a={};var o=n;function l$2(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=Object.prototype.hasOwnProperty,i=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,s={},c={};function ja$1(e){if(l.call(c,e))return!0;if(l.call(s,e))return!1;if(i.test(e))return c[e]=!0;s[e]=!0;return!1}function r(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var d={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){d[e]=new r(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];d[n]=new r(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){d[e]=new r(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){d[e]=new r(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){d[e]=new r(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){d[e]=new r(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){d[e]=new r(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){d[e]=new r(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){d[e]=new r(e,5,!1,e.toLowerCase(),null,!1,!1)}));var f=/[\\-:]([a-z])/g;function la$1(e){return e[1].toUpperCase()}\"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(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!1,!1)}));d.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!0,!0)}));var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(h).forEach((function(e){g.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);h[n]=h[e]}))}));var b=/[\"'&<>]/;function v(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=b.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var m=/([A-Z])/g,S=/^ms-/,x=Array.isArray;function w$1(e,n){return{insertionMode:e,selectedValue:n}}function ra$1(e,n,a){switch(n){case\"select\":return w$1(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return w$1(2,null);case\"math\":return w$1(3,null);case\"foreignObject\":return w$1(1,null);case\"table\":return w$1(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return w$1(5,null);case\"colgroup\":return w$1(7,null);case\"tr\":return w$1(6,null)}return 4<=e.insertionMode||0===e.insertionMode?w$1(1,null):e}var $=new Map;function ta$1(e,n,a){if(\"object\"!==typeof a)throw Error(l$2(62));n=!0;for(var o in a)if(l.call(a,o)){var i=a[o];if(null!=i&&\"boolean\"!==typeof i&&\"\"!==i){if(0===o.indexOf(\"--\")){var s=v(o);i=v((\"\"+i).trim())}else{s=o;var c=$.get(s);void 0!==c||(c=v(s.replace(m,\"-$1\").toLowerCase().replace(S,\"-ms-\")),$.set(s,c)),s=c;i=\"number\"===typeof i?0===i||l.call(h,o)?\"\"+i:i+\"px\":v((\"\"+i).trim())}n?(n=!1,e.push(' style=\"',s,\":\",i)):e.push(\";\",s,\":\",i)}}n||e.push('\"')}function x$1(e,n,a,o){switch(a){case\"style\":ta$1(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=d.hasOwnProperty(a)?d[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=n.attributeName;switch(n.type){case 3:o&&e.push(\" \",a,'=\"\"');break;case 4:!0===o?e.push(\" \",a,'=\"\"'):!1!==o&&e.push(\" \",a,'=\"',v(o),'\"');break;case 5:isNaN(o)||e.push(\" \",a,'=\"',v(o),'\"');break;case 6:!isNaN(o)&&1<=o&&e.push(\" \",a,'=\"',v(o),'\"');break;default:n.sanitizeURL&&(o=\"\"+o),e.push(\" \",a,'=\"',v(o),'\"')}}else if(ja$1(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(\" \",a,'=\"',v(o),'\"')}}function y$1(e,n,a){if(null!=n){if(null!=a)throw Error(l$2(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(l$2(61));n=n.__html;null!==n&&void 0!==n&&e.push(\"\"+n)}}function ua$1(e){var n=\"\";o.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}function va$1(e,n,a,o){e.push(A(a));var i,s=a=null;for(i in n)if(l.call(n,i)){var c=n[i];if(null!=c)switch(i){case\"children\":a=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:x$1(e,o,i,c)}}e.push(\">\");y$1(e,s,a);return\"string\"===typeof a?(e.push(v(a)),null):a}var E=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,T=new Map;function A(e){var n=T.get(e);if(void 0===n){if(!E.test(e))throw Error(l$2(65,e));n=\"<\"+e;T.set(e,n)}return n}function ya$1(e,n,a,o,i){switch(n){case\"select\":e.push(A(\"select\"));var s=null,c=null;for(g in a)if(l.call(a,g)){var d=a[g];if(null!=d)switch(g){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"defaultValue\":case\"value\":break;default:x$1(e,o,g,d)}}e.push(\">\");y$1(e,c,s);return s;case\"option\":c=i.selectedValue;e.push(A(\"option\"));var f=d=null,h=null;var g=null;for(s in a)if(l.call(a,s)){var b=a[s];if(null!=b)switch(s){case\"children\":d=b;break;case\"selected\":h=b;break;case\"dangerouslySetInnerHTML\":g=b;break;case\"value\":f=b;default:x$1(e,o,s,b)}}if(null!=c)if(a=null!==f?\"\"+f:ua$1(d),x(c)){for(o=0;o<c.length;o++)if(\"\"+c[o]===a){e.push(' selected=\"\"');break}}else\"\"+c===a&&e.push(' selected=\"\"');else h&&e.push(' selected=\"\"');e.push(\">\");y$1(e,g,d);return d;case\"textarea\":e.push(A(\"textarea\"));g=c=s=null;for(d in a)if(l.call(a,d)&&(f=a[d],null!=f))switch(d){case\"children\":g=f;break;case\"value\":s=f;break;case\"defaultValue\":c=f;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(91));default:x$1(e,o,d,f)}null===s&&null!==c&&(s=c);e.push(\">\");if(null!=g){if(null!=s)throw Error(l$2(92));if(x(g)&&1<g.length)throw Error(l$2(93));s=\"\"+g}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");null!==s&&e.push(v(\"\"+s));return null;case\"input\":e.push(A(\"input\"));f=g=d=s=null;for(c in a)if(l.call(a,c)&&(h=a[c],null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,\"input\"));case\"defaultChecked\":f=h;break;case\"defaultValue\":d=h;break;case\"checked\":g=h;break;case\"value\":s=h;break;default:x$1(e,o,c,h)}null!==g?x$1(e,o,\"checked\",g):null!==f&&x$1(e,o,\"checked\",f);null!==s?x$1(e,o,\"value\",s):null!==d&&x$1(e,o,\"value\",d);e.push(\"/>\");return null;case\"menuitem\":e.push(A(\"menuitem\"));for(var m in a)if(l.call(a,m)&&(s=a[m],null!=s))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(400));default:x$1(e,o,m,s)}e.push(\">\");return null;case\"title\":e.push(A(\"title\"));s=null;for(b in a)if(l.call(a,b)&&(c=a[b],null!=c))switch(b){case\"children\":s=c;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(434));default:x$1(e,o,b,c)}e.push(\">\");return s;case\"listing\":case\"pre\":e.push(A(n));c=s=null;for(f in a)if(l.call(a,f)&&(d=a[f],null!=d))switch(f){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;default:x$1(e,o,f,d)}e.push(\">\");if(null!=c){if(null!=s)throw Error(l$2(60));if(\"object\"!==typeof c||!(\"__html\"in c))throw Error(l$2(61));a=c.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(\"\\n\",a):e.push(\"\"+a))}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");return s;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(A(n));for(var S in a)if(l.call(a,S)&&(s=a[S],null!=s))switch(S){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,n));default:x$1(e,o,S,s)}e.push(\"/>\");return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return va$1(e,a,n,o);case\"html\":return 0===i.insertionMode&&e.push(\"<!DOCTYPE html>\"),va$1(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return va$1(e,a,n,o);e.push(A(n));c=s=null;for(h in a)if(l.call(a,h)&&(d=a[h],null!=d))switch(h){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"style\":ta$1(e,o,d);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ja$1(h)&&\"function\"!==typeof d&&\"symbol\"!==typeof d&&e.push(\" \",h,'=\"',v(d),'\"')}e.push(\">\");y$1(e,c,s);return s}}function za$1(e,n,a){e.push('\\x3c!--$?--\\x3e<template id=\"');if(null===a)throw Error(l$2(395));e.push(a);return e.push('\"></template>')}function Aa$1(e,n,a,o){switch(a.insertionMode){case 0:case 1:return e.push('<div hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 2:return e.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 3:return e.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 4:return e.push('<table hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 5:return e.push('<table hidden><tbody id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 6:return e.push('<table hidden><tr id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 7:return e.push('<table hidden><colgroup id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');default:throw Error(l$2(397))}}function Ba$1(e,n){switch(n.insertionMode){case 0:case 1:return e.push(\"</div>\");case 2:return e.push(\"</svg>\");case 3:return e.push(\"</math>\");case 4:return e.push(\"</table>\");case 5:return e.push(\"</tbody></table>\");case 6:return e.push(\"</tr></table>\");case 7:return e.push(\"</colgroup></table>\");default:throw Error(l$2(397))}}var R=/[<\\u2028\\u2029]/g;function Da$1(e){return JSON.stringify(e).replace(R,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}function Ea$1(e,n){n=void 0===n?\"\":n;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:n+\"P:\",segmentPrefix:n+\"S:\",boundaryPrefix:n+\"B:\",idPrefix:n,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:e}}function Fa$1(e,n,a,o){if(a.generateStaticMarkup)return e.push(v(n)),!1;\"\"===n?e=o:(o&&e.push(\"\\x3c!-- --\\x3e\"),e.push(v(n)),e=!0);return e}var _=Object.assign,I=Symbol.for(\"react.element\"),B=Symbol.for(\"react.portal\"),N=Symbol.for(\"react.fragment\"),z=Symbol.for(\"react.strict_mode\"),V=Symbol.for(\"react.profiler\"),j=Symbol.for(\"react.provider\"),O=Symbol.for(\"react.context\"),H=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),K=Symbol.for(\"react.suspense_list\"),ee=Symbol.for(\"react.memo\"),te=Symbol.for(\"react.lazy\"),ne=Symbol.for(\"react.scope\"),re=Symbol.for(\"react.debug_trace_mode\"),ae=Symbol.for(\"react.legacy_hidden\"),oe=Symbol.for(\"react.default_value\"),le=Symbol.iterator;function Xa$1(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case N:return\"Fragment\";case B:return\"Portal\";case V:return\"Profiler\";case z:return\"StrictMode\";case U:return\"Suspense\";case K:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case j:return(e._context.displayName||\"Context\")+\".Provider\";case H:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case ee:return n=e.displayName||null,null!==n?n:Xa$1(e.type)||\"Memo\";case te:n=e._payload;e=e._init;try{return Xa$1(e(n))}catch(e){}}return null}var ue={};function Za$1(e,n){e=e.contextTypes;if(!e)return ue;var a,o={};for(a in e)o[a]=n[a];return o}var ie=null;function F(e,n){if(e!==n){e.context._currentValue2=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(l$2(401))}else{if(null===a)throw Error(l$2(401));F(e,a)}n.context._currentValue2=n.value}}function $a$1(e){e.context._currentValue2=e.parentValue;e=e.parent;null!==e&&$a$1(e)}function ab$1(e){var n=e.parent;null!==n&&ab$1(n);e.context._currentValue2=e.value}function bb$1(e,n){e.context._currentValue2=e.parentValue;e=e.parent;if(null===e)throw Error(l$2(402));e.depth===n.depth?F(e,n):bb$1(e,n)}function cb$1(e,n){var a=n.parent;if(null===a)throw Error(l$2(402));e.depth===a.depth?F(e,a):cb$1(e,a);n.context._currentValue2=n.value}function G(e){var n=ie;n!==e&&(null===n?ab$1(e):null===e?$a$1(n):n.depth===e.depth?F(n,e):n.depth>e.depth?bb$1(n,e):cb$1(n,e),ie=e)}var se={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function eb$1(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=se;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue2:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:_({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&se.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=_({},i,c)):_(i,c))}e.state=i}else i.queue=null}var ce={id:1,overflow:\"\"};function gb$1(e,n,a){var o=e.id;e=e.overflow;var l=32-de(o)-1;o&=~(1<<l);a+=1;var i=32-de(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-de(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var de=Math.clz32?Math.clz32:hb$1,fe=Math.log,pe=Math.LN2;function hb$1(e){e>>>=0;return 0===e?32:31-(fe(e)/pe|0)|0}function kb$1(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var he=\"function\"===typeof Object.is?Object.is:kb$1,ge=null,be=null,me=null,ye=null,ve=!1,ke=!1,we=0,Se=null,xe=0;function Q$1(){if(null===ge)throw Error(l$2(321));return ge}function pb$1(){if(0<xe)throw Error(l$2(312));return{memoizedState:null,queue:null,next:null}}function qb$1(){null===ye?null===me?(ve=!1,me=ye=pb$1()):(ve=!0,ye=me):null===ye.next?(ve=!1,ye=ye.next=pb$1()):(ve=!0,ye=ye.next);return ye}function rb$1(){be=ge=null;ke=!1;me=null;xe=0;ye=Se=null}function sb$1(e,n){return\"function\"===typeof n?n(e):n}function tb$1(e,n,a){ge=Q$1();ye=qb$1();if(ve){var o=ye.queue;n=o.dispatch;if(null!==Se&&(a=Se.get(o),void 0!==a)){Se.delete(o);o=ye.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);ye.memoizedState=o;return[o,n]}return[ye.memoizedState,n]}e=e===sb$1?\"function\"===typeof n?n():n:void 0!==a?a(n):n;ye.memoizedState=e;e=ye.queue={last:null,dispatch:null};e=e.dispatch=ub$1.bind(null,ge,e);return[ye.memoizedState,e]}function vb$1(e,n){ge=Q$1();ye=qb$1();n=void 0===n?null:n;if(null!==ye){var a=ye.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!he(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();ye.memoizedState=[e,n];return e}function ub$1(e,n,a){if(25<=xe)throw Error(l$2(301));if(e===ge)if(ke=!0,e={action:a,next:null},null===Se&&(Se=new Map),a=Se.get(n),void 0===a)Se.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function wb$1(){throw Error(l$2(394))}function R$1(){}var $e={readContext:function(e){return e._currentValue2},useContext:function(e){Q$1();return e._currentValue2},useMemo:vb$1,useReducer:tb$1,useRef:function(e){ge=Q$1();ye=qb$1();var n=ye.memoizedState;return null===n?(e={current:e},ye.memoizedState=e):n},useState:function(e){return tb$1(sb$1,e)},useInsertionEffect:R$1,useLayoutEffect:function(){},useCallback:function(e,n){return vb$1((function(){return e}),n)},useImperativeHandle:R$1,useEffect:R$1,useDebugValue:R$1,useDeferredValue:function(e){Q$1();return e},useTransition:function(){Q$1();return[!1,wb$1]},useId:function(){var e=be.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-de(e)-1)).toString(32)+n;var a=Ce;if(null===a)throw Error(l$2(404));n=we++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){Q$1();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(l$2(407));return a()}},Ce=null,Ee=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb$1(e){console.error(e);return null}function T$1(){}function Ab$1(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?zb$1:l,onAllReady:void 0===i?T$1:i,onShellReady:void 0===s?T$1:s,onShellError:void 0===c?T$1:c,onFatalError:void 0===d?T$1:d};a=U$1(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Bb$1(n,e,null,a,h,ue,null,ce);f.push(e);return n}function Bb$1(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Cb$1(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function U$1(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function V$1(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function W$1(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,e.destination.destroy(n)):(e.status=1,e.fatalError=n)}function Db$1(e,n,a,o,l){ge={};be=n;we=0;for(e=a(o,l);ke;)ke=!1,we=0,xe+=1,ye=null,e=a(o,l);rb$1();return e}function Eb$1(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(l$2(108,Xa$1(o)||\"Unknown\",c));o=_({},s,a)}n.legacyContext=o;X$1(e,n,l);n.legacyContext=s}else X$1(e,n,l)}function Fb(e,n){if(e&&e.defaultProps){n=_({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Gb$1(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=Za$1(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue2:l);eb$1(i,a,o,l);Eb$1(e,n,i,a)}else{i=Za$1(a,n.legacyContext);l=Db$1(e,n,a,o,i);var s=0!==we;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)eb$1(l,a,o,i),Eb$1(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=gb$1(o,1,0);try{X$1(e,n,l)}finally{n.treeContext=o}}else X$1(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case ae:case re:case z:case V:case N:X$1(e,n,o.children);return;case K:X$1(e,n,o.children);return;case ne:throw Error(l$2(343));case U:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=U$1(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=U$1(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if(Hb$1(e,n,o),e.responseState.generateStaticMarkup||f.lastPushedText&&f.textEmbedded&&f.chunks.push(\"\\x3c!-- --\\x3e\"),f.status=1,Y$1(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=V$1(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Bb$1(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case H:o=Db$1(e,n,a.render,o,l);if(0!==we){a=n.treeContext;n.treeContext=gb$1(a,1,0);try{X$1(e,n,o)}finally{n.treeContext=a}}else X$1(e,n,o);return;case ee:a=a.type;o=Fb(a,o);Gb$1(e,n,a,o,l);return;case j:l=o.children;a=a._context;o=o.value;i=a._currentValue2;a._currentValue2=o;s=ie;ie=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;X$1(e,n,l);e=ie;if(null===e)throw Error(l$2(403));o=e.parentValue;e.context._currentValue2=o===oe?e.context._defaultValue:o;e=ie=e.parent;n.context=e;return;case O:o=o.children;o=o(a._currentValue2);X$1(e,n,o);return;case te:l=a._init;a=l(a._payload);o=Fb(a,o);Gb$1(e,n,a,o,void 0);return}throw Error(l$2(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=ya$1(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=ra$1(s,a,o);Hb$1(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(\"</\",a,\">\")}l.lastPushedText=!1}}function X$1(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case I:Gb$1(e,n,a.type,a.props,a.ref);return;case B:throw Error(l$2(257));case te:var o=a._init;a=o(a._payload);X$1(e,n,a);return}if(x(a)){Ib$1(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=le&&a[le]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);Ib$1(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(l$2(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function Ib$1(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=gb$1(i,o,l);try{Hb$1(e,n,a[l])}finally{n.treeContext=i}}}function Hb$1(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return X$1(e,n,a)}catch(d){if(rb$1(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,G(i),d;a=d;var s=n.blockedSegment,c=U$1(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Bb$1(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;G(i)}}function Jb$1(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;Kb$1(this,n,e)}function Lb$1(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(l$2(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return Lb$1(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function Y$1(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&Y$1(e,a)}else e.completedSegments.push(n)}function Kb$1(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(l$2(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=T$1,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&Y$1(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(Jb$1,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(Y$1(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Cb$1(e){if(2!==e.status){var n=ie,a=Ee.current;Ee.current=$e;var o=Ce;Ce=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){G(s.context);try{X$1(c,s,s.node),c.responseState.generateStaticMarkup||d.lastPushedText&&d.textEmbedded&&d.chunks.push(\"\\x3c!-- --\\x3e\"),s.abortSet.delete(s),d.status=1,Kb$1(c,s.blockedBoundary,d)}catch(e){if(rb$1(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=V$1(c,g);null===h?W$1(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}finally{Ce=o,Ee.current=a,a===$e&&G(n)}}}function Z$1(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;n.push('<template id=\"');n.push(e.placeholderPrefix);e=o.toString(16);n.push(e);return n.push('\"></template>');case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)n.push(o[i]);l=Nb$1(e,n,l)}for(;i<o.length-1;i++)n.push(o[i]);i<o.length&&(l=n.push(o[i]));return l;default:throw Error(l$2(390))}}function Nb$1(e,n,a){var o=a.boundary;if(null===o)return Z$1(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)return e.responseState.generateStaticMarkup||(o=o.errorDigest,n.push(\"\\x3c!--$!--\\x3e\"),n.push(\"<template\"),o&&(n.push(' data-dgst=\"'),o=v(o),n.push(o),n.push('\"')),n.push(\"></template>\")),Z$1(e,n,a),e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\"),e;if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=l.boundaryPrefix+i.toString(16);o=o.id=l;za$1(n,e.responseState,o);Z$1(e,n,a);return n.push(\"\\x3c!--/$--\\x3e\")}if(o.byteSize>e.progressiveChunkSize)return o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),za$1(n,e.responseState,o.id),Z$1(e,n,a),n.push(\"\\x3c!--/$--\\x3e\");e.responseState.generateStaticMarkup||n.push(\"\\x3c!--$--\\x3e\");a=o.completedSegments;if(1!==a.length)throw Error(l$2(391));Nb$1(e,n,a[0]);e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\");return e}function Ob$1(e,n,a){Aa$1(n,e.responseState,a.formatContext,a.id);Nb$1(e,n,a);return Ba$1(n,a.formatContext)}function Pb$1(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)Qb$1(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;n.push(e.startInlineScript);e.sentCompleteBoundaryFunction?n.push('$RC(\"'):(e.sentCompleteBoundaryFunction=!0,n.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===o)throw Error(l$2(395));a=a.toString(16);n.push(o);n.push('\",\"');n.push(e.segmentPrefix);n.push(a);return n.push('\")<\\/script>')}function Qb$1(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(l$2(392));return Ob$1(e,n,o)}Ob$1(e,n,o);e=e.responseState;n.push(e.startInlineScript);e.sentCompleteSegmentFunction?n.push('$RS(\"'):(e.sentCompleteSegmentFunction=!0,n.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));n.push(e.segmentPrefix);l=l.toString(16);n.push(l);n.push('\",\"');n.push(e.placeholderPrefix);n.push(l);return n.push('\")<\\/script>')}function Mb$1(e,n){try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){Nb$1(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)n.push(o[a]);a<o.length&&n.push(o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;o.push(c.startInlineScript);c.sentClientRenderFunction?o.push('$RX(\"'):(c.sentClientRenderFunction=!0,o.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));if(null===d)throw Error(l$2(395));o.push(d);o.push('\"');if(f||h||g){o.push(\",\");var b=Da$1(f||\"\");o.push(b)}if(h||g){o.push(\",\");var m=Da$1(h||\"\");o.push(m)}if(g){o.push(\",\");var S=Da$1(g);o.push(S)}if(!o.push(\")<\\/script>\")){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var x=e.completedBoundaries;for(l=0;l<x.length;l++)if(!Pb$1(e,n,x[l])){e.destination=null;l++;x.splice(0,l);return}x.splice(0,l);var $=e.partialBoundaries;for(l=0;l<$.length;l++){var E=$[l];e:{i=e;s=n;var T=E.completedSegments;for(c=0;c<T.length;c++)if(!Qb$1(i,s,E,T[c])){c++;T.splice(0,c);var R=!1;break e}T.splice(0,c);R=!0}if(!R){e.destination=null;l++;$.splice(0,l);return}}$.splice(0,l);var _=e.completedBoundaries;for(l=0;l<_.length;l++)if(!Pb$1(e,n,_[l])){e.destination=null;l++;_.splice(0,l);return}_.splice(0,l)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.push(null)}}function Rb$1(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return Lb$1(a,e,n)}));a.clear();null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}}function Sb$1(){}function Tb$1(e,n,a,o){var l=!1,i=null,s=\"\",c={push:function(e){null!==e&&(s+=e);return!0},destroy:function(e){l=!0;i=e}},d=!1;e=Ab$1(e,Ea$1(a,n?n.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb$1,void 0,(function(){d=!0}),void 0,void 0);Cb$1(e);Rb$1(e,o);if(1===e.status)e.status=2,c.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=c;try{Mb$1(e,c)}catch(n){V$1(e,n),W$1(e,n)}}if(l)throw i;if(!d)throw Error(l$2(426));return s}a.renderToNodeStream=function(){throw Error(l$2(207))};a.renderToStaticMarkup=function(e,n){return Tb$1(e,n,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.renderToStaticNodeStream=function(){throw Error(l$2(208))};a.renderToString=function(e,n){return Tb$1(e,n,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.version=\"18.2.0\";var Fe=\"default\"in e?e.default:e;var Te={};var Re=Fe;function k(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Pe=null,_e=0;function p(e,n){if(0!==n.length)if(512<n.length)0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=new Uint8Array(512),_e=0),e.enqueue(n);else{var a=Pe.length-_e;a<n.length&&(0===a?e.enqueue(Pe):(Pe.set(n.subarray(0,a),_e),e.enqueue(Pe),n=n.subarray(a)),Pe=new Uint8Array(512),_e=0);Pe.set(n,_e);_e+=n.length}}function t(e,n){p(e,n);return!0}function ba(e){Pe&&0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=null,_e=0)}var Me=new TextEncoder;function u(e){return Me.encode(e)}function w(e){return Me.encode(e)}function da(e,n){\"function\"===typeof e.error?e.error(n):e.close()}var Ie=Object.prototype.hasOwnProperty,De=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Be={},Ne={};function ia(e){if(Ie.call(Ne,e))return!0;if(Ie.call(Be,e))return!1;if(De.test(e))return Ne[e]=!0;Be[e]=!0;return!1}function y(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var ze={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){ze[e]=new y(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];ze[n]=new y(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){ze[e]=new y(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){ze[e]=new y(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){ze[e]=new y(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){ze[e]=new y(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){ze[e]=new y(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){ze[e]=new y(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){ze[e]=new y(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ve=/[\\-:]([a-z])/g;function ka(e){return e[1].toUpperCase()}\"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(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!1,!1)}));ze.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Ae={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Ae).forEach((function(e){Le.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);Ae[n]=Ae[e]}))}));var je=/[\"'&<>]/;function C(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=je.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var Oe=/([A-Z])/g,qe=/^ms-/,We=Array.isArray,He=w(\"<script>\"),Ue=w(\"<\\/script>\"),Ze=w('<script src=\"'),Xe=w('<script type=\"module\" src=\"'),Je=w('\" async=\"\"><\\/script>'),Ge=/(<\\/|<)(s)(cript)/gi;function ya(e,n,a,o){return n+(\"s\"===a?\"\\\\u0073\":\"\\\\u0053\")+o}function za(e,n,a,o,l){e=void 0===e?\"\":e;n=void 0===n?He:w('<script nonce=\"'+C(n)+'\">');var i=[];void 0!==a&&i.push(n,u((\"\"+a).replace(Ge,ya)),Ue);if(void 0!==o)for(a=0;a<o.length;a++)i.push(Ze,u(C(o[a])),Je);if(void 0!==l)for(o=0;o<l.length;o++)i.push(Xe,u(C(l[o])),Je);return{bootstrapChunks:i,startInlineScript:n,placeholderPrefix:w(e+\"P:\"),segmentPrefix:w(e+\"S:\"),boundaryPrefix:e+\"B:\",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}function D(e,n){return{insertionMode:e,selectedValue:n}}function Aa(e){return D(\"http://www.w3.org/2000/svg\"===e?2:\"http://www.w3.org/1998/Math/MathML\"===e?3:0,null)}function Ba(e,n,a){switch(n){case\"select\":return D(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return D(2,null);case\"math\":return D(3,null);case\"foreignObject\":return D(1,null);case\"table\":return D(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return D(5,null);case\"colgroup\":return D(7,null);case\"tr\":return D(6,null)}return 4<=e.insertionMode||0===e.insertionMode?D(1,null):e}var Qe=w(\"\\x3c!-- --\\x3e\");function Da(e,n,a,o){if(\"\"===n)return o;o&&e.push(Qe);e.push(u(C(n)));return!0}var Ye=new Map,Ke=w(' style=\"'),et=w(\":\"),tt=w(\";\");function Ia(e,n,a){if(\"object\"!==typeof a)throw Error(k(62));n=!0;for(var o in a)if(Ie.call(a,o)){var l=a[o];if(null!=l&&\"boolean\"!==typeof l&&\"\"!==l){if(0===o.indexOf(\"--\")){var i=u(C(o));l=u(C((\"\"+l).trim()))}else{i=o;var s=Ye.get(i);void 0!==s||(s=w(C(i.replace(Oe,\"-$1\").toLowerCase().replace(qe,\"-ms-\"))),Ye.set(i,s)),i=s;l=\"number\"===typeof l?0===l||Ie.call(Ae,o)?u(\"\"+l):u(l+\"px\"):u(C((\"\"+l).trim()))}n?(n=!1,e.push(Ke,i,et,l)):e.push(tt,i,et,l)}}n||e.push(at)}var nt=w(\" \"),rt=w('=\"'),at=w('\"'),ot=w('=\"\"');function J(e,n,a,o){switch(a){case\"style\":Ia(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=ze.hasOwnProperty(a)?ze[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=u(n.attributeName);switch(n.type){case 3:o&&e.push(nt,a,ot);break;case 4:!0===o?e.push(nt,a,ot):!1!==o&&e.push(nt,a,rt,u(C(o)),at);break;case 5:isNaN(o)||e.push(nt,a,rt,u(C(o)),at);break;case 6:!isNaN(o)&&1<=o&&e.push(nt,a,rt,u(C(o)),at);break;default:n.sanitizeURL&&(o=\"\"+o),e.push(nt,a,rt,u(C(o)),at)}}else if(ia(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(nt,u(a),rt,u(C(o)),at)}}var lt=w(\">\"),ut=w(\"/>\");function L(e,n,a){if(null!=n){if(null!=a)throw Error(k(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(k(61));n=n.__html;null!==n&&void 0!==n&&e.push(u(\"\"+n))}}function La(e){var n=\"\";Re.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}var it=w(' selected=\"\"');function Na(e,n,a,o){e.push(M(a));var l,i=a=null;for(l in n)if(Ie.call(n,l)){var s=n[l];if(null!=s)switch(l){case\"children\":a=s;break;case\"dangerouslySetInnerHTML\":i=s;break;default:J(e,o,l,s)}}e.push(lt);L(e,i,a);return\"string\"===typeof a?(e.push(u(C(a))),null):a}var st=w(\"\\n\"),ct=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,dt=new Map;function M(e){var n=dt.get(e);if(void 0===n){if(!ct.test(e))throw Error(k(65,e));n=w(\"<\"+e);dt.set(e,n)}return n}var ft=w(\"<!DOCTYPE html>\");function Sa(e,n,a,o,l){switch(n){case\"select\":e.push(M(\"select\"));var i=null,s=null;for(h in a)if(Ie.call(a,h)){var c=a[h];if(null!=c)switch(h){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"defaultValue\":case\"value\":break;default:J(e,o,h,c)}}e.push(lt);L(e,s,i);return i;case\"option\":s=l.selectedValue;e.push(M(\"option\"));var d=c=null,f=null;var h=null;for(i in a)if(Ie.call(a,i)){var g=a[i];if(null!=g)switch(i){case\"children\":c=g;break;case\"selected\":f=g;break;case\"dangerouslySetInnerHTML\":h=g;break;case\"value\":d=g;default:J(e,o,i,g)}}if(null!=s)if(a=null!==d?\"\"+d:La(c),We(s)){for(o=0;o<s.length;o++)if(\"\"+s[o]===a){e.push(it);break}}else\"\"+s===a&&e.push(it);else f&&e.push(it);e.push(lt);L(e,h,c);return c;case\"textarea\":e.push(M(\"textarea\"));h=s=i=null;for(c in a)if(Ie.call(a,c)&&(d=a[c],null!=d))switch(c){case\"children\":h=d;break;case\"value\":i=d;break;case\"defaultValue\":s=d;break;case\"dangerouslySetInnerHTML\":throw Error(k(91));default:J(e,o,c,d)}null===i&&null!==s&&(i=s);e.push(lt);if(null!=h){if(null!=i)throw Error(k(92));if(We(h)&&1<h.length)throw Error(k(93));i=\"\"+h}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);null!==i&&e.push(u(C(\"\"+i)));return null;case\"input\":e.push(M(\"input\"));d=h=c=i=null;for(s in a)if(Ie.call(a,s)&&(f=a[s],null!=f))switch(s){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case\"defaultChecked\":d=f;break;case\"defaultValue\":c=f;break;case\"checked\":h=f;break;case\"value\":i=f;break;default:J(e,o,s,f)}null!==h?J(e,o,\"checked\",h):null!==d&&J(e,o,\"checked\",d);null!==i?J(e,o,\"value\",i):null!==c&&J(e,o,\"value\",c);e.push(ut);return null;case\"menuitem\":e.push(M(\"menuitem\"));for(var b in a)if(Ie.call(a,b)&&(i=a[b],null!=i))switch(b){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(400));default:J(e,o,b,i)}e.push(lt);return null;case\"title\":e.push(M(\"title\"));i=null;for(g in a)if(Ie.call(a,g)&&(s=a[g],null!=s))switch(g){case\"children\":i=s;break;case\"dangerouslySetInnerHTML\":throw Error(k(434));default:J(e,o,g,s)}e.push(lt);return i;case\"listing\":case\"pre\":e.push(M(n));s=i=null;for(d in a)if(Ie.call(a,d)&&(c=a[d],null!=c))switch(d){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:J(e,o,d,c)}e.push(lt);if(null!=s){if(null!=i)throw Error(k(60));if(\"object\"!==typeof s||!(\"__html\"in s))throw Error(k(61));a=s.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(st,u(a)):e.push(u(\"\"+a)))}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);return i;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(M(n));for(var m in a)if(Ie.call(a,m)&&(i=a[m],null!=i))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,n));default:J(e,o,m,i)}e.push(ut);return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return Na(e,a,n,o);case\"html\":return 0===l.insertionMode&&e.push(ft),Na(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return Na(e,a,n,o);e.push(M(n));s=i=null;for(f in a)if(Ie.call(a,f)&&(c=a[f],null!=c))switch(f){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"style\":Ia(e,o,c);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ia(f)&&\"function\"!==typeof c&&\"symbol\"!==typeof c&&e.push(nt,u(f),rt,u(C(c)),at)}e.push(lt);L(e,s,i);return i}}var pt=w(\"</\"),ht=w(\">\"),gt=w('<template id=\"'),bt=w('\"></template>'),mt=w(\"\\x3c!--$--\\x3e\"),yt=w('\\x3c!--$?--\\x3e<template id=\"'),vt=w('\"></template>'),kt=w(\"\\x3c!--$!--\\x3e\"),wt=w(\"\\x3c!--/$--\\x3e\"),St=w(\"<template\"),xt=w('\"'),$t=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var Ct=w(\"></template>\");function fb(e,n,a){p(e,yt);if(null===a)throw Error(k(395));p(e,a);return t(e,vt)}var Et=w('<div hidden id=\"'),Ft=w('\">'),Tt=w(\"</div>\"),Rt=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),Pt=w('\">'),_t=w(\"</svg>\"),Mt=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),It=w('\">'),Dt=w(\"</math>\"),Bt=w('<table hidden id=\"'),Nt=w('\">'),zt=w(\"</table>\"),Vt=w('<table hidden><tbody id=\"'),At=w('\">'),Lt=w(\"</tbody></table>\"),jt=w('<table hidden><tr id=\"'),Ot=w('\">'),qt=w(\"</tr></table>\"),Wt=w('<table hidden><colgroup id=\"'),Ht=w('\">'),Ut=w(\"</colgroup></table>\");function Bb(e,n,a,o){switch(a.insertionMode){case 0:case 1:return p(e,Et),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ft);case 2:return p(e,Rt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Pt);case 3:return p(e,Mt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,It);case 4:return p(e,Bt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Nt);case 5:return p(e,Vt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,At);case 6:return p(e,jt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ot);case 7:return p(e,Wt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ht);default:throw Error(k(397))}}function Cb(e,n){switch(n.insertionMode){case 0:case 1:return t(e,Tt);case 2:return t(e,_t);case 3:return t(e,Dt);case 4:return t(e,zt);case 5:return t(e,Lt);case 6:return t(e,qt);case 7:return t(e,Ut);default:throw Error(k(397))}}var Zt=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Xt=w('$RS(\"'),Jt=w('\",\"'),Gt=w('\")<\\/script>'),Qt=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),Yt=w('$RC(\"'),Kt=w('\",\"'),en=w('\")<\\/script>'),tn=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),nn=w('$RX(\"'),rn=w('\"'),an=w(\")<\\/script>\"),on=w(\",\"),ln=/[<\\u2028\\u2029]/g;function Sb(e){return JSON.stringify(e).replace(ln,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}var un=Object.assign,sn=Symbol.for(\"react.element\"),cn=Symbol.for(\"react.portal\"),dn=Symbol.for(\"react.fragment\"),fn=Symbol.for(\"react.strict_mode\"),pn=Symbol.for(\"react.profiler\"),hn=Symbol.for(\"react.provider\"),gn=Symbol.for(\"react.context\"),bn=Symbol.for(\"react.forward_ref\"),mn=Symbol.for(\"react.suspense\"),yn=Symbol.for(\"react.suspense_list\"),vn=Symbol.for(\"react.memo\"),kn=Symbol.for(\"react.lazy\"),wn=Symbol.for(\"react.scope\"),Sn=Symbol.for(\"react.debug_trace_mode\"),xn=Symbol.for(\"react.legacy_hidden\"),$n=Symbol.for(\"react.default_value\"),Cn=Symbol.iterator;function jc(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case dn:return\"Fragment\";case cn:return\"Portal\";case pn:return\"Profiler\";case fn:return\"StrictMode\";case mn:return\"Suspense\";case yn:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case gn:return(e.displayName||\"Context\")+\".Consumer\";case hn:return(e._context.displayName||\"Context\")+\".Provider\";case bn:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case vn:return n=e.displayName||null,null!==n?n:jc(e.type)||\"Memo\";case kn:n=e._payload;e=e._init;try{return jc(e(n))}catch(e){}}return null}var En={};function lc(e,n){e=e.contextTypes;if(!e)return En;var a,o={};for(a in e)o[a]=n[a];return o}var Fn=null;function P(e,n){if(e!==n){e.context._currentValue=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(k(401))}else{if(null===a)throw Error(k(401));P(e,a)}n.context._currentValue=n.value}}function mc(e){e.context._currentValue=e.parentValue;e=e.parent;null!==e&&mc(e)}function nc(e){var n=e.parent;null!==n&&nc(n);e.context._currentValue=e.value}function oc(e,n){e.context._currentValue=e.parentValue;e=e.parent;if(null===e)throw Error(k(402));e.depth===n.depth?P(e,n):oc(e,n)}function pc(e,n){var a=n.parent;if(null===a)throw Error(k(402));e.depth===a.depth?P(e,a):pc(e,a);n.context._currentValue=n.value}function Q(e){var n=Fn;n!==e&&(null===n?nc(e):null===e?mc(n):n.depth===e.depth?P(n,e):n.depth>e.depth?oc(n,e):pc(n,e),Fn=e)}var Tn={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function rc(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=Tn;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:un({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&Tn.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=un({},i,c)):un(i,c))}e.state=i}else i.queue=null}var Rn={id:1,overflow:\"\"};function tc(e,n,a){var o=e.id;e=e.overflow;var l=32-Pn(o)-1;o&=~(1<<l);a+=1;var i=32-Pn(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-Pn(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var Pn=Math.clz32?Math.clz32:vc,_n=Math.log,Mn=Math.LN2;function vc(e){e>>>=0;return 0===e?32:31-(_n(e)/Mn|0)|0}function yc(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var In=\"function\"===typeof Object.is?Object.is:yc,Dn=null,Bn=null,Nn=null,zn=null,Vn=!1,An=!1,Ln=0,jn=null,On=0;function W(){if(null===Dn)throw Error(k(321));return Dn}function Ec(){if(0<On)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===zn?null===Nn?(Vn=!1,Nn=zn=Ec()):(Vn=!0,zn=Nn):null===zn.next?(Vn=!1,zn=zn.next=Ec()):(Vn=!0,zn=zn.next);return zn}function Gc(){Bn=Dn=null;An=!1;Nn=null;On=0;zn=jn=null}function Hc(e,n){return\"function\"===typeof n?n(e):n}function Ic(e,n,a){Dn=W();zn=Fc();if(Vn){var o=zn.queue;n=o.dispatch;if(null!==jn&&(a=jn.get(o),void 0!==a)){jn.delete(o);o=zn.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);zn.memoizedState=o;return[o,n]}return[zn.memoizedState,n]}e=e===Hc?\"function\"===typeof n?n():n:void 0!==a?a(n):n;zn.memoizedState=e;e=zn.queue={last:null,dispatch:null};e=e.dispatch=Jc.bind(null,Dn,e);return[zn.memoizedState,e]}function Kc(e,n){Dn=W();zn=Fc();n=void 0===n?null:n;if(null!==zn){var a=zn.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!In(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();zn.memoizedState=[e,n];return e}function Jc(e,n,a){if(25<=On)throw Error(k(301));if(e===Dn)if(An=!0,e={action:a,next:null},null===jn&&(jn=new Map),a=jn.get(n),void 0===a)jn.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function Lc(){throw Error(k(394))}function Mc(){}var qn={readContext:function(e){return e._currentValue},useContext:function(e){W();return e._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(e){Dn=W();zn=Fc();var n=zn.memoizedState;return null===n?(e={current:e},zn.memoizedState=e):n},useState:function(e){return Ic(Hc,e)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(e,n){return Kc((function(){return e}),n)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(e){W();return e},useTransition:function(){W();return[!1,Lc]},useId:function(){var e=Bn.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-Pn(e)-1)).toString(32)+n;var a=Wn;if(null===a)throw Error(k(404));n=Ln++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){W();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(k(407));return a()}},Wn=null,Hn=Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(e){console.error(e);return null}function X(){}function Rc(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?Qc:l,onAllReady:void 0===i?X:i,onShellReady:void 0===s?X:s,onShellError:void 0===c?X:c,onFatalError:void 0===d?X:d};a=Sc(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Tc(n,e,null,a,h,En,null,Rn);f.push(e);return n}function Tc(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Uc(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function Sc(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function Y(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function Vc(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,da(e.destination,n)):(e.status=1,e.fatalError=n)}function Wc(e,n,a,o,l){Dn={};Bn=n;Ln=0;for(e=a(o,l);An;)An=!1,Ln=0,On+=1,zn=null,e=a(o,l);Gc();return e}function Xc(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(k(108,jc(o)||\"Unknown\",c));o=un({},s,a)}n.legacyContext=o;Z(e,n,l);n.legacyContext=s}else Z(e,n,l)}function Yc(e,n){if(e&&e.defaultProps){n=un({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Zc(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=lc(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue:l);rc(i,a,o,l);Xc(e,n,i,a)}else{i=lc(a,n.legacyContext);l=Wc(e,n,a,o,i);var s=0!==Ln;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)rc(l,a,o,i),Xc(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=tc(o,1,0);try{Z(e,n,l)}finally{n.treeContext=o}}else Z(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case xn:case Sn:case fn:case pn:case dn:Z(e,n,o.children);return;case yn:Z(e,n,o.children);return;case wn:throw Error(k(343));case mn:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=Sc(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=Sc(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if($c(e,n,o),f.lastPushedText&&f.textEmbedded&&f.chunks.push(Qe),f.status=1,ad(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=Y(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Tc(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case bn:o=Wc(e,n,a.render,o,l);if(0!==Ln){a=n.treeContext;n.treeContext=tc(a,1,0);try{Z(e,n,o)}finally{n.treeContext=a}}else Z(e,n,o);return;case vn:a=a.type;o=Yc(a,o);Zc(e,n,a,o,l);return;case hn:l=o.children;a=a._context;o=o.value;i=a._currentValue;a._currentValue=o;s=Fn;Fn=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;Z(e,n,l);e=Fn;if(null===e)throw Error(k(403));o=e.parentValue;e.context._currentValue=o===$n?e.context._defaultValue:o;e=Fn=e.parent;n.context=e;return;case gn:o=o.children;o=o(a._currentValue);Z(e,n,o);return;case kn:l=a._init;a=l(a._payload);o=Yc(a,o);Zc(e,n,a,o,void 0);return}throw Error(k(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=Sa(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=Ba(s,a,o);$c(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(pt,u(a),ht)}l.lastPushedText=!1}}function Z(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case sn:Zc(e,n,a.type,a.props,a.ref);return;case cn:throw Error(k(257));case kn:var o=a._init;a=o(a._payload);Z(e,n,a);return}if(We(a)){bd(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=Cn&&a[Cn]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);bd(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(k(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function bd(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=tc(i,o,l);try{$c(e,n,a[l])}finally{n.treeContext=i}}}function $c(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return Z(e,n,a)}catch(d){if(Gc(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,Q(i),d;a=d;var s=n.blockedSegment,c=Sc(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Tc(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;Q(i)}}function cd(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;dd(this,n,e)}function ed(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(k(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return ed(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function ad(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&ad(e,a)}else e.completedSegments.push(n)}function dd(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(k(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=X,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&ad(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(cd,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(ad(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Uc(e){if(2!==e.status){var n=Fn,a=Hn.current;Hn.current=qn;var o=Wn;Wn=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){Q(s.context);try{Z(c,s,s.node),d.lastPushedText&&d.textEmbedded&&d.chunks.push(Qe),s.abortSet.delete(s),d.status=1,dd(c,s.blockedBoundary,d)}catch(e){if(Gc(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=Y(c,g);null===h?Vc(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}finally{Wn=o,Hn.current=a,a===qn&&Q(n)}}}function gd(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;p(n,gt);p(n,e.placeholderPrefix);e=u(o.toString(16));p(n,e);return t(n,bt);case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)p(n,o[i]);l=hd(e,n,l)}for(;i<o.length-1;i++)p(n,o[i]);i<o.length&&(l=t(n,o[i]));return l;default:throw Error(k(390))}}function hd(e,n,a){var o=a.boundary;if(null===o)return gd(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)o=o.errorDigest,t(n,kt),p(n,St),o&&(p(n,$t),p(n,u(C(o))),p(n,xt)),t(n,Ct),gd(e,n,a);else if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=w(l.boundaryPrefix+i.toString(16));o=o.id=l;fb(n,e.responseState,o);gd(e,n,a)}else if(o.byteSize>e.progressiveChunkSize)o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),fb(n,e.responseState,o.id),gd(e,n,a);else{t(n,mt);a=o.completedSegments;if(1!==a.length)throw Error(k(391));hd(e,n,a[0])}return t(n,wt)}function id(e,n,a){Bb(n,e.responseState,a.formatContext,a.id);hd(e,n,a);return Cb(n,a.formatContext)}function jd(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)kd(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;p(n,e.startInlineScript);e.sentCompleteBoundaryFunction?p(n,Yt):(e.sentCompleteBoundaryFunction=!0,p(n,Qt));if(null===o)throw Error(k(395));a=u(a.toString(16));p(n,o);p(n,Kt);p(n,e.segmentPrefix);p(n,a);return t(n,en)}function kd(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(k(392));return id(e,n,o)}id(e,n,o);e=e.responseState;p(n,e.startInlineScript);e.sentCompleteSegmentFunction?p(n,Xt):(e.sentCompleteSegmentFunction=!0,p(n,Zt));p(n,e.segmentPrefix);l=u(l.toString(16));p(n,l);p(n,Jt);p(n,e.placeholderPrefix);p(n,l);return t(n,Gt)}function fd(e,n){Pe=new Uint8Array(512);_e=0;try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){hd(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)p(n,o[a]);a<o.length&&t(n,o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;p(o,c.startInlineScript);c.sentClientRenderFunction?p(o,nn):(c.sentClientRenderFunction=!0,p(o,tn));if(null===d)throw Error(k(395));p(o,d);p(o,rn);(f||h||g)&&(p(o,on),p(o,u(Sb(f||\"\"))));(h||g)&&(p(o,on),p(o,u(Sb(h||\"\"))));g&&(p(o,on),p(o,u(Sb(g))));if(!t(o,an)){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var b=e.completedBoundaries;for(l=0;l<b.length;l++)if(!jd(e,n,b[l])){e.destination=null;l++;b.splice(0,l);return}b.splice(0,l);ba(n);Pe=new Uint8Array(512);_e=0;var m=e.partialBoundaries;for(l=0;l<m.length;l++){var S=m[l];e:{i=e;s=n;var x=S.completedSegments;for(c=0;c<x.length;c++)if(!kd(i,s,S,x[c])){c++;x.splice(0,c);var $=!1;break e}x.splice(0,c);$=!0}if(!$){e.destination=null;l++;m.splice(0,l);return}}m.splice(0,l);var E=e.completedBoundaries;for(l=0;l<E.length;l++)if(!jd(e,n,E[l])){e.destination=null;l++;E.splice(0,l);return}E.splice(0,l)}finally{ba(n),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.close()}}function ld(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return ed(a,e,n)}));a.clear();null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}}Te.renderToReadableStream=function(e,n){return new Promise((function(a,o){var l,i,s=new Promise((function(e,n){i=e;l=n})),c=Rc(e,za(n?n.identifierPrefix:void 0,n?n.nonce:void 0,n?n.bootstrapScriptContent:void 0,n?n.bootstrapScripts:void 0,n?n.bootstrapModules:void 0),Aa(n?n.namespaceURI:void 0),n?n.progressiveChunkSize:void 0,n?n.onError:void 0,i,(function(){var e=new ReadableStream({type:\"bytes\",pull:function(e){if(1===c.status)c.status=2,da(e,c.fatalError);else if(2!==c.status&&null===c.destination){c.destination=e;try{fd(c,e)}catch(e){Y(c,e),Vc(c,e)}}},cancel:function(){ld(c)}},{highWaterMark:0});e.allReady=s;a(e)}),(function(e){s.catch((function(){}));o(e)}),l);if(n&&n.signal){var d=n.signal,q=function(){ld(c,d.reason);d.removeEventListener(\"abort\",q)};d.addEventListener(\"abort\",q)}Uc(c)}))};Te.version=\"18.2.0\";var Un={};var Zn,Xn;Zn=a;Xn=Te;Un.version=Zn.version;Un.renderToString=Zn.renderToString;Un.renderToStaticMarkup=Zn.renderToStaticMarkup;Un.renderToNodeStream=Zn.renderToNodeStream;Un.renderToStaticNodeStream=Zn.renderToStaticNodeStream;Un.renderToReadableStream=Xn.renderToReadableStream;const Jn=Un.version,Gn=Un.renderToString,Qn=Un.renderToStaticMarkup,Yn=Un.renderToNodeStream,Kn=Un.renderToStaticNodeStream,er=Un.renderToReadableStream;export{Un as default,Yn as renderToNodeStream,er as renderToReadableStream,Qn as renderToStaticMarkup,Kn as renderToStaticNodeStream,Gn as renderToString,Jn as version};\n\n//# sourceMappingURL=server.browser.js.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map","import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map","var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + \",\" + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n\n          (this || _global).matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n\n          (this || _global).matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[i][0], _i[i][1]) + \" \" + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n    }\n\n    if (closed && length) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).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]); // 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]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[i][0] + \",\" + pathNodes.i[i][1] + \" \" + pathNodes.v[i][0] + \",\" + pathNodes.v[i][1];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + \",\" + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\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]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\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]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\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]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\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); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).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\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + color[0] + \" 0 0 0 0 \" + color[1] + \" 0 0 0 0 \" + color[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\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');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\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          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n        }\n\n        pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map","export { default } from \"/npm:lottie-web@5.7.8!cjs\";\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map","// Generated by Framer (85113c0)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"n7OoWdGFD\",\"RsRJO6hwZ\",\"RKewW84q_\",\"Aw7qDyEah\",\"qaFE0yAw1\",\"PYSkJKMAW\",\"WH27pmev3\",\"J4obJGwdn\"];const serializationHash=\"framer-h4WtR\";const variantClassNames={Aw7qDyEah:\"framer-v-prz2rt\",J4obJGwdn:\"framer-v-abu1kg\",n7OoWdGFD:\"framer-v-zeu2of\",PYSkJKMAW:\"framer-v-svhwnm\",qaFE0yAw1:\"framer-v-1ngbt7w\",RKewW84q_:\"framer-v-1jjae9v\",RsRJO6hwZ:\"framer-v-21csxs\",WH27pmev3:\"framer-v-hd1cvv\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop - 0\":\"PYSkJKMAW\",\"Desktop HD - 0\":\"qaFE0yAw1\",\"Desktop HD\":\"n7OoWdGFD\",\"Phone - 0\":\"J4obJGwdn\",\"Tablet - 0\":\"WH27pmev3\",Desktop:\"RsRJO6hwZ\",Phone:\"Aw7qDyEah\",Tablet:\"RKewW84q_\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"n7OoWdGFD\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"n7OoWdGFD\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppear1m8v9r4=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"qaFE0yAw1\",true),3e3);});const onAppear16umijq=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"PYSkJKMAW\",true),3e3);});const onAppear1wbk9ja=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"WH27pmev3\",true),3e3);});const onAppear1b5e387=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"J4obJGwdn\",true),3e3);});useOnVariantChange(baseVariant,{Aw7qDyEah:onAppear1b5e387,default:onAppear1m8v9r4,RKewW84q_:onAppear1wbk9ja,RsRJO6hwZ:onAppear16umijq});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-zeu2of\",className,classNames),\"data-framer-name\":\"Desktop HD\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"n7OoWdGFD\",ref:refBinding,style:{opacity:1,...style},variants:{J4obJGwdn:{opacity:1},PYSkJKMAW:{opacity:1},qaFE0yAw1:{opacity:0},WH27pmev3:{opacity:1}},...addPropertyOverrides({Aw7qDyEah:{\"data-framer-name\":\"Phone\"},J4obJGwdn:{\"data-framer-name\":\"Phone - 0\"},PYSkJKMAW:{\"data-framer-name\":\"Desktop - 0\"},qaFE0yAw1:{\"data-framer-name\":\"Desktop HD - 0\"},RKewW84q_:{\"data-framer-name\":\"Tablet\"},RsRJO6hwZ:{\"data-framer-name\":\"Desktop\"},WH27pmev3:{\"data-framer-name\":\"Tablet - 0\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1i04kxa\",layoutDependency:layoutDependency,layoutId:\"vVAPBHkmz\",style:{backgroundColor:\"var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49))\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-vxet5e-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"oW4B9WnFy-container\",nodeId:\"oW4B9WnFy\",rendersWithMotion:true,scopeId:\"du5xgA6nR\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"oW4B9WnFy\",isForwardsDirection:true,layoutId:\"oW4B9WnFy\",loop:false,pauseOnCanvas:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/9tYRs6MD5Vdve0GEcAePAEkk60.json\",srcType:\"Upload\",srcUrl:\"https://misc.framerstatic.com/lottie/logo.json\",style:{height:\"100%\",maxWidth:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({RKewW84q_:{style:{height:\"100%\",maxHeight:\"100%\",maxWidth:\"100%\",width:\"100%\"}}},baseVariant,gestureVariant)})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-h4WtR.framer-80ulhk, .framer-h4WtR .framer-80ulhk { display: block; }\",\".framer-h4WtR.framer-zeu2of { gap: 10px; height: 800px; overflow: hidden; position: relative; width: 1440px; }\",\".framer-h4WtR .framer-1i04kxa { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: visible; position: absolute; top: calc(50.00000000000002% - 100% / 2); width: 100%; }\",\".framer-h4WtR .framer-vxet5e-container { aspect-ratio: 0.906801007556675 / 1; flex: none; height: 100%; left: 50%; max-width: 100%; position: absolute; top: 50%; width: var(--framer-aspect-ratio-supported, 725px); }\",\".framer-h4WtR.framer-v-21csxs.framer-zeu2of, .framer-h4WtR.framer-v-svhwnm.framer-zeu2of { width: 1080px; }\",\".framer-h4WtR.framer-v-1jjae9v.framer-zeu2of, .framer-h4WtR.framer-v-hd1cvv.framer-zeu2of { height: 1080px; width: 680px; }\",\".framer-h4WtR.framer-v-1jjae9v .framer-vxet5e-container { max-height: 500px; width: var(--framer-aspect-ratio-supported, 181px); }\",\".framer-h4WtR.framer-v-prz2rt.framer-zeu2of, .framer-h4WtR.framer-v-abu1kg.framer-zeu2of { height: 844px; width: 320px; }\",\".framer-h4WtR.framer-v-prz2rt .framer-vxet5e-container, .framer-h4WtR.framer-v-abu1kg .framer-vxet5e-container { height: var(--framer-aspect-ratio-supported, 0px); width: 100%; }\",\".framer-h4WtR.framer-v-1ngbt7w .framer-1i04kxa, .framer-h4WtR.framer-v-svhwnm .framer-1i04kxa, .framer-h4WtR.framer-v-hd1cvv .framer-1i04kxa, .framer-h4WtR.framer-v-abu1kg .framer-1i04kxa { top: -2000px; }\",\".framer-h4WtR.framer-v-hd1cvv .framer-vxet5e-container { height: 46%; min-height: 500px; width: var(--framer-aspect-ratio-supported, 453px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"RsRJO6hwZ\":{\"layout\":[\"fixed\",\"fixed\"]},\"RKewW84q_\":{\"layout\":[\"fixed\",\"fixed\"]},\"Aw7qDyEah\":{\"layout\":[\"fixed\",\"fixed\"]},\"qaFE0yAw1\":{\"layout\":[\"fixed\",\"fixed\"]},\"PYSkJKMAW\":{\"layout\":[\"fixed\",\"fixed\"]},\"WH27pmev3\":{\"layout\":[\"fixed\",\"fixed\"]},\"J4obJGwdn\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerdu5xgA6nR=withCSS(Component,css,\"framer-h4WtR\");export default Framerdu5xgA6nR;Framerdu5xgA6nR.displayName=\"intro\";Framerdu5xgA6nR.defaultProps={height:800,width:1440};addPropertyControls(Framerdu5xgA6nR,{variant:{options:[\"n7OoWdGFD\",\"RsRJO6hwZ\",\"RKewW84q_\",\"Aw7qDyEah\",\"qaFE0yAw1\",\"PYSkJKMAW\",\"WH27pmev3\",\"J4obJGwdn\"],optionTitles:[\"Desktop HD\",\"Desktop\",\"Tablet\",\"Phone\",\"Desktop HD - 0\",\"Desktop - 0\",\"Tablet - 0\",\"Phone - 0\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framerdu5xgA6nR,[{explicitInter:true,fonts:[]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerdu5xgA6nR\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"RsRJO6hwZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"RKewW84q_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Aw7qDyEah\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qaFE0yAw1\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PYSkJKMAW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"WH27pmev3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"J4obJGwdn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1440\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"800\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./du5xgA6nR.map","var e=typeof globalThis!==\"undefined\"?globalThis:typeof self!==\"undefined\"?self:global;var t={};(function(e,n){t=n()})(0,(()=>(()=>{var t=[,(t,n,r)=>{r.r(n);r.d(n,{default:()=>a});var i=(()=>{var t=typeof document!==\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return function(n={}){var r,i,a=n;a.ready=new Promise(((e,t)=>{r=e;i=t}));function o(){function t(e){const t=i;r=n=0;i=new Map;t.forEach((t=>{try{t(e)}catch(e){console.error(e)}}));this.pb();a&&a.Tb()}let n=0,r=0,i=new Map,a=null,o=null;(this||e).requestAnimationFrame=function(a){n||(n=requestAnimationFrame(t.bind(this||e)));const o=++r;i.set(o,a);return o};(this||e).cancelAnimationFrame=function(e){i.delete(e);n&&0==i.size&&(cancelAnimationFrame(n),n=0)};(this||e).Rb=function(t){o&&(document.body.remove(o),o=null);t||(o=document.createElement(\"div\"),o.style.backgroundColor=\"black\",o.style.position=\"fixed\",o.style.right=0,o.style.top=0,o.style.color=\"white\",o.style.padding=\"4px\",o.innerHTML=\"RIVE FPS\",t=function(e){o.innerHTML=\"RIVE FPS \"+e.toFixed(1)},document.body.appendChild(o));a=new function(){let n=0,r=0;(this||e).Tb=function(){var e=performance.now();r?(++n,e-=r,1e3<e&&(t(1e3*n/e),n=r=0)):(r=e,n=0)}}};(this||e).Ob=function(){o&&(document.body.remove(o),o=null);a=null};(this||e).pb=function(){}}function s(t){undefined;const n=new Map;let r=-Infinity;(this||e).push=function(e){e=e+((1<<t)-1)>>t;n.has(e)&&clearTimeout(n.get(e));n.set(e,setTimeout((function(){n.delete(e);0==n.length?r=-Infinity:e==r&&(r=Math.max(...n.keys()),console.assert(r<e))}),1e3));r=Math.max(e,r);return r<<t}}const u=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){u&&u();let t=a.decodeAudio;a.decodeAudio=function(e,n){e=t(e);n(e)};let n=a.decodeFont;a.decodeFont=function(e,t){e=n(e);t(e)};const r=a.FileAssetLoader;a.ptrToAsset=e=>{let t=a.ptrToFileAsset(e);return t.isImage?a.ptrToImageAsset(e):t.isFont?a.ptrToFontAsset(e):t.isAudio?a.ptrToAudioAsset(e):t};a.CustomFileAssetLoader=r.extend(\"CustomFileAssetLoader\",{__construct:function({loadContents:t}){(this||e).__parent.__construct.call(this||e);(this||e).Gb=t},loadContents:function(e,t){e=a.ptrToAsset(e);return this.Gb(e,t)}});a.CDNFileAssetLoader=r.extend(\"CDNFileAssetLoader\",{__construct:function(){(this||e).__parent.__construct.call(this||e)},loadContents:function(e){let t=a.ptrToAsset(e);e=t.cdnUuid;if(\"\"===e)return!1;(function(e,t){var n=new XMLHttpRequest;n.responseType=\"arraybuffer\";n.onreadystatechange=function(){4==n.readyState&&200==n.status&&t(n)};n.open(\"GET\",e,!0);n.send(null)})(t.cdnBaseUrl+\"/\"+e,(e=>{t.decode(new Uint8Array(e.response))}));return!0}});a.FallbackFileAssetLoader=r.extend(\"FallbackFileAssetLoader\",{__construct:function(){(this||e).__parent.__construct.call(this||e);(this||e).lb=[]},addLoader:function(t){(this||e).lb.push(t)},loadContents:function(t,n){for(let r of(this||e).lb)if(r.loadContents(t,n))return!0;return!1}});let i=a.computeAlignment;a.computeAlignment=function(t,n,r,a,o=1){return i.call(this||e,t,n,r,a,o)}};const l=\"createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText\".split(\" \"),c=new function(){function t(){if(!n){var e=document.createElement(\"canvas\"),t={alpha:1,depth:0,stencil:0,antialias:0,premultipliedAlpha:1,preserveDrawingBuffer:0,powerPreference:\"high-performance\",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:1,explicitSwapControl:1,renderViaOffscreenBackBuffer:1};let s;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){if(s=e.getContext(\"webgl\",t),r=1,!s)return console.log(\"No WebGL support. Image mesh will not be drawn.\"),!1}else if(s=e.getContext(\"webgl2\",t))r=2;else{if(!(s=e.getContext(\"webgl\",t)))return console.log(\"No WebGL support. Image mesh will not be drawn.\"),!1;r=1}s=new Proxy(s,{get(e,t){return e.isContextLost()?(c||(console.error(\"Cannot render the mesh because the GL Context was lost. Tried to invoke \",t),c=!0),\"function\"===typeof e[t]?function(){}:void 0):\"function\"===typeof e[t]?function(...n){return e[t].apply(e,n)}:e[t]},set(e,t,n){if(!e.isContextLost())return e[t]=n,!0;c||(console.error(\"Cannot render the mesh because the GL Context was lost. Tried to set property \"+t),c=!0)}});i=Math.min(s.getParameter(s.MAX_RENDERBUFFER_SIZE),s.getParameter(s.MAX_TEXTURE_SIZE));function u(e,t,n){t=s.createShader(t);s.shaderSource(t,n);s.compileShader(t);n=s.getShaderInfoLog(t);if(0<(n||\"\").length)throw n;s.attachShader(e,t)}e=s.createProgram();u(e,s.VERTEX_SHADER,\"attribute vec2 vertex;\\n                attribute vec2 uv;\\n                uniform vec4 mat;\\n                uniform vec2 translate;\\n                varying vec2 st;\\n                void main() {\\n                    st = uv;\\n                    gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\\n                }\");u(e,s.FRAGMENT_SHADER,\"precision highp float;\\n                uniform sampler2D image;\\n                varying vec2 st;\\n                void main() {\\n                    gl_FragColor = texture2D(image, st);\\n                }\");s.bindAttribLocation(e,0,\"vertex\");s.bindAttribLocation(e,1,\"uv\");s.linkProgram(e);t=s.getProgramInfoLog(e);if(0<(t||\"\").trim().length)throw t;a=s.getUniformLocation(e,\"mat\");o=s.getUniformLocation(e,\"translate\");s.useProgram(e);s.bindBuffer(s.ARRAY_BUFFER,s.createBuffer());s.enableVertexAttribArray(0);s.enableVertexAttribArray(1);s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,s.createBuffer());s.uniform1i(s.getUniformLocation(e,\"image\"),0);s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);n=s}return!0}let n=null,r=0,i=0,a=null,o=null,u=0,l=0,c=!1;t();(this||e).hc=function(){t();return i};(this||e).Mb=function(e){n.deleteTexture&&n.deleteTexture(e)};(this||e).Lb=function(e){if(!t())return null;const i=n.createTexture();if(!i)return null;n.bindTexture(n.TEXTURE_2D,i);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR);2==r?(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR_MIPMAP_LINEAR),n.generateMipmap(n.TEXTURE_2D)):n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR);return i};const h=new s(8),f=new s(8),d=new s(10),p=new s(10);(this||e).Qb=function(e,r,i,s,c){if(t()){var v=h.push(e),m=f.push(r);if(n.canvas){n.canvas.width==v&&n.canvas.height==m||(n.canvas.width=v,n.canvas.height=m);n.viewport(0,m-r,e,r);n.disable(n.SCISSOR_TEST);n.clearColor(0,0,0,0);n.clear(n.COLOR_BUFFER_BIT);n.enable(n.SCISSOR_TEST);i.sort(((e,t)=>t.xb-e.xb));v=d.push(s);u!=v&&(n.bufferData(n.ARRAY_BUFFER,8*v,n.DYNAMIC_DRAW),u=v);v=0;for(var b of i)n.bufferSubData(n.ARRAY_BUFFER,v,b.Ua),v+=4*b.Ua.length;console.assert(v==4*s);for(var g of i)n.bufferSubData(n.ARRAY_BUFFER,v,g.Db),v+=4*g.Db.length;console.assert(v==8*s);v=p.push(c);l!=v&&(n.bufferData(n.ELEMENT_ARRAY_BUFFER,2*v,n.DYNAMIC_DRAW),l=v);b=0;for(var y of i)n.bufferSubData(n.ELEMENT_ARRAY_BUFFER,b,y.indices),b+=2*y.indices.length;console.assert(b==2*c);y=0;g=!0;v=b=0;for(const t of i){t.image.Ka!=y&&(n.bindTexture(n.TEXTURE_2D,t.image.Ja||null),y=t.image.Ka);t.mc?(n.scissor(t.Za,m-t.$a-t.kb,t.Ac,t.kb),g=!0):g&&(n.scissor(0,m-r,e,r),g=!1);i=2/e;const u=-2/r;n.uniform4f(a,t.ha[0]*i*t.Ba,t.ha[1]*u*t.Ca,t.ha[2]*i*t.Ba,t.ha[3]*u*t.Ca);n.uniform2f(o,t.ha[4]*i*t.Ba+i*(t.Za-t.ic*t.Ba)-1,t.ha[5]*u*t.Ca+u*(t.$a-t.jc*t.Ca)+1);n.vertexAttribPointer(0,2,n.FLOAT,!1,0,v);n.vertexAttribPointer(1,2,n.FLOAT,!1,0,v+4*s);n.drawElements(n.TRIANGLES,t.indices.length,n.UNSIGNED_SHORT,b);v+=4*t.Ua.length;b+=2*t.indices.length}console.assert(v==4*s);console.assert(b==2*c)}}};(this||e).canvas=function(){return t()&&n.canvas}},h=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){function t(e){switch(e){case v.srcOver:return\"source-over\";case v.screen:return\"screen\";case v.overlay:return\"overlay\";case v.darken:return\"darken\";case v.lighten:return\"lighten\";case v.colorDodge:return\"color-dodge\";case v.colorBurn:return\"color-burn\";case v.hardLight:return\"hard-light\";case v.softLight:return\"soft-light\";case v.difference:return\"difference\";case v.exclusion:return\"exclusion\";case v.multiply:return\"multiply\";case v.hue:return\"hue\";case v.saturation:return\"saturation\";case v.color:return\"color\";case v.luminosity:return\"luminosity\"}}function n(e){return\"rgba(\"+((16711680&e)>>>16)+\",\"+((65280&e)>>>8)+\",\"+((255&e)>>>0)+\",\"+((4278190080&e)>>>24)/255+\")\"}function r(){0<P.length&&(c.Qb(M.drawWidth(),M.drawHeight(),P,I,E),P=[],E=I=0,M.reset(512,512));for(const e of C){for(const t of e.H)t();e.H=[]}C.clear()}h&&h();var i=a.RenderPaintStyle;const s=a.RenderPath,u=a.RenderPaint,f=a.Renderer,d=a.StrokeCap,p=a.StrokeJoin,v=a.BlendMode,m=i.fill,b=i.stroke,g=a.FillRule.evenOdd;let y=1;var w=a.RenderImage.extend(\"CanvasRenderImage\",{__construct:function({la:t,xa:n}={}){(this||e).__parent.__construct.call(this||e);(this||e).Ka=y;y=y+1&2147483647||1;(this||e).la=t;(this||e).xa=n},__destruct:function(){(this||e).Ja&&(c.Mb((this||e).Ja),URL.revokeObjectURL((this||e).Xa));(this||e).__parent.__destruct.call(this||e)},decode:function(t){var n=this||e;n.xa&&n.xa(n);var r=new Image;n.Xa=URL.createObjectURL(new Blob([t],{type:\"image/png\"}));r.onload=function(){n.Fb=r;n.Ja=c.Lb(r);n.size(r.width,r.height);n.la&&n.la(n)};r.src=n.Xa}}),_=s.extend(\"CanvasRenderPath\",{__construct:function(){(this||e).__parent.__construct.call(this||e);(this||e).T=new Path2D},rewind:function(){(this||e).T=new Path2D},addPath:function(t,n,r,i,a,o,s){var u=(this||e).T,l=u.addPath;t=t.T;const c=new DOMMatrix;c.a=n;c.b=r;c.c=i;c.d=a;c.e=o;c.f=s;l.call(u,t,c)},fillRule:function(t){(this||e).Wa=t},moveTo:function(t,n){(this||e).T.moveTo(t,n)},lineTo:function(t,n){(this||e).T.lineTo(t,n)},cubicTo:function(t,n,r,i,a,o){(this||e).T.bezierCurveTo(t,n,r,i,a,o)},close:function(){(this||e).T.closePath()}}),A=u.extend(\"CanvasRenderPaint\",{color:function(t){(this||e).Ya=n(t)},thickness:function(t){(this||e).Ib=t},join:function(t){switch(t){case p.miter:(this||e).Ia=\"miter\";break;case p.round:(this||e).Ia=\"round\";break;case p.bevel:(this||e).Ia=\"bevel\"}},cap:function(t){switch(t){case d.butt:(this||e).Ha=\"butt\";break;case d.round:(this||e).Ha=\"round\";break;case d.square:(this||e).Ha=\"square\"}},style:function(t){(this||e).Hb=t},blendMode:function(n){(this||e).Eb=t(n)},clearGradient:function(){(this||e).ja=null},linearGradient:function(t,n,r,i){(this||e).ja={zb:t,Ab:n,cb:r,eb:i,Ra:[]}},radialGradient:function(t,n,r,i){(this||e).ja={zb:t,Ab:n,cb:r,eb:i,Ra:[],ec:!0}},addStop:function(t,n){(this||e).ja.Ra.push({color:t,stop:n})},completeGradient:function(){},draw:function(t,r,i){let a=(this||e).Hb;var o=(this||e).Ya,s=(this||e).ja;t.globalCompositeOperation=(this||e).Eb;if(null!=s){o=s.zb;var u=s.Ab;const r=s.cb;var l=s.eb;const i=s.Ra;s.ec?(s=r-o,l-=u,o=t.createRadialGradient(o,u,0,o,u,Math.sqrt(s*s+l*l))):o=t.createLinearGradient(o,u,r,l);for(let e=0,t=i.length;e<t;e++)u=i[e],o.addColorStop(u.stop,n(u.color));(this||e).Ya=o;(this||e).ja=null}switch(a){case b:t.strokeStyle=o;t.lineWidth=(this||e).Ib;t.lineCap=(this||e).Ha;t.lineJoin=(this||e).Ia;t.stroke(r);break;case m:t.fillStyle=o,t.fill(r,i)}}});const C=new Set;let M=null,P=[],I=0,E=0;var R=a.CanvasRenderer=f.extend(\"Renderer\",{__construct:function(t){(this||e).__parent.__construct.call(this||e);(this||e).S=[1,0,0,1,0,0];(this||e).C=t.getContext(\"2d\");(this||e).Va=t;(this||e).H=[]},save:function(){(this||e).S.push(...(this||e).S.slice((this||e).S.length-6));(this||e).H.push((this||e).C.save.bind((this||e).C))},restore:function(){const t=(this||e).S.length-6;if(6>t)throw\"restore() called without matching save().\";(this||e).S.splice(t);(this||e).H.push((this||e).C.restore.bind((this||e).C))},transform:function(t,n,r,i,a,o){const s=(this||e).S,u=s.length-6;s.splice(u,6,s[u]*t+s[u+2]*n,s[u+1]*t+s[u+3]*n,s[u]*r+s[u+2]*i,s[u+1]*r+s[u+3]*i,s[u]*a+s[u+2]*o+s[u+4],s[u+1]*a+s[u+3]*o+s[u+5]);(this||e).H.push((this||e).C.transform.bind((this||e).C,t,n,r,i,a,o))},rotate:function(e){const t=Math.sin(e);e=Math.cos(e);this.transform(e,t,-t,e,0,0)},_drawPath:function(t,n){(this||e).H.push(n.draw.bind(n,(this||e).C,t.T,t.Wa===g?\"evenodd\":\"nonzero\"))},_drawRiveImage:function(n,r,i){var a=n.Fb;if(a){var o=(this||e).C,s=t(r);(this||e).H.push((function(){o.globalCompositeOperation=s;o.globalAlpha=i;o.drawImage(a,0,0);o.globalAlpha=1}))}},_getMatrix:function(t){const n=(this||e).S,r=n.length-6;for(let e=0;6>e;++e)t[e]=n[r+e]},_drawImageMesh:function(n,i,o,s,u,l,h,f,d,p){var v=(this||e).C.canvas.width,m=(this||e).C.canvas.height;const b=d-h,g=p-f;h=Math.max(h,0);f=Math.max(f,0);d=Math.min(d,v);p=Math.min(p,m);const y=d-h,w=p-f;console.assert(y<=Math.min(b,v));console.assert(w<=Math.min(g,m));if(!(0>=y||0>=w)){d=y<b||w<g;v=p=1;var _=Math.ceil(y*p),A=Math.ceil(w*v);m=c.hc();_>m&&(p*=m/_,_=m);A>m&&(v*=m/A,A=m);M||(M=new a.DynamicRectanizer(m),M.reset(512,512));m=M.addRect(_,A);0>m&&(r(),C.add(this||e),m=M.addRect(_,A),console.assert(0<=m));var R=m&65535,T=m>>16;P.push({ha:(this||e).S.slice((this||e).S.length-6),image:n,Za:R,$a:T,ic:h,jc:f,Ac:_,kb:A,Ba:p,Ca:v,Ua:new Float32Array(s),Db:new Float32Array(u),indices:new Uint16Array(l),mc:d,xb:n.Ka<<1|(d?1:0)});I+=s.length;E+=l.length;var F=(this||e).C,L=t(i);(this||e).H.push((function(){F.save();F.resetTransform();F.globalCompositeOperation=L;F.globalAlpha=o;const e=c.canvas();e&&F.drawImage(e,R,T,_,A,h,f,y,w);F.restore()}))}},_clipPath:function(t){(this||e).H.push((this||e).C.clip.bind((this||e).C,t.T,t.Wa===g?\"evenodd\":\"nonzero\"))},clear:function(){C.add(this||e);(this||e).H.push((this||e).C.clearRect.bind((this||e).C,0,0,(this||e).Va.width,(this||e).Va.height))},flush:function(){},translate:function(e,t){this.transform(1,0,0,1,e,t)}});a.makeRenderer=function(e){const t=new R(e),n=t.C;return new Proxy(t,{get(e,r){if(\"function\"===typeof e[r])return function(...t){return e[r].apply(e,t)};if(\"function\"===typeof n[r]){if(-1<l.indexOf(r))throw Error(\"RiveException: Method call to '\"+r+\"()' is not allowed, as the renderer cannot immediately pass through the return                 values of any canvas 2d context methods.\");return function(...e){t.H.push(n[r].bind(n,...e))}}return e[r]},set(e,r,i){if(r in n)return t.H.push((()=>{n[r]=i})),!0}})};a.decodeImage=function(e,t){new w({la:t}).decode(e)};a.renderFactory={makeRenderPaint:function(){return new A},makeRenderPath:function(){return new _},makeRenderImage:function(){let e=F;return new w({xa:()=>{e.total++},la:()=>{e.loaded++;if(e.loaded===e.total){const t=e.ready;t&&(t(),e.ready=null)}}})}};let T=a.load,F=null;a.load=function(e,t,n=!0){const r=new a.FallbackFileAssetLoader;void 0!==t&&r.addLoader(t);n&&(t=new a.CDNFileAssetLoader,r.addLoader(t));return new Promise((function(t){let n=null;F={total:0,loaded:0,ready:function(){t(n)}};n=T(e,r);0==F.total&&t(n)}))};let L=a.RendererWrapper.prototype.align;a.RendererWrapper.prototype.align=function(t,n,r,i,a=1){L.call(this||e,t,n,r,i,a)};i=new o;a.requestAnimationFrame=i.requestAnimationFrame.bind(i);a.cancelAnimationFrame=i.cancelAnimationFrame.bind(i);a.enableFPSCounter=i.Rb.bind(i);a.disableFPSCounter=i.Ob;i.pb=r;a.resolveAnimationFrame=r;a.cleanup=function(){M&&M.delete()}};var f,d,p=Object.assign({},a),v=\"./this.program\",m=\"object\"==typeof window,b=\"function\"==typeof importScripts,g=\"\";(m||b)&&(b?g=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(g=document.currentScript.src),t&&(g=t),g=0!==g.indexOf(\"blob:\")?g.substr(0,g.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",b&&(d=e=>{var t=new XMLHttpRequest;t.open(\"GET\",e,!1);t.responseType=\"arraybuffer\";t.send(null);return new Uint8Array(t.response)}),f=(e,t,n)=>{var r=new XMLHttpRequest;r.open(\"GET\",e,!0);r.responseType=\"arraybuffer\";r.onload=()=>{200==r.status||0==r.status&&r.response?t(r.response):n()};r.onerror=n;r.send(null)});var y=a.print||console.log.bind(console),w=a.printErr||console.error.bind(console);Object.assign(a,p);p=null;a.thisProgram&&(v=a.thisProgram);var _;a.wasmBinary&&(_=a.wasmBinary);a.noExitRuntime;\"object\"!=typeof WebAssembly&&N(\"no native wasm support detected\");var A,C,M,P,I,E,R,T,F,L,k=!1;function j(){var e=A.buffer;a.HEAP8=M=new Int8Array(e);a.HEAP16=I=new Int16Array(e);a.HEAP32=R=new Int32Array(e);a.HEAPU8=P=new Uint8Array(e);a.HEAPU16=E=new Uint16Array(e);a.HEAPU32=T=new Uint32Array(e);a.HEAPF32=F=new Float32Array(e);a.HEAPF64=L=new Float64Array(e)}var S,O=[],x=[],D=[];function W(){var e=a.preRun.shift();O.unshift(e)}var U=0,V=null,B=null;function N(e){a.onAbort&&a.onAbort(e);e=\"Aborted(\"+e+\")\";w(e);k=!0;e=new WebAssembly.RuntimeError(e+\". Build with -sASSERTIONS for more info.\");i(e);throw e}function $(e){return e.startsWith(\"data:application/octet-stream;base64,\")}var z;z=\"canvas_advanced.wasm\";if(!$(z)){var H=z;z=a.locateFile?a.locateFile(H,g):g+H}function Y(e){if(e==z&&_)return new Uint8Array(_);if(d)return d(e);throw\"both async and sync fetching of the wasm failed\"}function X(e){if(!_&&(m||b)){if(\"function\"==typeof fetch&&!e.startsWith(\"file://\"))return fetch(e,{credentials:\"same-origin\"}).then((t=>{if(!t.ok)throw\"failed to load wasm binary file at '\"+e+\"'\";return t.arrayBuffer()})).catch((()=>Y(e)));if(f)return new Promise(((t,n)=>{f(e,(e=>t(new Uint8Array(e))),n)}))}return Promise.resolve().then((()=>Y(e)))}function G(e,t,n){return X(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(n,(e=>{w(\"failed to asynchronously prepare wasm: \"+e);N(e)}))}function q(e,t){var n=z;return _||\"function\"!=typeof WebAssembly.instantiateStreaming||$(n)||n.startsWith(\"file://\")||\"function\"!=typeof fetch?G(n,e,t):fetch(n,{credentials:\"same-origin\"}).then((r=>WebAssembly.instantiateStreaming(r,e).then(t,(function(r){w(\"wasm streaming compile failed: \"+r);w(\"falling back to ArrayBuffer instantiation\");return G(n,e,t)}))))}var J,K,Z={453404:(e,t,n,r,i)=>{if(\"undefined\"===typeof window||void 0===(window.AudioContext||window.webkitAudioContext))return 0;if(\"undefined\"===typeof window.h){window.h={Aa:0};window.h.I={};window.h.I.ya=e;window.h.I.capture=t;window.h.I.La=n;window.h.ga={};window.h.ga.stopped=r;window.h.ga.yb=i;let a=window.h;a.D=[];a.yc=function(e){for(var t=0;t<a.D.length;++t)if(null==a.D[t])return a.D[t]=e,t;a.D.push(e);return a.D.length-1};a.Cb=function(e){for(a.D[e]=null;0<a.D.length;){if(null!=a.D[a.D.length-1])break;a.D.pop()}};a.Sc=function(e){for(var t=0;t<a.D.length;++t)if(a.D[t]==e)return a.Cb(t)};a.ra=function(e){return a.D[e]};a.Ta=[\"touchend\",\"click\"];a.unlock=function(){for(var e=0;e<a.D.length;++e){var t=a.D[e];null!=t&&null!=t.J&&t.state===a.ga.yb&&t.J.resume().then((()=>{$n(t.qb)}),(e=>{console.error(\"Failed to resume audiocontext\",e)}))}a.Ta.map((function(e){document.removeEventListener(e,a.unlock,!0)}))};a.Ta.map((function(e){document.addEventListener(e,a.unlock,!0)}))}window.h.Aa+=1;return 1},455582:()=>{\"undefined\"!==typeof window.h&&(window.h.Ta.map((function(e){document.removeEventListener(e,window.h.unlock,!0)})),--window.h.Aa,0===window.h.Aa&&delete window.h)},455886:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,455990:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;e.close();return t}catch(e){return 0}},456161:(e,t,n,r,i,a)=>{if(\"undefined\"===typeof window.h)return-1;var o={},s={};e==window.h.I.ya&&0!=n&&(s.sampleRate=n);o.J=new(window.AudioContext||window.webkitAudioContext)(s);o.J.suspend();o.state=window.h.ga.stopped;n=0;e!=window.h.I.ya&&(n=t);o.Z=o.J.createScriptProcessor(r,n,t);o.Z.onaudioprocess=function(n){null!=o.sa&&0!=o.sa.length||(o.sa=new Float32Array(F.buffer,i,r*t));if(e==window.h.I.capture||e==window.h.I.La){for(var s=0;s<t;s+=1)for(var u=n.inputBuffer.getChannelData(s),l=o.sa,c=0;c<r;c+=1)l[c*t+s]=u[c];zn(a,r,i)}if(e==window.h.I.ya||e==window.h.I.La)for(Hn(a,r,i),s=0;s<n.outputBuffer.numberOfChannels;++s)for(u=n.outputBuffer.getChannelData(s),l=o.sa,c=0;c<r;c+=1)u[c]=l[c*t+s];else for(s=0;s<n.outputBuffer.numberOfChannels;++s)n.outputBuffer.getChannelData(s).fill(0)};e!=window.h.I.capture&&e!=window.h.I.La||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(e){o.Da=o.J.createMediaStreamSource(e);o.Da.connect(o.Z);o.Z.connect(o.J.destination)})).catch((function(e){console.log(\"Failed to get user media: \"+e)}));e==window.h.I.ya&&o.Z.connect(o.J.destination);o.qb=a;return window.h.yc(o)},459038:e=>window.h.ra(e).J.sampleRate,459111:e=>{e=window.h.ra(e);void 0!==e.Z&&(e.Z.onaudioprocess=function(){},e.Z.disconnect(),e.Z=void 0);void 0!==e.Da&&(e.Da.disconnect(),e.Da=void 0);e.J.close();e.J=void 0;e.qb=void 0},459511:e=>{window.h.Cb(e)},459561:e=>{e=window.h.ra(e);e.J.resume();e.state=window.h.ga.yb},459700:e=>{e=window.h.ra(e);e.J.suspend();e.state=window.h.ga.stopped}},Q=e=>{for(;0<e.length;)e.shift()(a)},ee=(e,t)=>{for(var n=0,r=e.length-1;0<=r;r--){var i=e[r];\".\"===i?e.splice(r,1):\"..\"===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(\"..\");return e},te=e=>{var t=\"/\"===e.charAt(0),n=\"/\"===e.substr(-1);(e=ee(e.split(\"/\").filter((e=>!!e)),!t).join(\"/\"))||t||(e=\".\");e&&n&&(e+=\"/\");return(t?\"/\":\"\")+e},ne=e=>{var t=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1);e=t[0];t=t[1];if(!e&&!t)return\".\";t&&(t=t.substr(0,t.length-1));return e+t},re=e=>{if(\"/\"===e)return\"/\";e=te(e);e=e.replace(/\\/$/,\"\");var t=e.lastIndexOf(\"/\");return-1===t?e:e.substr(t+1)},ie=()=>{if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);N(\"initRandomDevice\")},ae=e=>(ae=ie())(e);function oe(){for(var e=\"\",t=!1,n=arguments.length-1;-1<=n&&!t;n--){t=0<=n?arguments[n]:\"/\";if(\"string\"!=typeof t)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!t)return\"\";e=t+\"/\"+e;t=\"/\"===t.charAt(0)}e=ee(e.split(\"/\").filter((e=>!!e)),!t).join(\"/\");return(t?\"/\":\"\")+e||\".\"}var se=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0,ue=(e,t,n)=>{var r=t+n;for(n=t;e[n]&&!(n>=r);)++n;if(16<n-t&&e.buffer&&se)return se.decode(e.subarray(t,n));for(r=\"\";t<n;){var i=e[t++];if(i&128){var a=e[t++]&63;if(192==(i&224))r+=String.fromCharCode((i&31)<<6|a);else{var o=e[t++]&63;i=224==(i&240)?(i&15)<<12|a<<6|o:(i&7)<<18|a<<12|o<<6|e[t++]&63;65536>i?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}}else r+=String.fromCharCode(i)}return r},le=[],ce=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},he=(e,t,n,r)=>{if(!(0<r))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.charCodeAt(a);if(55296<=o&&57343>=o){var s=e.charCodeAt(++a);o=65536+((o&1023)<<10)|s&1023}if(127>=o){if(n>=r)break;t[n++]=o}else{if(2047>=o){if(n+1>=r)break;t[n++]=192|o>>6}else{if(65535>=o){if(n+2>=r)break;t[n++]=224|o>>12}else{if(n+3>=r)break;t[n++]=240|o>>18;t[n++]=128|o>>12&63}t[n++]=128|o>>6&63}t[n++]=128|o&63}}t[n]=0;return n-i};function fe(e,t){var n=Array(ce(e)+1);e=he(e,n,0,n.length);t&&(n.length=e);return n}var de=[];function pe(e,t){de[e]={input:[],F:[],V:t};He(e,ve)}var ve={open:function(e){var t=de[e.node.za];if(!t)throw new Le(43);e.s=t;e.seekable=!1},close:function(e){e.s.V.qa(e.s)},qa:function(e){e.s.V.qa(e.s)},read:function(e,t,n,r){if(!e.s||!e.s.V.jb)throw new Le(60);for(var i=0,a=0;a<r;a++){try{var o=e.s.V.jb(e.s)}catch(e){throw new Le(29)}if(void 0===o&&0===i)throw new Le(6);if(null===o||void 0===o)break;i++;t[n+a]=o}i&&(e.node.timestamp=Date.now());return i},write:function(e,t,n,r){if(!e.s||!e.s.V.Oa)throw new Le(60);try{for(var i=0;i<r;i++)e.s.V.Oa(e.s,t[n+i])}catch(e){throw new Le(29)}r&&(e.node.timestamp=Date.now());return i}},me={jb:function(){e:{if(!le.length){var e=null;\"undefined\"!=typeof window&&\"function\"==typeof window.prompt?(e=window.prompt(\"Input: \"),null!==e&&(e+=\"\\n\")):\"function\"==typeof readline&&(e=readline(),null!==e&&(e+=\"\\n\"));if(!e){e=null;break e}le=fe(e,!0)}e=le.shift()}return e},Oa:function(e,t){null===t||10===t?(y(ue(e.F,0)),e.F=[]):0!=t&&e.F.push(t)},qa:function(e){e.F&&0<e.F.length&&(y(ue(e.F,0)),e.F=[])},bc:function(){return{Fc:25856,Hc:5,Ec:191,Gc:35387,Dc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},cc:function(){return 0},dc:function(){return[24,80]}},be={Oa:function(e,t){null===t||10===t?(w(ue(e.F,0)),e.F=[]):0!=t&&e.F.push(t)},qa:function(e){e.F&&0<e.F.length&&(w(ue(e.F,0)),e.F=[])}};function ge(e,t){var n=e.j?e.j.length:0;n>=t||(t=Math.max(t,n*(1048576>n?2:1.125)>>>0),0!=n&&(t=Math.max(t,256)),n=e.j,e.j=new Uint8Array(t),0<e.v&&e.j.set(n.subarray(0,e.v),0))}var ye={O:null,U(){return ye.createNode(null,\"/\",16895,0)},createNode(e,t,n,r){if(24576===(n&61440)||4096===(n&61440))throw new Le(63);ye.O||(ye.O={dir:{node:{Y:ye.l.Y,P:ye.l.P,ka:ye.l.ka,va:ye.l.va,vb:ye.l.vb,Bb:ye.l.Bb,wb:ye.l.wb,tb:ye.l.tb,Ea:ye.l.Ea},stream:{ba:ye.m.ba}},file:{node:{Y:ye.l.Y,P:ye.l.P},stream:{ba:ye.m.ba,read:ye.m.read,write:ye.m.write,pa:ye.m.pa,mb:ye.m.mb,ob:ye.m.ob}},link:{node:{Y:ye.l.Y,P:ye.l.P,ma:ye.l.ma},stream:{}},ab:{node:{Y:ye.l.Y,P:ye.l.P},stream:ze}});n=De(e,t,n,r);16384===(n.mode&61440)?(n.l=ye.O.dir.node,n.m=ye.O.dir.stream,n.j={}):32768===(n.mode&61440)?(n.l=ye.O.file.node,n.m=ye.O.file.stream,n.v=0,n.j=null):40960===(n.mode&61440)?(n.l=ye.O.link.node,n.m=ye.O.link.stream):8192===(n.mode&61440)&&(n.l=ye.O.ab.node,n.m=ye.O.ab.stream);n.timestamp=Date.now();e&&(e.j[t]=n,e.timestamp=n.timestamp);return n},Kc(e){return e.j?e.j.subarray?e.j.subarray(0,e.v):new Uint8Array(e.j):new Uint8Array(0)},l:{Y(e){var t={};t.Jc=8192===(e.mode&61440)?e.id:1;t.Mc=e.id;t.mode=e.mode;t.Oc=1;t.uid=0;t.Lc=0;t.za=e.za;16384===(e.mode&61440)?t.size=4096:32768===(e.mode&61440)?t.size=e.v:40960===(e.mode&61440)?t.size=e.link.length:t.size=0;t.Bc=new Date(e.timestamp);t.Nc=new Date(e.timestamp);t.Ic=new Date(e.timestamp);t.Jb=4096;t.Cc=Math.ceil(t.size/t.Jb);return t},P(e,t){void 0!==t.mode&&(e.mode=t.mode);void 0!==t.timestamp&&(e.timestamp=t.timestamp);if(void 0!==t.size&&(t=t.size,e.v!=t))if(0==t)e.j=null,e.v=0;else{var n=e.j;e.j=new Uint8Array(t);n&&e.j.set(n.subarray(0,Math.min(t,e.v)));e.v=t}},ka(){throw ke[44]},va(e,t,n,r){return ye.createNode(e,t,n,r)},vb(e,t,n){if(16384===(e.mode&61440)){try{var r=xe(t,n)}catch(e){}if(r)for(var i in r.j)throw new Le(55)}delete e.parent.j[e.name];e.parent.timestamp=Date.now();e.name=n;t.j[n]=e;t.timestamp=e.parent.timestamp;e.parent=t},Bb(e,t){delete e.j[t];e.timestamp=Date.now()},wb(e,t){var n,r=xe(e,t);for(n in r.j)throw new Le(55);delete e.j[t];e.timestamp=Date.now()},tb(e){var t,n=[\".\",\"..\"];for(t in e.j)e.j.hasOwnProperty(t)&&n.push(t);return n},Ea(e,t,n){e=ye.createNode(e,t,41471,0);e.link=n;return e},ma(e){if(40960!==(e.mode&61440))throw new Le(28);return e.link}},m:{read(e,t,n,r,i){var a=e.node.j;if(i>=e.node.v)return 0;e=Math.min(e.node.v-i,r);if(8<e&&a.subarray)t.set(a.subarray(i,i+e),n);else for(r=0;r<e;r++)t[n+r]=a[i+r];return e},write(e,t,n,r,i,a){t.buffer===M.buffer&&(a=!1);if(!r)return 0;e=e.node;e.timestamp=Date.now();if(t.subarray&&(!e.j||e.j.subarray)){if(a)return e.j=t.subarray(n,n+r),e.v=r;if(0===e.v&&0===i)return e.j=t.slice(n,n+r),e.v=r;if(i+r<=e.v)return e.j.set(t.subarray(n,n+r),i),r}ge(e,i+r);if(e.j.subarray&&t.subarray)e.j.set(t.subarray(n,n+r),i);else for(a=0;a<r;a++)e.j[i+a]=t[n+a];e.v=Math.max(e.v,i+r);return r},ba(e,t,n){1===n?t+=e.position:2===n&&32768===(e.node.mode&61440)&&(t+=e.node.v);if(0>t)throw new Le(28);return t},pa(e,t,n){ge(e.node,t+n);e.node.v=Math.max(e.node.v,t+n)},mb(e,t,n,r,i){if(32768!==(e.node.mode&61440))throw new Le(43);e=e.node.j;if(i&2||e.buffer!==M.buffer){(0<n||n+t<e.length)&&(e=e.subarray?e.subarray(n,n+t):Array.prototype.slice.call(e,n,n+t));n=!0;N();t=void 0;if(!t)throw new Le(48);M.set(e,t)}else n=!1,t=e.byteOffset;return{o:t,M:n}},ob(e,t,n,r){ye.m.write(e,t,0,r,n,!1);return 0}}};function we(e,t){var n=0;e&&(n|=365);t&&(n|=146);return n}var _e,Ae,Ce,Me,Pe=null,Ie={},Ee=[],Re=1,Te=null,Fe=!0,Le=null,ke={},je=(e,t={})=>{e=oe(e);if(!e)return{path:\"\",node:null};t=Object.assign({hb:!0,Qa:0},t);if(8<t.Qa)throw new Le(32);e=e.split(\"/\").filter((e=>!!e));for(var n=Pe,r=\"/\",i=0;i<e.length;i++){var a=i===e.length-1;if(a&&t.parent)break;n=xe(n,e[i]);r=te(r+\"/\"+e[i]);n.wa&&(!a||a&&t.hb)&&(n=n.wa.root);if(!a||t.gb)for(a=0;40960===(n.mode&61440);)if(n=Je(r),r=oe(ne(r),n),n=je(r,{Qa:t.Qa+1}).node,40<a++)throw new Le(32)}return{path:r,node:n}},Se=e=>{for(var t;;){if(e===e.parent)return e=e.U.nb,t?\"/\"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name;e=e.parent}},Oe=(e,t)=>{for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%Te.length},xe=(e,t)=>{var n;if(n=(n=Ue(e,\"x\"))?n:e.l.ka?0:2)throw new Le(n,e);for(n=Te[Oe(e.id,t)];n;n=n.lc){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return e.l.ka(e,t)},De=(e,t,n,r)=>{e=new xn(e,t,n,r);t=Oe(e.parent.id,e.name);e.lc=Te[t];return Te[t]=e},We=e=>{var t=[\"r\",\"w\",\"rw\"][e&3];e&512&&(t+=\"w\");return t},Ue=(e,t)=>Fe?0:!t.includes(\"r\")||e.mode&292?t.includes(\"w\")&&!(e.mode&146)||t.includes(\"x\")&&!(e.mode&73)?2:0:2,Ve=(e,t)=>{try{return xe(e,t),20}catch(e){}return Ue(e,\"wx\")},Be=()=>{for(var e=0;4096>=e;e++)if(!Ee[e])return e;throw new Le(33)},Ne=e=>{e=Ee[e];if(!e)throw new Le(8);return e},$e=(t,n=-1)=>{Ce||(Ce=function(){(this||e).h={}},Ce.prototype={},Object.defineProperties(Ce.prototype,{object:{get(){return(this||e).node},set(t){(this||e).node=t}},flags:{get(){return(this||e).h.flags},set(t){(this||e).h.flags=t}},position:{get(){return(this||e).h.position},set(t){(this||e).h.position=t}}}));t=Object.assign(new Ce,t);-1==n&&(n=Be());t.X=n;return Ee[n]=t},ze={open:e=>{e.m=Ie[e.node.za].m;e.m.open&&e.m.open(e)},ba:()=>{throw new Le(70)}},He=(e,t)=>{Ie[e]={m:t}},Ye=(e,t)=>{var n=\"/\"===t,r=!t;if(n&&Pe)throw new Le(10);if(!n&&!r){var i=je(t,{hb:!1});t=i.path;i=i.node;if(i.wa)throw new Le(10);if(16384!==(i.mode&61440))throw new Le(54)}t={type:e,Qc:{},nb:t,kc:[]};e=e.U(t);e.U=t;t.root=e;n?Pe=e:i&&(i.wa=t,i.U&&i.U.kc.push(t))},Xe=(e,t,n)=>{var r=je(e,{parent:!0}).node;e=re(e);if(!e||\".\"===e||\"..\"===e)throw new Le(28);var i=Ve(r,e);if(i)throw new Le(i);if(!r.l.va)throw new Le(63);return r.l.va(r,e,t,n)},Ge=(e,t,n)=>{\"undefined\"==typeof n&&(n=t,t=438);Xe(e,t|8192,n)},qe=(e,t)=>{if(!oe(e))throw new Le(44);var n=je(t,{parent:!0}).node;if(!n)throw new Le(44);t=re(t);var r=Ve(n,t);if(r)throw new Le(r);if(!n.l.Ea)throw new Le(63);n.l.Ea(n,t,e)},Je=e=>{e=je(e).node;if(!e)throw new Le(44);if(!e.l.ma)throw new Le(28);return oe(Se(e.parent),e.l.ma(e))},Ke=(e,t,n)=>{if(\"\"===e)throw new Le(44);if(\"string\"==typeof t){var r={r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090}[t];if(\"undefined\"==typeof r)throw Error(`Unknown file open mode: ${t}`);t=r}n=t&64?(\"undefined\"==typeof n?438:n)&4095|32768:0;if(\"object\"==typeof e)var i=e;else{e=te(e);try{i=je(e,{gb:!(t&131072)}).node}catch(e){}}r=!1;if(t&64)if(i){if(t&128)throw new Le(20)}else i=Xe(e,n,0),r=!0;if(!i)throw new Le(44);8192===(i.mode&61440)&&(t&=-513);if(t&65536&&16384!==(i.mode&61440))throw new Le(54);if(!r&&(n=i?40960===(i.mode&61440)?32:16384===(i.mode&61440)&&(\"r\"!==We(t)||t&512)?31:Ue(i,We(t)):44))throw new Le(n);if(t&512&&!r){n=i;n=\"string\"==typeof n?je(n,{gb:!0}).node:n;if(!n.l.P)throw new Le(63);if(16384===(n.mode&61440))throw new Le(31);if(32768!==(n.mode&61440))throw new Le(28);if(r=Ue(n,\"w\"))throw new Le(r);n.l.P(n,{size:0,timestamp:Date.now()})}t&=-131713;i=$e({node:i,path:Se(i),flags:t,seekable:!0,position:0,m:i.m,zc:[],error:!1});i.m.open&&i.m.open(i);!a.logReadFiles||t&1||(Me||(Me={}),e in Me||(Me[e]=1));return i},Ze=(e,t,n)=>{if(null===e.X)throw new Le(8);if(!e.seekable||!e.m.ba)throw new Le(70);if(0!=n&&1!=n&&2!=n)throw new Le(28);e.position=e.m.ba(e,t,n);e.zc=[]},Qe=()=>{Le||(Le=function(t,n){(this||e).name=\"ErrnoError\";(this||e).node=n;(this||e).pc=function(t){(this||e).aa=t};this.pc(t);(this||e).message=\"FS error\"},Le.prototype=Error(),Le.prototype.constructor=Le,[44].forEach((e=>{ke[e]=new Le(e);ke[e].stack=\"<generic error, no stack>\"})))},et=(e,t,n)=>{e=te(\"/dev/\"+e);var r=we(!!t,!!n);Ae||(Ae=64);var i=Ae++<<8;He(i,{open:e=>{e.seekable=!1},close:()=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,n,r,i)=>{for(var a=0,o=0;o<i;o++){try{var s=t()}catch(e){throw new Le(29)}if(void 0===s&&0===a)throw new Le(6);if(null===s||void 0===s)break;a++;n[r+o]=s}a&&(e.node.timestamp=Date.now());return a},write:(e,t,r,i)=>{for(var a=0;a<i;a++)try{n(t[r+a])}catch(e){throw new Le(29)}i&&(e.node.timestamp=Date.now());return a}});Ge(e,r,i)},tt={},nt=void 0;function rt(){nt+=4;return R[nt-4>>2]}function it(e){if(void 0===e)return\"_unknown\";e=e.replace(/[^a-zA-Z0-9_]/g,\"$\");var t=e.charCodeAt(0);return 48<=t&&57>=t?`_${e}`:e}function at(t,n){t=it(t);return{[t]:function(){return n.apply(this||e,arguments)}}[t]}function ot(){(this||e).M=[void 0];(this||e).ib=[]}var st=new ot,ut=void 0;function lt(e){throw new ut(e)}var ct=e=>{e||lt(\"Cannot use deleted val. handle = \"+e);return st.get(e).value},ht=e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return st.pa({ub:1,value:e})}};function ft(t){var n=Error,r=at(t,(function(n){(this||e).name=t;(this||e).message=n;n=Error(n).stack;void 0!==n&&((this||e).stack=this.toString()+\"\\n\"+n.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));r.prototype=Object.create(n.prototype);r.prototype.constructor=r;r.prototype.toString=function(){return void 0===(this||e).message?(this||e).name:`${(this||e).name}: ${(this||e).message}`};return r}var dt=void 0,pt=void 0;function vt(e){for(var t=\"\";P[e];)t+=pt[P[e++]];return t}var mt=[];function bt(){for(;mt.length;){var e=mt.pop();e.g.fa=!1;e.delete()}}var gt=void 0,yt={};function wt(e,t){for(void 0===t&&lt(\"ptr should not be undefined\");e.A;)t=e.na(t),e=e.A;return t}var _t={};function At(e){e=Yn(e);var t=vt(e);Vn(e);return t}function Ct(e,t){var n=_t[e];void 0===n&&lt(t+\" has unknown type \"+At(e));return n}function Mt(){}var Pt=!1;function It(e){--e.count.value;0===e.count.value&&(e.G?e.L.W(e.G):e.u.i.W(e.o))}function Et(e,t,n){if(t===n)return e;if(void 0===n.A)return null;e=Et(e,t,n.A);return null===e?null:n.Pb(e)}var Rt={};function Tt(e,t){t=wt(e,t);return yt[t]}var Ft=void 0;function Lt(e){throw new Ft(e)}function kt(e,t){t.u&&t.o||Lt(\"makeClassHandle requires ptr and ptrType\");!!t.L!==!!t.G&&Lt(\"Both smartPtrType and smartPtr must be specified\");t.count={value:1};return jt(Object.create(e,{g:{value:t}}))}function jt(e){if(\"undefined\"===typeof FinalizationRegistry)return jt=e=>e,e;Pt=new FinalizationRegistry((e=>{It(e.g)}));jt=e=>{var t=e.g;t.G&&Pt.register(e,{g:t},e);return e};Mt=e=>{Pt.unregister(e)};return jt(e)}var St={};function Ot(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function xt(e){return this.fromWireType(R[e>>2])}var Dt={},Wt={};function Ut(e,t,n){function r(t){t=n(t);t.length!==e.length&&Lt(\"Mismatched type converter count\");for(var r=0;r<e.length;++r)Nt(e[r],t[r])}e.forEach((function(e){Wt[e]=t}));var i=Array(t.length),a=[],o=0;t.forEach(((e,t)=>{_t.hasOwnProperty(e)?i[t]=_t[e]:(a.push(e),Dt.hasOwnProperty(e)||(Dt[e]=[]),Dt[e].push((()=>{i[t]=_t[e];++o;o===a.length&&r(i)})))}));0===a.length&&r(i)}function Vt(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${e}`)}}function Bt(e,t,n={}){var r=t.name;e||lt(`type \"${r}\" must have a positive integer typeid pointer`);if(_t.hasOwnProperty(e)){if(n.$b)return;lt(`Cannot register type '${r}' twice`)}_t[e]=t;delete Wt[e];Dt.hasOwnProperty(e)&&(t=Dt[e],delete Dt[e],t.forEach((e=>e())))}function Nt(e,t,n={}){if(!(\"argPackAdvance\"in t))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");Bt(e,t,n)}function $t(e){lt(e.g.u.i.name+\" instance already deleted\")}function zt(){}function Ht(t,n,r){if(void 0===t[n].B){var i=t[n];t[n]=function(){t[n].B.hasOwnProperty(arguments.length)||lt(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${t[n].B})!`);return t[n].B[arguments.length].apply(this||e,arguments)};t[n].B=[];t[n].B[i.ea]=i}}function Yt(e,t,n){a.hasOwnProperty(e)?((void 0===n||void 0!==a[e].B&&void 0!==a[e].B[n])&&lt(`Cannot register public name '${e}' twice`),Ht(a,e,e),a.hasOwnProperty(n)&&lt(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),a[e].B[n]=t):(a[e]=t,void 0!==n&&(a[e].Pc=n))}function Xt(t,n,r,i,a,o,s,u){(this||e).name=t;(this||e).constructor=n;(this||e).N=r;(this||e).W=i;(this||e).A=a;(this||e).Ub=o;(this||e).na=s;(this||e).Pb=u;(this||e).rb=[]}function Gt(e,t,n){for(;t!==n;)t.na||lt(`Expected null or instance of ${n.name}, got an instance of ${t.name}`),e=t.na(e),t=t.A;return e}function qt(t,n){if(null===n)return(this||e).Na&&lt(`null is not a valid ${(this||e).name}`),0;n.g||lt(`Cannot pass \"${fn(n)}\" as a ${(this||e).name}`);n.g.o||lt(`Cannot pass deleted object as a pointer of type ${(this||e).name}`);return Gt(n.g.o,n.g.u.i,(this||e).i)}function Jt(t,n){if(null===n){(this||e).Na&&lt(`null is not a valid ${(this||e).name}`);if((this||e).ua){var r=this.Pa();null!==t&&t.push((this||e).W,r);return r}return 0}n.g||lt(`Cannot pass \"${fn(n)}\" as a ${(this||e).name}`);n.g.o||lt(`Cannot pass deleted object as a pointer of type ${(this||e).name}`);!(this||e).ta&&n.g.u.ta&&lt(`Cannot convert argument of type ${n.g.L?n.g.L.name:n.g.u.name} to parameter type ${(this||e).name}`);r=Gt(n.g.o,n.g.u.i,(this||e).i);if((this||e).ua)switch(void 0===n.g.G&&lt(\"Passing raw pointer to smart pointer is illegal\"),(this||e).tc){case 0:n.g.L===(this||e)?r=n.g.G:lt(`Cannot convert argument of type ${n.g.L?n.g.L.name:n.g.u.name} to parameter type ${(this||e).name}`);break;case 1:r=n.g.G;break;case 2:if(n.g.L===(this||e))r=n.g.G;else{var i=n.clone();r=this.oc(r,ht((function(){i.delete()})));null!==t&&t.push((this||e).W,r)}break;default:lt(\"Unsupporting sharing policy\")}return r}function Kt(t,n){if(null===n)return(this||e).Na&&lt(`null is not a valid ${(this||e).name}`),0;n.g||lt(`Cannot pass \"${fn(n)}\" as a ${(this||e).name}`);n.g.o||lt(`Cannot pass deleted object as a pointer of type ${(this||e).name}`);n.g.u.ta&&lt(`Cannot convert argument of type ${n.g.u.name} to parameter type ${(this||e).name}`);return Gt(n.g.o,n.g.u.i,(this||e).i)}function Zt(t,n,r,i){(this||e).name=t;(this||e).i=n;(this||e).Na=r;(this||e).ta=i;(this||e).ua=!1;(this||e).W=(this||e).oc=(this||e).Pa=(this||e).sb=(this||e).tc=(this||e).nc=void 0;void 0!==n.A?(this||e).toWireType=Jt:((this||e).toWireType=i?qt:Kt,(this||e).K=null)}function Qt(e,t,n){a.hasOwnProperty(e)||Lt(\"Replacing nonexistant public symbol\");void 0!==a[e].B&&void 0!==n?a[e].B[n]=t:(a[e]=t,a[e].ea=n)}var en=[],tn=e=>{var t=en[e];t||(e>=en.length&&(en.length=e+1),en[e]=t=S.get(e));return t},nn=(e,t)=>{var n=[];return function(){n.length=0;Object.assign(n,arguments);if(e.includes(\"j\")){var r=a[\"dynCall_\"+e];r=n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}else r=tn(t).apply(null,n);return r}};function rn(e,t){e=vt(e);var n=e.includes(\"j\")?nn(e,t):tn(t);\"function\"!=typeof n&&lt(`unknown function pointer with signature ${e}: ${t}`);return n}var an=void 0;function on(e,t){function n(e){i[e]||_t[e]||(Wt[e]?Wt[e].forEach(n):(r.push(e),i[e]=!0))}var r=[],i={};t.forEach(n);throw new an(`${e}: `+r.map(At).join([\", \"]))}function sn(t,n,r,i,a){var o=n.length;2>o&&lt(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var s=null!==n[1]&&null!==r,u=!1;for(r=1;r<n.length;++r)if(null!==n[r]&&void 0===n[r].K){u=!0;break}var l=\"void\"!==n[0].name,c=o-2,h=Array(c),f=[],d=[];return function(){arguments.length!==c&&lt(`function ${t} called with ${arguments.length} arguments, expected ${c} args!`);d.length=0;f.length=s?2:1;f[0]=a;if(s){var r=n[1].toWireType(d,this||e);f[1]=r}for(var o=0;o<c;++o)h[o]=n[o+2].toWireType(d,arguments[o]),f.push(h[o]);o=i.apply(null,f);if(u)Ot(d);else for(var p=s?1:2;p<n.length;p++){var v=1===p?r:h[p-2];null!==n[p].K&&n[p].K(v)}r=l?n[0].fromWireType(o):void 0;return r}}function un(e,t){for(var n=[],r=0;r<e;r++)n.push(T[t+4*r>>2]);return n}function ln(e,t,n){e instanceof Object||lt(`${n} with invalid \"this\": ${e}`);e instanceof t.i.constructor||lt(`${n} incompatible with \"this\" of type ${e.constructor.name}`);e.g.o||lt(`cannot call emscripten binding method ${n} on deleted object`);return Gt(e.g.o,e.g.u.i,t.i)}function cn(e){e>=st.h&&0===--st.get(e).ub&&st.Zb(e)}function hn(e,t,n){switch(t){case 0:return function(e){return this.fromWireType((n?M:P)[e])};case 1:return function(e){return this.fromWireType((n?I:E)[e>>1])};case 2:return function(e){return this.fromWireType((n?R:T)[e>>2])};default:throw new TypeError(\"Unknown integer type: \"+e)}}function fn(e){if(null===e)return\"null\";var t=typeof e;return\"object\"===t||\"array\"===t||\"function\"===t?e.toString():\"\"+e}function dn(e,t){switch(t){case 2:return function(e){return this.fromWireType(F[e>>2])};case 3:return function(e){return this.fromWireType(L[e>>3])};default:throw new TypeError(\"Unknown float type: \"+e)}}function pn(e,t,n){switch(t){case 0:return n?function(e){return M[e]}:function(e){return P[e]};case 1:return n?function(e){return I[e>>1]}:function(e){return E[e>>1]};case 2:return n?function(e){return R[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError(\"Unknown integer type: \"+e)}}var vn=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0,mn=(e,t)=>{var n=e>>1;for(var r=n+t/2;!(n>=r)&&E[n];)++n;n<<=1;if(32<n-e&&vn)return vn.decode(P.subarray(e,n));n=\"\";for(r=0;!(r>=t/2);++r){var i=I[e+2*r>>1];if(0==i)break;n+=String.fromCharCode(i)}return n},bn=(e,t,n)=>{void 0===n&&(n=2147483647);if(2>n)return 0;n-=2;var r=t;n=n<2*e.length?n/2:e.length;for(var i=0;i<n;++i)I[t>>1]=e.charCodeAt(i),t+=2;I[t>>1]=0;return t-r},gn=e=>2*e.length,yn=(e,t)=>{for(var n=0,r=\"\";!(n>=t/4);){var i=R[e+4*n>>2];if(0==i)break;++n;65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023)):r+=String.fromCharCode(i)}return r},wn=(e,t,n)=>{void 0===n&&(n=2147483647);if(4>n)return 0;var r=t;n=r+n-4;for(var i=0;i<e.length;++i){var a=e.charCodeAt(i);if(55296<=a&&57343>=a){var o=e.charCodeAt(++i);a=65536+((a&1023)<<10)|o&1023}R[t>>2]=a;t+=4;if(t+4>n)break}R[t>>2]=0;return t-r},_n=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);55296<=r&&57343>=r&&++n;t+=4}return t},An={};function Cn(e){var t=An[e];return void 0===t?vt(e):t}var Mn=[];function Pn(e){var t=Mn.length;Mn.push(e);return t}function In(e,t){for(var n=Array(e),r=0;r<e;++r)n[r]=Ct(T[t+4*r>>2],\"parameter \"+r);return n}var En,Rn=[],Tn=[],Fn={},Ln=()=>{if(!En){var e,t={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:v||\"./this.program\"};for(e in Fn)void 0===Fn[e]?delete t[e]:t[e]=Fn[e];var n=[];for(e in t)n.push(`${e}=${t[e]}`);En=n}return En},kn=e=>0===e%4&&(0!==e%100||0===e%400),jn=[31,29,31,30,31,30,31,31,30,31,30,31],Sn=[31,28,31,30,31,30,31,31,30,31,30,31],On=(e,t,n,r)=>{function i(e,t,n){for(e=\"number\"==typeof e?e.toString():e||\"\";e.length<t;)e=n[0]+e;return e}function a(e,t){return i(e,t,\"0\")}function o(e,t){function n(e){return 0>e?-1:0<e?1:0}var r;0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate()));return r}function s(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function u(e){var t=e.ca;for(e=new Date(new Date(e.da+1900,0,1).getTime());0<t;){var n=e.getMonth(),r=(kn(e.getFullYear())?jn:Sn)[n];if(!(t>r-e.getDate())){e.setDate(e.getDate()+t);break}t-=r-e.getDate()+1,e.setDate(1),11>n?e.setMonth(n+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}n=new Date(e.getFullYear()+1,0,4);t=s(new Date(e.getFullYear(),0,4));n=s(n);return 0>=o(t,e)?0>=o(n,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var l=R[r+40>>2];r={wc:R[r>>2],vc:R[r+4>>2],Fa:R[r+8>>2],Sa:R[r+12>>2],Ga:R[r+16>>2],da:R[r+20>>2],R:R[r+24>>2],ca:R[r+28>>2],Rc:R[r+32>>2],uc:R[r+36>>2],xc:l&&l?ue(P,l):\"\"};n=n?ue(P,n):\"\";l={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var c in l)n=n.replace(new RegExp(c,\"g\"),l[c]);var h=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),f=\"January February March April May June July August September October November December\".split(\" \");l={\"%a\":e=>h[e.R].substring(0,3),\"%A\":e=>h[e.R],\"%b\":e=>f[e.Ga].substring(0,3),\"%B\":e=>f[e.Ga],\"%C\":e=>a((e.da+1900)/100|0,2),\"%d\":e=>a(e.Sa,2),\"%e\":e=>i(e.Sa,2,\" \"),\"%g\":e=>u(e).toString().substring(2),\"%G\":e=>u(e),\"%H\":e=>a(e.Fa,2),\"%I\":e=>{e=e.Fa;0==e?e=12:12<e&&(e-=12);return a(e,2)},\"%j\":e=>{for(var t=0,n=0;n<=e.Ga-1;t+=(kn(e.da+1900)?jn:Sn)[n++]);return a(e.Sa+t,3)},\"%m\":e=>a(e.Ga+1,2),\"%M\":e=>a(e.vc,2),\"%n\":()=>\"\\n\",\"%p\":e=>0<=e.Fa&&12>e.Fa?\"AM\":\"PM\",\"%S\":e=>a(e.wc,2),\"%t\":()=>\"\\t\",\"%u\":e=>e.R||7,\"%U\":e=>a(Math.floor((e.ca+7-e.R)/7),2),\"%V\":e=>{var t=Math.floor((e.ca+7-(e.R+6)%7)/7);2>=(e.R+371-e.ca-2)%7&&t++;if(t)53==t&&(n=(e.R+371-e.ca)%7,4==n||3==n&&kn(e.da)||(t=1));else{t=52;var n=(e.R+7-e.ca-1)%7;(4==n||5==n&&kn(e.da%400-1))&&t++}return a(t,2)},\"%w\":e=>e.R,\"%W\":e=>a(Math.floor((e.ca+7-(e.R+6)%7)/7),2),\"%y\":e=>(e.da+1900).toString().substring(2),\"%Y\":e=>e.da+1900,\"%z\":e=>{e=e.uc;var t=0<=e;e=Math.abs(e)/60;return(t?\"+\":\"-\")+String(\"0000\"+(e/60*100+e%60)).slice(-4)},\"%Z\":e=>e.xc,\"%%\":()=>\"%\"};n=n.replace(/%%/g,\"\\0\\0\");for(c in l)n.includes(c)&&(n=n.replace(new RegExp(c,\"g\"),l[c](r)));n=n.replace(/\\0\\0/g,\"%\");c=fe(n,!1);if(c.length>t)return 0;M.set(c,e);return c.length-1};function xn(t,n,r,i){t||(t=this||e);(this||e).parent=t;(this||e).U=t.U;(this||e).wa=null;(this||e).id=Re++;(this||e).name=n;(this||e).mode=r;(this||e).l={};(this||e).m={};(this||e).za=i}Object.defineProperties(xn.prototype,{read:{get:function(){return 365===((this||e).mode&365)},set:function(t){t?(this||e).mode|=365:(this||e).mode&=-366}},write:{get:function(){return 146===((this||e).mode&146)},set:function(t){t?(this||e).mode|=146:(this||e).mode&=-147}}});Qe();Te=Array(4096);Ye(ye,\"/\");Xe(\"/tmp\",16895,0);Xe(\"/home\",16895,0);Xe(\"/home/web_user\",16895,0);(()=>{Xe(\"/dev\",16895,0);He(259,{read:()=>0,write:(e,t,n,r)=>r});Ge(\"/dev/null\",259);pe(1280,me);pe(1536,be);Ge(\"/dev/tty\",1280);Ge(\"/dev/tty1\",1536);var e=new Uint8Array(1024),t=0,n=()=>{0===t&&(t=ae(e).byteLength);return e[--t]};et(\"random\",n);et(\"urandom\",n);Xe(\"/dev/shm\",16895,0);Xe(\"/dev/shm/tmp\",16895,0)})();(()=>{Xe(\"/proc\",16895,0);var e=Xe(\"/proc/self\",16895,0);Xe(\"/proc/self/fd\",16895,0);Ye({U:()=>{var t=De(e,\"fd\",16895,73);t.l={ka:(e,t)=>{var n=Ne(+t);e={parent:null,U:{nb:\"fake\"},l:{ma:()=>n.path}};return e.parent=e}};return t}},\"/proc/self/fd\")})();Object.assign(ot.prototype,{get(t){return(this||e).M[t]},has(t){return void 0!==(this||e).M[t]},pa(t){var n=(this||e).ib.pop()||(this||e).M.length;(this||e).M[n]=t;return n},Zb(t){(this||e).M[t]=void 0;(this||e).ib.push(t)}});ut=a.BindingError=class extends Error{constructor(e){super(e);this.name=\"BindingError\"}};st.M.push({value:void 0},{value:null},{value:!0},{value:!1});st.h=st.M.length;a.count_emval_handles=function(){for(var e=0,t=st.h;t<st.M.length;++t)void 0!==st.M[t]&&++e;return e};dt=a.PureVirtualError=ft(\"PureVirtualError\");for(var Dn=Array(256),Wn=0;256>Wn;++Wn)Dn[Wn]=String.fromCharCode(Wn);pt=Dn;a.getInheritedInstanceCount=function(){return Object.keys(yt).length};a.getLiveInheritedInstances=function(){var e,t=[];for(e in yt)yt.hasOwnProperty(e)&&t.push(yt[e]);return t};a.flushPendingDeletes=bt;a.setDelayFunction=function(e){gt=e;mt.length&&gt&&gt(bt)};Ft=a.InternalError=class extends Error{constructor(e){super(e);this.name=\"InternalError\"}};zt.prototype.isAliasOf=function(t){if(!((this||e)instanceof zt&&t instanceof zt))return!1;var n=(this||e).g.u.i,r=(this||e).g.o,i=t.g.u.i;for(t=t.g.o;n.A;)r=n.na(r),n=n.A;for(;i.A;)t=i.na(t),i=i.A;return n===i&&r===t};zt.prototype.clone=function(){(this||e).g.o||$t(this||e);if((this||e).g.ia)return(this||e).g.count.value+=1,this||e;var t=jt,n=Object,r=n.create,i=Object.getPrototypeOf(this||e),a=(this||e).g;t=t(r.call(n,i,{g:{value:{count:a.count,fa:a.fa,ia:a.ia,o:a.o,u:a.u,G:a.G,L:a.L}}}));t.g.count.value+=1;t.g.fa=!1;return t};zt.prototype.delete=function(){(this||e).g.o||$t(this||e);(this||e).g.fa&&!(this||e).g.ia&&lt(\"Object already scheduled for deletion\");Mt(this||e);It((this||e).g);(this||e).g.ia||((this||e).g.G=void 0,(this||e).g.o=void 0)};zt.prototype.isDeleted=function(){return!(this||e).g.o};zt.prototype.deleteLater=function(){(this||e).g.o||$t(this||e);(this||e).g.fa&&!(this||e).g.ia&&lt(\"Object already scheduled for deletion\");mt.push(this||e);1===mt.length&&gt&&gt(bt);(this||e).g.fa=!0;return this||e};Zt.prototype.Vb=function(t){(this||e).sb&&(t=this.sb(t));return t};Zt.prototype.bb=function(t){(this||e).W&&this.W(t)};Zt.prototype.argPackAdvance=8;Zt.prototype.readValueFromPointer=xt;Zt.prototype.deleteObject=function(e){null!==e&&e.delete()};Zt.prototype.fromWireType=function(t){function n(){return(this||e).ua?kt((this||e).i.N,{u:(this||e).nc,o:r,L:this||e,G:t}):kt((this||e).i.N,{u:this||e,o:t})}var r=this.Vb(t);if(!r)return this.bb(t),null;var i=Tt((this||e).i,r);if(void 0!==i){if(0===i.g.count.value)return i.g.o=r,i.g.G=t,i.clone();i=i.clone();this.bb(t);return i}i=(this||e).i.Ub(r);i=Rt[i];if(!i)return n.call(this||e);i=(this||e).ta?i.Kb:i.pointerType;var a=Et(r,(this||e).i,i.i);return null===a?n.call(this||e):(this||e).ua?kt(i.i.N,{u:i,o:a,L:this||e,G:t}):kt(i.i.N,{u:i,o:a})};an=a.UnboundTypeError=ft(\"UnboundTypeError\");var Un={__syscall_fcntl64:function(e,t,n){nt=n;try{var r=Ne(e);switch(t){case 0:var i=rt();return 0>i?-28:$e(r,i).X;case 1:case 2:return 0;case 3:return r.flags;case 4:return i=rt(),r.flags|=i,0;case 5:return i=rt(),I[i+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return R[Nn()>>2]=28,-1;default:return-28}}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return-e.aa}},__syscall_ioctl:function(e,t,n){nt=n;try{var r=Ne(e);switch(t){case 21509:return r.s?0:-59;case 21505:if(!r.s)return-59;if(r.s.V.bc){t=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var i=rt();R[i>>2]=25856;R[i+4>>2]=5;R[i+8>>2]=191;R[i+12>>2]=35387;for(var a=0;32>a;a++)M[i+a+17|0]=t[a]||0}return 0;case 21510:case 21511:case 21512:return r.s?0:-59;case 21506:case 21507:case 21508:if(!r.s)return-59;if(r.s.V.cc)for(i=rt(),t=[],a=0;32>a;a++)t.push(M[i+a+17|0]);return 0;case 21519:if(!r.s)return-59;i=rt();return R[i>>2]=0;case 21520:return r.s?-28:-59;case 21531:i=rt();if(!r.m.ac)throw new Le(59);return r.m.ac(r,t,i);case 21523:if(!r.s)return-59;r.s.V.dc&&(a=[24,80],i=rt(),I[i>>1]=a[0],I[i+2>>1]=a[1]);return 0;case 21524:return r.s?0:-59;case 21515:return r.s?0:-59;default:return-28}}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return-e.aa}},__syscall_openat:function(e,t,n,r){nt=r;try{t=t?ue(P,t):\"\";var i=t;if(\"/\"===i.charAt(0))t=i;else{var a=-100===e?\"/\":Ne(e).path;if(0==i.length)throw new Le(44);t=te(a+\"/\"+i)}var o=r?rt():0;return Ke(t,n,o).X}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return-e.aa}},_embind_create_inheriting_constructor:function(t,n,r){t=vt(t);n=Ct(n,\"wrapper\");r=ct(r);var i=[].slice,a=n.i,o=a.N,s=a.A.N,u=a.A.constructor;t=at(t,(function(){a.A.rb.forEach(function(t){if((this||e)[t]===s[t])throw new dt(`Pure virtual function ${t} must be implemented in JavaScript`)}.bind(this||e));Object.defineProperty(this||e,\"__parent\",{value:o});(this||e).__construct.apply(this||e,i.call(arguments))}));o.__construct=function(){(this||e)===o&&lt(\"Pass correct 'this' to __construct\");var t=u.implement.apply(void 0,[this||e].concat(i.call(arguments)));Mt(t);var n=t.g;t.notifyOnDestruction();n.ia=!0;Object.defineProperties(this||e,{g:{value:n}});jt(this||e);t=n.o;t=wt(a,t);yt.hasOwnProperty(t)?lt(`Tried to register registered instance: ${t}`):yt[t]=this||e};o.__destruct=function(){(this||e)===o&&lt(\"Pass correct 'this' to __destruct\");Mt(this||e);var t=(this||e).g.o;t=wt(a,t);yt.hasOwnProperty(t)?delete yt[t]:lt(`Tried to unregister unregistered instance: ${t}`)};t.prototype=Object.create(o);for(var l in r)t.prototype[l]=r[l];return ht(t)},_embind_finalize_value_object:function(e){var t=St[e];delete St[e];var n=t.Pa,r=t.W,i=t.fb,a=i.map((e=>e.Yb)).concat(i.map((e=>e.rc)));Ut([e],a,(e=>{var a={};i.forEach(((t,n)=>{var r=e[n],o=t.Wb,s=t.Xb,u=e[n+i.length],l=t.qc,c=t.sc;a[t.Sb]={read:e=>r.fromWireType(o(s,e)),write:(e,t)=>{var n=[];l(c,e,u.toWireType(n,t));Ot(n)}}}));return[{name:t.name,fromWireType:function(e){var t,n={};for(t in a)n[t]=a[t].read(e);r(e);return n},toWireType:function(e,t){for(var i in a)if(!(i in t))throw new TypeError(`Missing field: \"${i}\"`);var o=n();for(i in a)a[i].write(o,t[i]);null!==e&&e.push(r,o);return o},argPackAdvance:8,readValueFromPointer:xt,K:r}]}))},_embind_register_bigint:function(){},_embind_register_bool:function(e,t,n,r,i){var a=Vt(n);t=vt(t);Nt(e,{name:t,fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){if(1===n)var r=M;else if(2===n)r=I;else{if(4!==n)throw new TypeError(\"Unknown boolean type size: \"+t);r=R}return this.fromWireType(r[e>>a])},K:null})},_embind_register_class:function(t,n,r,i,a,o,s,u,l,c,h,f,d){h=vt(h);o=rn(a,o);u&&(u=rn(s,u));c&&(c=rn(l,c));d=rn(f,d);var p=it(h);Yt(p,(function(){on(`Cannot construct ${h} due to unbound types`,[i])}));Ut([t,n,r],i?[i]:[],(function(n){n=n[0];if(i){var r=n.i;var a=r.N}else a=zt.prototype;n=at(p,(function(){if(Object.getPrototypeOf(this||e)!==s)throw new ut(\"Use 'new' to construct \"+h);if(void 0===l.$)throw new ut(h+\" has no accessible constructor\");var t=l.$[arguments.length];if(void 0===t)throw new ut(`Tried to invoke ctor of ${h} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(l.$).toString()}) parameters instead!`);return t.apply(this||e,arguments)}));var s=Object.create(a,{constructor:{value:n}});n.prototype=s;var l=new Xt(h,n,s,d,r,o,u,c);l.A&&(void 0===l.A.oa&&(l.A.oa=[]),l.A.oa.push(l));r=new Zt(h,l,!0,!1);a=new Zt(h+\"*\",l,!1,!1);var f=new Zt(h+\" const*\",l,!1,!0);Rt[t]={pointerType:a,Kb:f};Qt(p,n);return[r,a,f]}))},_embind_register_class_class_function:function(e,t,n,r,i,a,o){var s=un(n,r);t=vt(t);a=rn(i,a);Ut([],[e],(function(e){function r(){on(`Cannot call ${i} due to unbound types`,s)}e=e[0];var i=`${e.name}.${t}`;t.startsWith(\"@@\")&&(t=Symbol[t.substring(2)]);var u=e.i.constructor;void 0===u[t]?(r.ea=n-1,u[t]=r):(Ht(u,t,i),u[t].B[n-1]=r);Ut([],s,(function(r){r=sn(i,[r[0],null].concat(r.slice(1)),null,a,o);void 0===u[t].B?(r.ea=n-1,u[t]=r):u[t].B[n-1]=r;if(e.i.oa)for(const n of e.i.oa)n.constructor.hasOwnProperty(t)||(n.constructor[t]=r);return[]}));return[]}))},_embind_register_class_class_property:function(e,t,n,r,i,a,o,s){t=vt(t);a=rn(i,a);Ut([],[e],(function(e){e=e[0];var i=`${e.name}.${t}`,u={get(){on(`Cannot access ${i} due to unbound types`,[n])},enumerable:!0,configurable:!0};u.set=s?()=>{on(`Cannot access ${i} due to unbound types`,[n])}:()=>{lt(`${i} is a read-only property`)};Object.defineProperty(e.i.constructor,t,u);Ut([],[n],(function(n){n=n[0];var i={get(){return n.fromWireType(a(r))},enumerable:!0};s&&(s=rn(o,s),i.set=e=>{var t=[];s(r,n.toWireType(t,e));Ot(t)});Object.defineProperty(e.i.constructor,t,i);return[]}));return[]}))},_embind_register_class_constructor:function(e,t,n,r,i,a){var o=un(t,n);i=rn(r,i);Ut([],[e],(function(e){e=e[0];var n=`constructor ${e.name}`;void 0===e.i.$&&(e.i.$=[]);if(void 0!==e.i.$[t-1])throw new ut(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);e.i.$[t-1]=()=>{on(`Cannot construct ${e.name} due to unbound types`,o)};Ut([],o,(function(r){r.splice(1,0,null);e.i.$[t-1]=sn(n,r,null,i,a);return[]}));return[]}))},_embind_register_class_function:function(e,t,n,r,i,a,o,s){var u=un(n,r);t=vt(t);a=rn(i,a);Ut([],[e],(function(e){function r(){on(`Cannot call ${i} due to unbound types`,u)}e=e[0];var i=`${e.name}.${t}`;t.startsWith(\"@@\")&&(t=Symbol[t.substring(2)]);s&&e.i.rb.push(t);var l=e.i.N,c=l[t];void 0===c||void 0===c.B&&c.className!==e.name&&c.ea===n-2?(r.ea=n-2,r.className=e.name,l[t]=r):(Ht(l,t,i),l[t].B[n-2]=r);Ut([],u,(function(r){r=sn(i,r,e,a,o);void 0===l[t].B?(r.ea=n-2,l[t]=r):l[t].B[n-2]=r;return[]}));return[]}))},_embind_register_class_property:function(t,n,r,i,a,o,s,u,l,c){n=vt(n);a=rn(i,a);Ut([],[t],(function(t){t=t[0];var i=`${t.name}.${n}`,h={get(){on(`Cannot access ${i} due to unbound types`,[r,s])},enumerable:!0,configurable:!0};h.set=l?()=>{on(`Cannot access ${i} due to unbound types`,[r,s])}:()=>{lt(i+\" is a read-only property\")};Object.defineProperty(t.i.N,n,h);Ut([],l?[r,s]:[r],(function(r){var s=r[0],h={get(){var n=ln(this||e,t,i+\" getter\");return s.fromWireType(a(o,n))},enumerable:!0};if(l){l=rn(u,l);var f=r[1];h.set=function(n){var r=ln(this||e,t,i+\" setter\"),a=[];l(c,r,f.toWireType(a,n));Ot(a)}}Object.defineProperty(t.i.N,n,h);return[]}));return[]}))},_embind_register_emval:function(e,t){t=vt(t);Nt(e,{name:t,fromWireType:function(e){var t=ct(e);cn(e);return t},toWireType:function(e,t){return ht(t)},argPackAdvance:8,readValueFromPointer:xt,K:null})},_embind_register_enum:function(t,n,r,i){function a(){}r=Vt(r);n=vt(n);a.values={};Nt(t,{name:n,constructor:a,fromWireType:function(t){return(this||e).constructor.values[t]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:hn(n,r,i),K:null});Yt(n,a)},_embind_register_enum_value:function(e,t,n){var r=Ct(e,\"enum\");t=vt(t);e=r.constructor;r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:at(`${r.name}_${t}`,(function(){}))}});e.values[n]=r;e[t]=r},_embind_register_float:function(e,t,n){n=Vt(n);t=vt(t);Nt(e,{name:t,fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:dn(t,n),K:null})},_embind_register_function:function(e,t,n,r,i,a){var o=un(t,n);e=vt(e);i=rn(r,i);Yt(e,(function(){on(`Cannot call ${e} due to unbound types`,o)}),t-1);Ut([],o,(function(n){Qt(e,sn(e,[n[0],null].concat(n.slice(1)),null,i,a),t-1);return[]}))},_embind_register_integer:function(e,t,n,r,i){t=vt(t);-1===i&&(i=4294967295);i=Vt(n);var a=e=>e;if(0===r){var o=32-8*n;a=e=>e<<o>>>o}n=t.includes(\"unsigned\")?function(e,t){return t>>>0}:function(e,t){return t};Nt(e,{name:t,fromWireType:a,toWireType:n,argPackAdvance:8,readValueFromPointer:pn(t,i,0!==r),K:null})},_embind_register_memory_view:function(e,t,n){function r(e){e>>=2;var t=T;return new i(t.buffer,t[e+1],t[e])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];n=vt(n);Nt(e,{name:n,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{$b:!0})},_embind_register_std_string:function(e,t){t=vt(t);var n=\"std::string\"===t;Nt(e,{name:t,fromWireType:function(e){var t=T[e>>2],r=e+4;if(n)for(var i=r,a=0;a<=t;++a){var o=r+a;if(a==t||0==P[o]){i=i?ue(P,i,o-i):\"\";if(void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=o+1}}else{s=Array(t);for(a=0;a<t;++a)s[a]=String.fromCharCode(P[r+a]);s=s.join(\"\")}Vn(e);return s},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r=\"string\"==typeof t;r||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||lt(\"Cannot pass non-string to std::string\");var i=n&&r?ce(t):t.length;var a=Bn(4+i+1),o=a+4;T[a>>2]=i;if(n&&r)he(t,P,o,i+1);else if(r)for(r=0;r<i;++r){var s=t.charCodeAt(r);255<s&&(Vn(o),lt(\"String has UTF-16 code units that do not fit in 8 bits\"));P[o+r]=s}else for(r=0;r<i;++r)P[o+r]=t[r];null!==e&&e.push(Vn,a);return a},argPackAdvance:8,readValueFromPointer:xt,K:function(e){Vn(e)}})},_embind_register_std_wstring:function(e,t,n){n=vt(n);if(2===t){var r=mn;var i=bn;var a=gn;var o=()=>E;var s=1}else 4===t&&(r=yn,i=wn,a=_n,o=()=>T,s=2);Nt(e,{name:n,fromWireType:function(e){for(var n,i=T[e>>2],a=o(),u=e+4,l=0;l<=i;++l){var c=e+4+l*t;l!=i&&0!=a[c>>s]||(u=r(u,c-u),void 0===n?n=u:(n+=String.fromCharCode(0),n+=u),u=c+t)}Vn(e);return n},toWireType:function(e,r){\"string\"!=typeof r&&lt(`Cannot pass non-string to C++ string type ${n}`);var o=a(r),u=Bn(4+o+t);T[u>>2]=o>>s;i(r,u+4,o+t);null!==e&&e.push(Vn,u);return u},argPackAdvance:8,readValueFromPointer:xt,K:function(e){Vn(e)}})},_embind_register_value_object:function(e,t,n,r,i,a){St[e]={name:vt(t),Pa:rn(n,r),W:rn(i,a),fb:[]}},_embind_register_value_object_field:function(e,t,n,r,i,a,o,s,u,l){St[e].fb.push({Sb:vt(t),Yb:n,Wb:rn(r,i),Xb:a,rc:o,qc:rn(s,u),sc:l})},_embind_register_void:function(e,t){t=vt(t);Nt(e,{fc:!0,name:t,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},_emscripten_get_now_is_monotonic:()=>!0,_emval_as:function(e,t,n){e=ct(e);t=Ct(t,\"emval::as\");var r=[],i=ht(r);T[n>>2]=i;return t.toWireType(r,e)},_emval_call_method:function(e,t,n,r,i){e=Mn[e];t=ct(t);n=Cn(n);var a=[];T[r>>2]=ht(a);return e(t,n,a,i)},_emval_call_void_method:function(e,t,n,r){e=Mn[e];t=ct(t);n=Cn(n);e(t,n,null,r)},_emval_decref:cn,_emval_get_method_caller:function(e,t){var n=In(e,t),r=n[0];t=r.name+\"_$\"+n.slice(1).map((function(e){return e.name})).join(\"_\")+\"$\";var i=Rn[t];if(void 0!==i)return i;var a=Array(e-1);i=Pn(((t,i,o,s)=>{for(var u=0,l=0;l<e-1;++l)a[l]=n[l+1].readValueFromPointer(s+u),u+=n[l+1].argPackAdvance;t=t[i].apply(t,a);for(l=0;l<e-1;++l)n[l+1].Nb&&n[l+1].Nb(a[l]);if(!r.fc)return r.toWireType(o,t)}));return Rn[t]=i},_emval_get_module_property:function(e){e=Cn(e);return ht(a[e])},_emval_get_property:function(e,t){e=ct(e);t=ct(t);return ht(e[t])},_emval_incref:function(e){4<e&&(st.get(e).ub+=1)},_emval_new_array:function(){return ht([])},_emval_new_cstring:function(e){return ht(Cn(e))},_emval_new_object:function(){return ht({})},_emval_run_destructors:function(e){var t=ct(e);Ot(t);cn(e)},_emval_set_property:function(e,t,n){e=ct(e);t=ct(t);n=ct(n);e[t]=n},_emval_take_value:function(e,t){e=Ct(e,\"_emval_take_value\");e=e.readValueFromPointer(t);return ht(e)},abort:()=>{N(\"\")},emscripten_asm_const_int:(e,t,n)=>{Tn.length=0;var r;for(n>>=2;r=P[t++];)n+=105!=r&n,Tn.push(105==r?R[n]:L[n++>>1]),++n;return Z[e].apply(null,Tn)},emscripten_date_now:function(){return Date.now()},emscripten_get_now:()=>performance.now(),emscripten_memcpy_big:(e,t,n)=>P.copyWithin(e,t,t+n),emscripten_resize_heap:e=>{var t=P.length;e>>>=0;if(2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);var i=Math;r=Math.max(e,r);e:{i=i.min.call(i,2147483648,r+(65536-r%65536)%65536)-A.buffer.byteLength+65535>>>16;try{A.grow(i);j();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},environ_get:(e,t)=>{var n=0;Ln().forEach((function(r,i){var a=t+n;i=T[e+4*i>>2]=a;for(a=0;a<r.length;++a)M[i++|0]=r.charCodeAt(a);M[i|0]=0;n+=r.length+1}));return 0},environ_sizes_get:(e,t)=>{var n=Ln();T[e>>2]=n.length;var r=0;n.forEach((function(e){r+=e.length+1}));T[t>>2]=r;return 0},fd_close:function(e){try{var t=Ne(e);if(null===t.X)throw new Le(8);t.Ma&&(t.Ma=null);try{t.m.close&&t.m.close(t)}catch(e){throw e}finally{Ee[t.X]=null}t.X=null;return 0}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return e.aa}},fd_read:function(e,t,n,r){try{e:{var i=Ne(e);e=t;for(var a,o=t=0;o<n;o++){var s=T[e>>2],u=T[e+4>>2];e+=8;var l=i,c=s,h=u,f=a,d=M;if(0>h||0>f)throw new Le(28);if(null===l.X)throw new Le(8);if(1===(l.flags&2097155))throw new Le(8);if(16384===(l.node.mode&61440))throw new Le(31);if(!l.m.read)throw new Le(28);var p=\"undefined\"!=typeof f;if(p){if(!l.seekable)throw new Le(70)}else f=l.position;var v=l.m.read(l,d,c,h,f);p||(l.position+=v);var m=v;if(0>m){var b=-1;break e}t+=m;if(m<u)break;\"undefined\"!==typeof a&&(a+=m)}b=t}T[r>>2]=b;return 0}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return e.aa}},fd_seek:function(e,t,n,r,i){t=n+2097152>>>0<4194305-!!t?(t>>>0)+4294967296*n:NaN;try{if(isNaN(t))return 61;var a=Ne(e);Ze(a,t,r);K=[a.position>>>0,(J=a.position,1<=+Math.abs(J)?0<J?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];R[i>>2]=K[0];R[i+4>>2]=K[1];a.Ma&&0===t&&0===r&&(a.Ma=null);return 0}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return e.aa}},fd_write:function(e,t,n,r){try{e:{var i=Ne(e);e=t;for(var a,o=t=0;o<n;o++){var s=T[e>>2],u=T[e+4>>2];e+=8;var l=i,c=s,h=u,f=a,d=M;if(0>h||0>f)throw new Le(28);if(null===l.X)throw new Le(8);if(0===(l.flags&2097155))throw new Le(8);if(16384===(l.node.mode&61440))throw new Le(31);if(!l.m.write)throw new Le(28);l.seekable&&l.flags&1024&&Ze(l,0,2);var p=\"undefined\"!=typeof f;if(p){if(!l.seekable)throw new Le(70)}else f=l.position;var v=l.m.write(l,d,c,h,f,void 0);p||(l.position+=v);var m=v;if(0>m){var b=-1;break e}t+=m;\"undefined\"!==typeof a&&(a+=m)}b=t}T[r>>2]=b;return 0}catch(e){if(\"undefined\"==typeof tt||\"ErrnoError\"!==e.name)throw e;return e.aa}},strftime_l:(e,t,n,r)=>On(e,t,n,r)};(function(){function e(e){C=e=e.exports;A=C.memory;j();S=C.__indirect_function_table;x.unshift(C.__wasm_call_ctors);U--;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(0==U&&(null!==V&&(clearInterval(V),V=null),B)){var t=B;B=null;t()}return e}var t={env:Un,wasi_snapshot_preview1:Un};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(t,e)}catch(e){w(\"Module.instantiateWasm callback failed with error: \"+e),i(e)}q(t,(function(t){e(t.instance)})).catch(i);return{}})();var Vn=e=>(Vn=C.free)(e),Bn=e=>(Bn=C.malloc)(e),Nn=()=>(Nn=C.__errno_location)(),$n=a._ma_device__on_notification_unlocked=e=>($n=a._ma_device__on_notification_unlocked=C.ma_device__on_notification_unlocked)(e);a._ma_malloc_emscripten=(e,t)=>(a._ma_malloc_emscripten=C.ma_malloc_emscripten)(e,t);a._ma_free_emscripten=(e,t)=>(a._ma_free_emscripten=C.ma_free_emscripten)(e,t);var zn=a._ma_device_process_pcm_frames_capture__webaudio=(e,t,n)=>(zn=a._ma_device_process_pcm_frames_capture__webaudio=C.ma_device_process_pcm_frames_capture__webaudio)(e,t,n),Hn=a._ma_device_process_pcm_frames_playback__webaudio=(e,t,n)=>(Hn=a._ma_device_process_pcm_frames_playback__webaudio=C.ma_device_process_pcm_frames_playback__webaudio)(e,t,n),Yn=e=>(Yn=C.__getTypeName)(e);a.__embind_initialize_bindings=()=>(a.__embind_initialize_bindings=C._embind_initialize_bindings)();a.dynCall_iiji=(e,t,n,r,i)=>(a.dynCall_iiji=C.dynCall_iiji)(e,t,n,r,i);a.dynCall_jiji=(e,t,n,r,i)=>(a.dynCall_jiji=C.dynCall_jiji)(e,t,n,r,i);a.dynCall_iiiji=(e,t,n,r,i,o)=>(a.dynCall_iiiji=C.dynCall_iiiji)(e,t,n,r,i,o);a.dynCall_iij=(e,t,n,r)=>(a.dynCall_iij=C.dynCall_iij)(e,t,n,r);a.dynCall_jii=(e,t,n)=>(a.dynCall_jii=C.dynCall_jii)(e,t,n);a.dynCall_viijii=(e,t,n,r,i,o,s)=>(a.dynCall_viijii=C.dynCall_viijii)(e,t,n,r,i,o,s);a.dynCall_iiiiij=(e,t,n,r,i,o,s)=>(a.dynCall_iiiiij=C.dynCall_iiiiij)(e,t,n,r,i,o,s);a.dynCall_iiiiijj=(e,t,n,r,i,o,s,u,l)=>(a.dynCall_iiiiijj=C.dynCall_iiiiijj)(e,t,n,r,i,o,s,u,l);a.dynCall_iiiiiijj=(e,t,n,r,i,o,s,u,l,c)=>(a.dynCall_iiiiiijj=C.dynCall_iiiiiijj)(e,t,n,r,i,o,s,u,l,c);var Xn;B=function e(){Xn||Gn();Xn||(B=e)};function Gn(){function e(){if(!Xn&&(Xn=!0,a.calledRun=!0,!k)){a.noFSInit||_e||(_e=!0,Qe(),a.stdin=a.stdin,a.stdout=a.stdout,a.stderr=a.stderr,a.stdin?et(\"stdin\",a.stdin):qe(\"/dev/tty\",\"/dev/stdin\"),a.stdout?et(\"stdout\",null,a.stdout):qe(\"/dev/tty\",\"/dev/stdout\"),a.stderr?et(\"stderr\",null,a.stderr):qe(\"/dev/tty1\",\"/dev/stderr\"),Ke(\"/dev/stdin\",0),Ke(\"/dev/stdout\",1),Ke(\"/dev/stderr\",1));Fe=!1;Q(x);r(a);a.onRuntimeInitialized&&a.onRuntimeInitialized();if(a.postRun)for(\"function\"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var e=a.postRun.shift();D.unshift(e)}Q(D)}}if(!(0<U)){if(a.preRun)for(\"function\"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)W();Q(O);0<U||(a.setStatus?(a.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){a.setStatus(\"\")}),1);e()}),1)):e())}}if(a.preInit)for(\"function\"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();Gn();return n.ready}})();const a=i},e=>{e.exports=JSON.parse('{\"name\":\"@rive-app/canvas\",\"version\":\"2.27.5\",\"description\":\"Rive\\'s canvas based web api.\",\"main\":\"rive.js\",\"homepage\":\"https://rive.app\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/rive-app/rive-wasm/tree/master/js\"},\"keywords\":[\"rive\",\"animation\"],\"author\":\"Rive\",\"contributors\":[\"Luigi Rosso <luigi@rive.app> (https://rive.app)\",\"Maxwell Talbot <max@rive.app> (https://rive.app)\",\"Arthur Vivian <arthur@rive.app> (https://rive.app)\",\"Umberto Sonnino <umberto@rive.app> (https://rive.app)\",\"Matthew Sullivan <matt.j.sullivan@gmail.com> (mailto:matt.j.sullivan@gmail.com)\"],\"license\":\"MIT\",\"files\":[\"rive.js\",\"rive.js.map\",\"rive.wasm\",\"rive_fallback.wasm\",\"rive.d.ts\",\"rive_advanced.mjs.d.ts\"],\"typings\":\"rive.d.ts\",\"dependencies\":{},\"browser\":{\"fs\":false,\"path\":false}}')},(e,t,n)=>{n.r(t);n.d(t,{Animation:()=>r.Animation});var r=n(4)},(t,n,r)=>{r.r(n);r.d(n,{Animation:()=>i});var i=function(){\n/**\n         * Constructs a new animation\n         * @constructor\n         * @param {any} animation: runtime animation object\n         * @param {any} instance: runtime animation instance object\n         */\nfunction t(t,n,r,i){(this||e).animation=t;(this||e).artboard=n;(this||e).playing=i;(this||e).loopCount=0;(this||e).scrubTo=null;(this||e).instance=new r.LinearAnimationInstance(t,n)}Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e).animation.name},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"time\",{get:function(){return(this||e).instance.time},set:function(t){(this||e).instance.time=t},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"loopValue\",{get:function(){return(this||e).animation.loopValue},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"needsScrub\",{\n/**\n           * Indicates whether the animation needs to be scrubbed.\n           * @returns `true` if the animation needs to be scrubbed, `false` otherwise.\n           */\nget:function(){return(this||e).scrubTo!==null},enumerable:false,configurable:true});\n/**\n         * Advances the animation by the give time. If the animation needs scrubbing,\n         * time is ignored and the stored scrub value is used.\n         * @param time the time to advance the animation by if no scrubbing required\n         */t.prototype.advance=function(t){if((this||e).scrubTo===null)(this||e).instance.advance(t);else{(this||e).instance.time=0;(this||e).instance.advance((this||e).scrubTo);(this||e).scrubTo=null}};\n/**\n         * Apply interpolated keyframe values to the artboard. This should be called after calling\n         * .advance() on an animation instance so that new values are applied to properties.\n         *\n         * Note: This does not advance the artboard, which updates all objects on the artboard\n         * @param mix - Mix value for the animation from 0 to 1\n         */t.prototype.apply=function(t){(this||e).instance.apply(t)};t.prototype.cleanup=function(){(this||e).instance.delete()};return t}()},(e,t,n)=>{n.r(t);n.d(t,{AudioAssetWrapper:()=>a.AudioAssetWrapper,AudioWrapper:()=>a.AudioWrapper,BLANK_URL:()=>i.BLANK_URL,CustomFileAssetLoaderWrapper:()=>a.CustomFileAssetLoaderWrapper,FileAssetWrapper:()=>a.FileAssetWrapper,Finalizable:()=>a.Finalizable,FontAssetWrapper:()=>a.FontAssetWrapper,FontWrapper:()=>a.FontWrapper,ImageAssetWrapper:()=>a.ImageAssetWrapper,ImageWrapper:()=>a.ImageWrapper,finalizationRegistry:()=>a.finalizationRegistry,registerTouchInteractions:()=>r.registerTouchInteractions,sanitizeUrl:()=>i.sanitizeUrl});var r=n(6);var i=n(7);var a=n(8)},(e,t,n)=>{n.r(t);n.d(t,{registerTouchInteractions:()=>a});var r=void 0;\n/**\n       * Returns the clientX and clientY properties from touch or mouse events. Also\n       * calls preventDefault() on the event if it is a touchstart or touchmove to prevent\n       * scrolling the page on mobile devices\n       * @param event - Either a TouchEvent or a MouseEvent\n       * @returns - Coordinates of the clientX and clientY properties from the touch/mouse event\n       */var i=function(e,t){var n,r;if([\"touchstart\",\"touchmove\"].indexOf(e.type)>-1&&((n=e.touches)===null||n===void 0?void 0:n.length)){t||e.preventDefault();return{clientX:e.touches[0].clientX,clientY:e.touches[0].clientY}}return e.type===\"touchend\"&&((r=e.changedTouches)===null||r===void 0?void 0:r.length)?{clientX:e.changedTouches[0].clientX,clientY:e.changedTouches[0].clientY}:{clientX:e.clientX,clientY:e.clientY}};var a=function(e){var t=e.canvas,n=e.artboard,a=e.stateMachines,o=a===void 0?[]:a,s=e.renderer,u=e.rive,l=e.fit,c=e.alignment,h=e.isTouchScrollEnabled,f=h!==void 0&&h,d=e.layoutScaleFactor,p=d===void 0?1:d;if(!t||!o.length||!s||!u||!n||typeof window===\"undefined\")return null;var v=null;var m=false;var b=function(e){if(m&&e instanceof MouseEvent)e.type==\"mouseup\"&&(m=false);else{m=f&&e.type===\"touchend\"&&v===\"touchstart\";v=e.type;var t=e.currentTarget.getBoundingClientRect();var r=i(e,f),a=r.clientX,s=r.clientY;if(a||s){var h=a-t.left;var d=s-t.top;var b=u.computeAlignment(l,c,{minX:0,minY:0,maxX:t.width,maxY:t.height},n.bounds,p);var g=new u.Mat2D;b.invert(g);var y=new u.Vec2D(h,d);var w=u.mapXY(g,y);var _=w.x();var A=w.y();w.delete();g.delete();y.delete();b.delete();switch(e.type){case\"mouseout\":for(var C=0,M=o;C<M.length;C++){var P=M[C];P.pointerMove(_,A)}break;case\"touchmove\":case\"mouseover\":case\"mousemove\":for(var I=0,E=o;I<E.length;I++){P=E[I];P.pointerMove(_,A)}break;case\"touchstart\":case\"mousedown\":for(var R=0,T=o;R<T.length;R++){P=T[R];P.pointerDown(_,A)}break;case\"touchend\":case\"mouseup\":for(var F=0,L=o;F<L.length;F++){P=L[F];P.pointerUp(_,A)}break;default:}}}};var g=b.bind(r);t.addEventListener(\"mouseover\",g);t.addEventListener(\"mouseout\",g);t.addEventListener(\"mousemove\",g);t.addEventListener(\"mousedown\",g);t.addEventListener(\"mouseup\",g);t.addEventListener(\"touchmove\",g,{passive:f});t.addEventListener(\"touchstart\",g,{passive:f});t.addEventListener(\"touchend\",g);return function(){t.removeEventListener(\"mouseover\",g);t.removeEventListener(\"mouseout\",g);t.removeEventListener(\"mousemove\",g);t.removeEventListener(\"mousedown\",g);t.removeEventListener(\"mouseup\",g);t.removeEventListener(\"touchmove\",g);t.removeEventListener(\"touchstart\",g);t.removeEventListener(\"touchend\",g)}}},(e,t,n)=>{n.r(t);n.d(t,{BLANK_URL:()=>l,sanitizeUrl:()=>f});var r=/^([^\\w]*)(javascript|data|vbscript)/im;var i=/&#(\\w+)(^\\w|;)?/g;var a=/&(newline|tab);/gi;var o=/[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;var s=/^.+(:|&colon;)/gim;var u=[\".\",\"/\"];var l=\"about:blank\";function c(e){return u.indexOf(e[0])>-1}function h(e){var t=e.replace(o,\"\");return t.replace(i,(function(e,t){return String.fromCharCode(t)}))}function f(e){if(!e)return l;var t=h(e).replace(a,\"\").replace(o,\"\").trim();if(!t)return l;if(c(t))return t;var n=t.match(s);if(!n)return t;var i=n[0];return r.test(i)?l:t}},(t,n,r)=>{r.r(n);r.d(n,{AudioAssetWrapper:()=>f,AudioWrapper:()=>s,CustomFileAssetLoaderWrapper:()=>l,FileAssetWrapper:()=>c,Finalizable:()=>a,FontAssetWrapper:()=>d,FontWrapper:()=>u,ImageAssetWrapper:()=>h,ImageWrapper:()=>o,finalizationRegistry:()=>m});var i=(void 0,function(){var t=function(e,n){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])};return t(e,n)};return function(n,r){if(typeof r!==\"function\"&&r!==null)throw new TypeError(\"Class extends value \"+String(r)+\" is not a constructor or null\");t(n,r);function i(){(this||e).constructor=n}n.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}());var a=function(){function t(){(this||e).selfUnref=false}return t}();var o=function(t){i(n,t);function n(n){var r=t.call(this||e)||this||e;r._nativeImage=n;return r}Object.defineProperty(n.prototype,\"nativeImage\",{get:function(){return(this||e)._nativeImage},enumerable:false,configurable:true});n.prototype.unref=function(){(this||e).selfUnref&&(this||e)._nativeImage.unref()};return n}(a);var s=function(t){i(n,t);function n(n){var r=t.call(this||e)||this||e;r._nativeAudio=n;return r}Object.defineProperty(n.prototype,\"nativeAudio\",{get:function(){return(this||e)._nativeAudio},enumerable:false,configurable:true});n.prototype.unref=function(){(this||e).selfUnref&&(this||e)._nativeAudio.unref()};return n}(a);var u=function(t){i(n,t);function n(n){var r=t.call(this||e)||this||e;r._nativeFont=n;return r}Object.defineProperty(n.prototype,\"nativeFont\",{get:function(){return(this||e)._nativeFont},enumerable:false,configurable:true});n.prototype.unref=function(){(this||e).selfUnref&&(this||e)._nativeFont.unref()};return n}(a);var l=function(){function t(t,n){(this||e)._assetLoaderCallback=n;(this||e).assetLoader=new t.CustomFileAssetLoader({loadContents:(this||e).loadContents.bind(this||e)})}t.prototype.loadContents=function(e,t){var n;e.isImage?n=new h(e):e.isAudio?n=new f(e):e.isFont&&(n=new d(e));return this._assetLoaderCallback(n,t)};return t}();var c=function(){function t(t){(this||e)._nativeFileAsset=t}t.prototype.decode=function(t){(this||e)._nativeFileAsset.decode(t)};Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e)._nativeFileAsset.name},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"fileExtension\",{get:function(){return(this||e)._nativeFileAsset.fileExtension},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"uniqueFilename\",{get:function(){return(this||e)._nativeFileAsset.uniqueFilename},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isAudio\",{get:function(){return(this||e)._nativeFileAsset.isAudio},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isImage\",{get:function(){return(this||e)._nativeFileAsset.isImage},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isFont\",{get:function(){return(this||e)._nativeFileAsset.isFont},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"cdnUuid\",{get:function(){return(this||e)._nativeFileAsset.cdnUuid},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"nativeFileAsset\",{get:function(){return(this||e)._nativeFileAsset},enumerable:false,configurable:true});return t}();var h=function(t){i(n,t);function n(){return t!==null&&t.apply(this||e,arguments)||this||e}n.prototype.setRenderImage=function(t){(this||e)._nativeFileAsset.setRenderImage(t.nativeImage)};return n}(c);var f=function(t){i(n,t);function n(){return t!==null&&t.apply(this||e,arguments)||this||e}n.prototype.setAudioSource=function(t){(this||e)._nativeFileAsset.setAudioSource(t.nativeAudio)};return n}(c);var d=function(t){i(n,t);function n(){return t!==null&&t.apply(this||e,arguments)||this||e}n.prototype.setFont=function(t){(this||e)._nativeFileAsset.setFont(t.nativeFont)};return n}(c);var p=function(t){i(n,t);function n(n){return t.call(this||e,n)||this||e}n.prototype.register=function(e){e.selfUnref=true};n.prototype.unregister=function(e){};return n}(FinalizationRegistry);var v=FinalizationRegistry||p;var m=new v((function(e){e.unref()}))}];var n={};function r(e){var i=n[e];if(i!==void 0)return i.exports;var a=n[e]={exports:{}};t[e](a,a.exports,r);return a.exports}(()=>{r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:true,get:t[n]})}})();(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{r.r=e=>{typeof Symbol!==\"undefined\"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"});Object.defineProperty(e,\"__esModule\",{value:true})}})();var i={};(()=>{r.r(i);r.d(i,{Alignment:()=>v,DataEnum:()=>D,EventType:()=>C,Fit:()=>p,Layout:()=>m,LoopType:()=>M,Rive:()=>O,RiveEventType:()=>w,RiveFile:()=>S,RuntimeLoader:()=>b,StateMachineInput:()=>y,StateMachineInputType:()=>g,Testing:()=>K,ViewModel:()=>x,ViewModelInstance:()=>U,ViewModelInstanceAssetImage:()=>G,ViewModelInstanceBoolean:()=>$,ViewModelInstanceColor:()=>X,ViewModelInstanceEnum:()=>H,ViewModelInstanceList:()=>Y,ViewModelInstanceNumber:()=>N,ViewModelInstanceString:()=>B,ViewModelInstanceTrigger:()=>z,ViewModelInstanceValue:()=>V,decodeAudio:()=>Z,decodeFont:()=>ee,decodeImage:()=>Q});var t=r(1);var n=r(2);var a=r(3);var o=r(5);var s=(void 0,function(){var t=function(e,n){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])};return t(e,n)};return function(n,r){if(typeof r!==\"function\"&&r!==null)throw new TypeError(\"Class extends value \"+String(r)+\" is not a constructor or null\");t(n,r);function i(){(this||e).constructor=n}n.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}());var u=(void 0,function(){u=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e};return u.apply(this||e,arguments)});var l=(void 0,function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function o(e){try{u(r.next(e))}catch(e){a(e)}}function s(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){e.done?n(e.value):i(e.value).then(o,s)}u((r=r.apply(e,t||[])).next())}))});var c=(void 0,function(t,n){var r,i,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},s=Object.create((typeof Iterator===\"function\"?Iterator:Object).prototype);return s.next=u(0),s.throw=u(1),s.return=u(2),typeof Symbol===\"function\"&&(s[Symbol.iterator]=function(){return this||e}),s;function u(e){return function(t){return l([e,t])}}function l(e){if(r)throw new TypeError(\"Generator is already executing.\");while(s&&(s=0,e[0]&&(o=0)),o)try{if(r=1,i&&(a=e[0]&2?i.return:e[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,e[1])).done)return a;(i=0,a)&&(e=[e[0]&2,a.value]);switch(e[0]){case 0:case 1:a=e;break;case 4:o.label++;return{value:e[1],done:false};case 5:o.label++;i=e[1];e=[0];continue;case 7:e=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(e[0]===6||e[0]===2)){o=0;continue}if(e[0]===3&&(!a||e[1]>a[0]&&e[1]<a[3])){o.label=e[1];break}if(e[0]===6&&o.label<a[1]){o.label=a[1];a=e;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(e);break}a[2]&&o.ops.pop();o.trys.pop();continue}e=n.call(t,o)}catch(t){e=[6,t];i=0}finally{r=a=0}if(e[0]&5)throw e[1];return{value:e[0]?e[1]:void 0,done:true}}});var h=(void 0,function(e,t,n){if(n||arguments.length===2)for(var r,i=0,a=t.length;i<a;i++)if(r||!(i in t)){r||(r=Array.prototype.slice.call(t,0,i));r[i]=t[i]}return e.concat(r||Array.prototype.slice.call(t))});var f=function(t){s(n,t);function n(){var n=t!==null&&t.apply(this||e,arguments)||this||e;n.isHandledError=true;return n}return n}(Error);var d=function(e){return e&&e.isHandledError?e.message:\"Problem loading file; may be corrupt!\"};var p;(function(e){e.Cover=\"cover\";e.Contain=\"contain\";e.Fill=\"fill\";e.FitWidth=\"fitWidth\";e.FitHeight=\"fitHeight\";e.None=\"none\";e.ScaleDown=\"scaleDown\";e.Layout=\"layout\"})(p||(p={}));var v;(function(e){e.Center=\"center\";e.TopLeft=\"topLeft\";e.TopCenter=\"topCenter\";e.TopRight=\"topRight\";e.CenterLeft=\"centerLeft\";e.CenterRight=\"centerRight\";e.BottomLeft=\"bottomLeft\";e.BottomCenter=\"bottomCenter\";e.BottomRight=\"bottomRight\"})(v||(v={}));var m=function(){function t(t){var n,r,i,a,o,s,u;(this||e).fit=(n=t===null||t===void 0?void 0:t.fit)!==null&&n!==void 0?n:p.Contain;(this||e).alignment=(r=t===null||t===void 0?void 0:t.alignment)!==null&&r!==void 0?r:v.Center;(this||e).layoutScaleFactor=(i=t===null||t===void 0?void 0:t.layoutScaleFactor)!==null&&i!==void 0?i:1;(this||e).minX=(a=t===null||t===void 0?void 0:t.minX)!==null&&a!==void 0?a:0;(this||e).minY=(o=t===null||t===void 0?void 0:t.minY)!==null&&o!==void 0?o:0;(this||e).maxX=(s=t===null||t===void 0?void 0:t.maxX)!==null&&s!==void 0?s:0;(this||e).maxY=(u=t===null||t===void 0?void 0:t.maxY)!==null&&u!==void 0?u:0}t.new=function(e){var n=e.fit,r=e.alignment,i=e.minX,a=e.minY,o=e.maxX,s=e.maxY;console.warn(\"This function is deprecated: please use `new Layout({})` instead\");return new t({fit:n,alignment:r,minX:i,minY:a,maxX:o,maxY:s})};t.prototype.copyWith=function(n){var r=n.fit,i=n.alignment,a=n.layoutScaleFactor,o=n.minX,s=n.minY,u=n.maxX,l=n.maxY;return new t({fit:r!==null&&r!==void 0?r:(this||e).fit,alignment:i!==null&&i!==void 0?i:(this||e).alignment,layoutScaleFactor:a!==null&&a!==void 0?a:(this||e).layoutScaleFactor,minX:o!==null&&o!==void 0?o:(this||e).minX,minY:s!==null&&s!==void 0?s:(this||e).minY,maxX:u!==null&&u!==void 0?u:(this||e).maxX,maxY:l!==null&&l!==void 0?l:(this||e).maxY})};t.prototype.runtimeFit=function(t){if((this||e).cachedRuntimeFit)return(this||e).cachedRuntimeFit;var n;n=(this||e).fit===p.Cover?t.Fit.cover:(this||e).fit===p.Contain?t.Fit.contain:(this||e).fit===p.Fill?t.Fit.fill:(this||e).fit===p.FitWidth?t.Fit.fitWidth:(this||e).fit===p.FitHeight?t.Fit.fitHeight:(this||e).fit===p.ScaleDown?t.Fit.scaleDown:(this||e).fit===p.Layout?t.Fit.layout:t.Fit.none;(this||e).cachedRuntimeFit=n;return n};t.prototype.runtimeAlignment=function(t){if((this||e).cachedRuntimeAlignment)return(this||e).cachedRuntimeAlignment;var n;n=(this||e).alignment===v.TopLeft?t.Alignment.topLeft:(this||e).alignment===v.TopCenter?t.Alignment.topCenter:(this||e).alignment===v.TopRight?t.Alignment.topRight:(this||e).alignment===v.CenterLeft?t.Alignment.centerLeft:(this||e).alignment===v.CenterRight?t.Alignment.centerRight:(this||e).alignment===v.BottomLeft?t.Alignment.bottomLeft:(this||e).alignment===v.BottomCenter?t.Alignment.bottomCenter:(this||e).alignment===v.BottomRight?t.Alignment.bottomRight:t.Alignment.center;(this||e).cachedRuntimeAlignment=n;return n};return t}();var b=function(){function e(){}e.loadRuntime=function(){t.default({locateFile:function(){return e.wasmURL}}).then((function(t){var n;e.runtime=t;while(e.callBackQueue.length>0)(n=e.callBackQueue.shift())===null||n===void 0?void 0:n(e.runtime)})).catch((function(t){var r={message:(t===null||t===void 0?void 0:t.message)||\"Unknown error\",type:(t===null||t===void 0?void 0:t.name)||\"Error\",wasmError:t instanceof WebAssembly.CompileError||t instanceof WebAssembly.RuntimeError,originalError:t};console.debug(\"Rive WASM load error details:\",r);var i=\"https://cdn.jsdelivr.net/npm/\".concat(n.name,\"@\").concat(n.version,\"/rive_fallback.wasm\");if(e.wasmURL.toLowerCase()!==i){console.warn(\"Failed to load WASM from \".concat(e.wasmURL,\" (\").concat(r.message,\"), trying jsdelivr as a backup\"));e.setWasmUrl(i);e.loadRuntime()}else{var a=[\"Could not load Rive WASM file from \".concat(e.wasmURL,\" or \").concat(i,\".\"),\"Possible reasons:\",\"- Network connection is down\",\"- WebAssembly is not supported in this environment\",\"- The WASM file is corrupted or incompatible\",\"\\nError details:\",\"- Type: \".concat(r.type),\"- Message: \".concat(r.message),\"- WebAssembly-specific error: \".concat(r.wasmError),\"\\nTo resolve, you may need to:\",\"1. Check your network connection\",\"2. Set a new WASM source via RuntimeLoader.setWasmUrl()\",\"3. Call RuntimeLoader.loadRuntime() again\"].join(\"\\n\");console.error(a)}}))};e.getInstance=function(t){if(!e.isLoading){e.isLoading=true;e.loadRuntime()}e.runtime?t(e.runtime):e.callBackQueue.push(t)};e.awaitInstance=function(){return new Promise((function(t){return e.getInstance((function(e){return t(e)}))}))};e.setWasmUrl=function(t){e.wasmURL=t};e.getWasmUrl=function(){return e.wasmURL};e.isLoading=false;e.callBackQueue=[];e.wasmURL=\"https://unpkg.com/\".concat(n.name,\"@\").concat(n.version,\"/rive.wasm\");return e}();var g;(function(e){e[e.Number=56]=\"Number\";e[e.Trigger=58]=\"Trigger\";e[e.Boolean=59]=\"Boolean\"})(g||(g={}));var y=function(){function t(t,n){(this||e).type=t;(this||e).runtimeInput=n}Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e).runtimeInput.name},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"value\",{get:function(){return(this||e).runtimeInput.value},set:function(t){(this||e).runtimeInput.value=t},enumerable:false,configurable:true});t.prototype.fire=function(){(this||e).type===g.Trigger&&(this||e).runtimeInput.fire()};t.prototype.delete=function(){(this||e).runtimeInput=null};return t}();var w;(function(e){e[e.General=128]=\"General\";e[e.OpenUrl=131]=\"OpenUrl\"})(w||(w={}));var _=function(){\n/**\n         * @constructor\n         * @param stateMachine runtime state machine object\n         * @param instance runtime state machine instance object\n         */\nfunction t(t,n,r,i){(this||e).stateMachine=t;(this||e).playing=r;(this||e).artboard=i;(this||e).inputs=[];(this||e).instance=new n.StateMachineInstance(t,i);this.initInputs(n)}Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e).stateMachine.name},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"statesChanged\",{get:function(){var t=[];for(var n=0;n<(this||e).instance.stateChangedCount();n++)t.push((this||e).instance.stateChangedNameByIndex(n));return t},enumerable:false,configurable:true});\n/**\n         * Advances the state machine instance by a given time.\n         * @param time - the time to advance the animation by in seconds\n         */t.prototype.advance=function(t){(this||e).instance.advance(t)};\n/**\n         * Advances the state machine instance by a given time and apply changes to artboard.\n         * @param time - the time to advance the animation by in seconds\n         */t.prototype.advanceAndApply=function(t){(this||e).instance.advanceAndApply(t)};\n/**\n         * Returns the number of events reported from the last advance call\n         * @returns Number of events reported\n         */t.prototype.reportedEventCount=function(){return(this||e).instance.reportedEventCount()};\n/**\n         * Returns a RiveEvent object emitted from the last advance call at the given index\n         * of a list of potentially multiple events. If an event at the index is not found,\n         * undefined is returned.\n         * @param i index of the event reported in a list of potentially multiple events\n         * @returns RiveEvent or extended RiveEvent object returned, or undefined\n         */t.prototype.reportedEventAt=function(t){return(this||e).instance.reportedEventAt(t)};\n/**\n         * Fetches references to the state machine's inputs and caches them\n         * @param runtime an instance of the runtime; needed for the SMIInput types\n         */t.prototype.initInputs=function(t){for(var n=0;n<(this||e).instance.inputCount();n++){var r=(this||e).instance.input(n);(this||e).inputs.push(this.mapRuntimeInput(r,t))}};\n/**\n         * Maps a runtime input to it's appropriate type\n         * @param input\n         */t.prototype.mapRuntimeInput=function(e,t){return e.type===t.SMIInput.bool?new y(g.Boolean,e.asBool()):e.type===t.SMIInput.number?new y(g.Number,e.asNumber()):e.type===t.SMIInput.trigger?new y(g.Trigger,e.asTrigger()):void 0};t.prototype.cleanup=function(){(this||e).inputs.forEach((function(e){e.delete()}));(this||e).inputs.length=0;(this||e).instance.delete()};t.prototype.bindViewModelInstance=function(t){t.runtimeInstance!=null&&(this||e).instance.bindViewModelInstance(t.runtimeInstance)};return t}();var A=function(){\n/**\n         * Constructs a new animator\n         * @constructor\n         * @param runtime Rive runtime; needed to instance animations & state machines\n         * @param artboard the artboard that holds all animations and state machines\n         * @param animations optional list of animations\n         * @param stateMachines optional list of state machines\n         */\nfunction t(t,n,r,i,a){i===void 0&&(i=[]);a===void 0&&(a=[]);(this||e).runtime=t;(this||e).artboard=n;(this||e).eventManager=r;(this||e).animations=i;(this||e).stateMachines=a}\n/**\n         * Adds animations and state machines by their names. If names are shared\n         * between animations & state machines, then the first one found will be\n         * created. Best not to use the same names for these in your Rive file.\n         * @param animatable the name(s) of animations and state machines to add\n         * @returns a list of names of the playing animations and state machines\n         */t.prototype.add=function(t,n,r){r===void 0&&(r=true);t=J(t);if(t.length===0){(this||e).animations.forEach((function(e){return e.playing=n}));(this||e).stateMachines.forEach((function(e){return e.playing=n}))}else{var i=(this||e).animations.map((function(e){return e.name}));var o=(this||e).stateMachines.map((function(e){return e.name}));for(var s=0;s<t.length;s++){var u=i.indexOf(t[s]);var l=o.indexOf(t[s]);if(u>=0||l>=0)u>=0?(this||e).animations[u].playing=n:(this||e).stateMachines[l].playing=n;else{var c=(this||e).artboard.animationByName(t[s]);if(c){var h=new a.Animation(c,(this||e).artboard,(this||e).runtime,n);h.advance(0);h.apply(1);(this||e).animations.push(h)}else{var f=(this||e).artboard.stateMachineByName(t[s]);if(f){var d=new _(f,(this||e).runtime,n,(this||e).artboard);(this||e).stateMachines.push(d)}}}}}r&&(n?(this||e).eventManager.fire({type:C.Play,data:(this||e).playing}):(this||e).eventManager.fire({type:C.Pause,data:(this||e).paused}));return n?(this||e).playing:(this||e).paused};\n/**\n         * Adds linear animations by their names.\n         * @param animatables the name(s) of animations to add\n         * @param playing whether animations should play on instantiation\n         */t.prototype.initLinearAnimations=function(t,n){var r=(this||e).animations.map((function(e){return e.name}));for(var i=0;i<t.length;i++){var o=r.indexOf(t[i]);if(o>=0)(this||e).animations[o].playing=n;else{var s=(this||e).artboard.animationByName(t[i]);if(s){var u=new a.Animation(s,(this||e).artboard,(this||e).runtime,n);u.advance(0);u.apply(1);(this||e).animations.push(u)}else console.error(\"Animation with name \".concat(t[i],\" not found.\"))}}};\n/**\n         * Adds state machines by their names.\n         * @param animatables the name(s) of state machines to add\n         * @param playing whether state machines should play on instantiation\n         */t.prototype.initStateMachines=function(t,n){var r=(this||e).stateMachines.map((function(e){return e.name}));for(var i=0;i<t.length;i++){var a=r.indexOf(t[i]);if(a>=0)(this||e).stateMachines[a].playing=n;else{var o=(this||e).artboard.stateMachineByName(t[i]);if(o){var s=new _(o,(this||e).runtime,n,(this||e).artboard);(this||e).stateMachines.push(s);n||s.advanceAndApply(0)}else{console.warn(\"State Machine with name \".concat(t[i],\" not found.\"));this.initLinearAnimations([t[i]],n)}}}};\n/**\n         * Play the named animations/state machines\n         * @param animatables the names of the animations/machines to play; plays all if empty\n         * @returns a list of the playing items\n         */t.prototype.play=function(e){return this.add(e,true)};\n/**\n         * Pauses named animations and state machines, or everything if nothing is\n         * specified\n         * @param animatables names of the animations and state machines to pause\n         * @returns a list of names of the animations and state machines paused\n         */t.prototype.pause=function(e){return this.add(e,false)};\n/**\n         * Set time of named animations\n         * @param animations names of the animations to scrub\n         * @param value time scrub value, a floating point number to which the playhead is jumped\n         * @returns a list of names of the animations that were scrubbed\n         */t.prototype.scrub=function(t,n){var r=(this||e).animations.filter((function(e){return t.includes(e.name)}));r.forEach((function(e){return e.scrubTo=n}));return r.map((function(e){return e.name}))};Object.defineProperty(t.prototype,\"playing\",{get:function(){return(this||e).animations.filter((function(e){return e.playing})).map((function(e){return e.name})).concat((this||e).stateMachines.filter((function(e){return e.playing})).map((function(e){return e.name})))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"paused\",{get:function(){return(this||e).animations.filter((function(e){return!e.playing})).map((function(e){return e.name})).concat((this||e).stateMachines.filter((function(e){return!e.playing})).map((function(e){return e.name})))},enumerable:false,configurable:true});\n/**\n         * Stops and removes all named animations and state machines\n         * @param animatables animations and state machines to remove\n         * @returns a list of names of removed items\n         */t.prototype.stop=function(t){var n=this||e;t=J(t);var r=[];if(t.length===0){r=(this||e).animations.map((function(e){return e.name})).concat((this||e).stateMachines.map((function(e){return e.name})));(this||e).animations.forEach((function(e){return e.cleanup()}));(this||e).stateMachines.forEach((function(e){return e.cleanup()}));(this||e).animations.splice(0,(this||e).animations.length);(this||e).stateMachines.splice(0,(this||e).stateMachines.length)}else{var i=(this||e).animations.filter((function(e){return t.includes(e.name)}));i.forEach((function(e){e.cleanup();n.animations.splice(n.animations.indexOf(e),1)}));var a=(this||e).stateMachines.filter((function(e){return t.includes(e.name)}));a.forEach((function(e){e.cleanup();n.stateMachines.splice(n.stateMachines.indexOf(e),1)}));r=i.map((function(e){return e.name})).concat(a.map((function(e){return e.name})))}(this||e).eventManager.fire({type:C.Stop,data:r});return r};Object.defineProperty(t.prototype,\"isPlaying\",{get:function(){return(this||e).animations.reduce((function(e,t){return e||t.playing}),false)||(this||e).stateMachines.reduce((function(e,t){return e||t.playing}),false)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isPaused\",{get:function(){return!(this||e).isPlaying&&((this||e).animations.length>0||(this||e).stateMachines.length>0)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isStopped\",{get:function(){return(this||e).animations.length===0&&(this||e).stateMachines.length===0},enumerable:false,configurable:true});\n/**\n         * If there are no animations or state machines, add the first one found\n         * @returns the name of the animation or state machine instanced\n         */t.prototype.atLeastOne=function(t,n){n===void 0&&(n=true);var r;(this||e).animations.length===0&&(this||e).stateMachines.length===0&&((this||e).artboard.animationCount()>0?this.add([r=(this||e).artboard.animationByIndex(0).name],t,n):(this||e).artboard.stateMachineCount()>0&&this.add([r=(this||e).artboard.stateMachineByIndex(0).name],t,n));return r};t.prototype.handleLooping=function(){for(var t=0,n=(this||e).animations.filter((function(e){return e.playing}));t<n.length;t++){var r=n[t];if(r.loopValue===0&&r.loopCount){r.loopCount=0;this.stop(r.name)}else if(r.loopValue===1&&r.loopCount){(this||e).eventManager.fire({type:C.Loop,data:{animation:r.name,type:M.Loop}});r.loopCount=0}else if(r.loopValue===2&&r.loopCount>1){(this||e).eventManager.fire({type:C.Loop,data:{animation:r.name,type:M.PingPong}});r.loopCount=0}}};t.prototype.handleStateChanges=function(){var t=[];for(var n=0,r=(this||e).stateMachines.filter((function(e){return e.playing}));n<r.length;n++){var i=r[n];t.push.apply(t,i.statesChanged)}t.length>0&&(this||e).eventManager.fire({type:C.StateChange,data:t})};t.prototype.handleAdvancing=function(t){(this||e).eventManager.fire({type:C.Advance,data:t})};return t}();var C;(function(e){e.Load=\"load\";e.LoadError=\"loaderror\";e.Play=\"play\";e.Pause=\"pause\";e.Stop=\"stop\";e.Loop=\"loop\";e.Draw=\"draw\";e.Advance=\"advance\";e.StateChange=\"statechange\";e.RiveEvent=\"riveevent\";e.AudioStatusChange=\"audiostatuschange\"})(C||(C={}));var M;(function(e){e.OneShot=\"oneshot\";e.Loop=\"loop\";e.PingPong=\"pingpong\"})(M||(M={}));var P=function(){function t(t){t===void 0&&(t=[]);(this||e).listeners=t}t.prototype.getListeners=function(t){return(this||e).listeners.filter((function(e){return e.type===t}))};t.prototype.add=function(t){(this||e).listeners.includes(t)||(this||e).listeners.push(t)};\n/**\n         * Removes a listener\n         * @param listener the listener with the callback to be removed\n         */t.prototype.remove=function(t){for(var n=0;n<(this||e).listeners.length;n++){var r=(this||e).listeners[n];if(r.type===t.type&&r.callback===t.callback){(this||e).listeners.splice(n,1);break}}};\n/**\n         * Clears all listeners of specified type, or every listener if no type is\n         * specified\n         * @param type the type of listeners to clear, or all listeners if not\n         * specified\n         */t.prototype.removeAll=function(t){var n=this||e;t?(this||e).listeners.filter((function(e){return e.type===t})).forEach((function(e){return n.remove(e)})):(this||e).listeners.splice(0,(this||e).listeners.length)};t.prototype.fire=function(e){var t=this.getListeners(e.type);t.forEach((function(t){return t.callback(e)}))};return t}();var I=function(){function t(t){(this||e).eventManager=t;(this||e).queue=[]}t.prototype.add=function(t){(this||e).queue.push(t)};t.prototype.process=function(){while((this||e).queue.length>0){var t=(this||e).queue.shift();(t===null||t===void 0?void 0:t.action)&&t.action();(t===null||t===void 0?void 0:t.event)&&(this||e).eventManager.fire(t.event)}};return t}();var E;(function(e){e[e.AVAILABLE=0]=\"AVAILABLE\";e[e.UNAVAILABLE=1]=\"UNAVAILABLE\"})(E||(E={}));var R=function(t){s(n,t);function n(){var n=t!==null&&t.apply(this||e,arguments)||this||e;n._started=false;n._enabled=false;n._status=E.UNAVAILABLE;return n}n.prototype.delay=function(t){return l(this||e,void 0,void 0,(function(){return c(this||e,(function(e){return[2,new Promise((function(e){return setTimeout(e,t)}))]}))}))};n.prototype.timeout=function(){return l(this||e,void 0,void 0,(function(){return c(this||e,(function(e){return[2,new Promise((function(e,t){return setTimeout(t,50)}))]}))}))};n.prototype.reportToListeners=function(){this.fire({type:C.AudioStatusChange});this.removeAll()};n.prototype.enableAudio=function(){return l(this||e,void 0,void 0,(function(){return c(this||e,(function(t){if(!(this||e)._enabled){(this||e)._enabled=true;(this||e)._status=E.AVAILABLE;this.reportToListeners()}return[2]}))}))};n.prototype.testAudio=function(){return l(this||e,void 0,void 0,(function(){return c(this||e,(function(t){switch(t.label){case 0:if(!((this||e)._status===E.UNAVAILABLE&&(this||e)._audioContext!==null))return[3,4];t.label=1;case 1:t.trys.push([1,3,,4]);return[4,Promise.race([(this||e)._audioContext.resume(),this.timeout()])];case 2:t.sent();this.enableAudio();return[3,4];case 3:t.sent();return[3,4];case 4:return[2]}}))}))};n.prototype._establishAudio=function(){return l(this||e,void 0,void 0,(function(){return c(this||e,(function(t){switch(t.label){case 0:if(!!(this||e)._started)return[3,5];(this||e)._started=true;if(!(typeof window==\"undefined\"))return[3,1];this.enableAudio();return[3,5];case 1:(this||e)._audioContext=new AudioContext;this.listenForUserAction();t.label=2;case 2:return(this||e)._status===E.UNAVAILABLE?[4,this.testAudio()]:[3,5];case 3:t.sent();return[4,this.delay(1e3)];case 4:t.sent();return[3,2];case 5:return[2]}}))}))};n.prototype.listenForUserAction=function(){var t=this||e;var n=function(){return l(t,void 0,void 0,(function(){return c(this||e,(function(e){this.enableAudio();return[2]}))}))};document.addEventListener(\"pointerdown\",n,{once:true})};n.prototype.establishAudio=function(){return l(this||e,void 0,void 0,(function(){return c(this||e,(function(e){this._establishAudio();return[2]}))}))};Object.defineProperty(n.prototype,\"systemVolume\",{get:function(){if((this||e)._status===E.UNAVAILABLE){this.testAudio();return 0}return 1},enumerable:false,configurable:true});Object.defineProperty(n.prototype,\"status\",{get:function(){return(this||e)._status},enumerable:false,configurable:true});return n}(P);var T=new R;var F=function(){function e(){}e.prototype.observe=function(){};e.prototype.unobserve=function(){};e.prototype.disconnect=function(){};return e}();var L=globalThis.ResizeObserver||F;var k=function(){function t(){var t=this||e;(this||e)._elementsMap=new Map;(this||e)._onObservedEntry=function(e){var n=t._elementsMap.get(e.target);n!==null?n.onResize(e.target.clientWidth==0||e.target.clientHeight==0):t._resizeObserver.unobserve(e.target)};(this||e)._onObserved=function(e){e.forEach(t._onObservedEntry)};(this||e)._resizeObserver=new L((this||e)._onObserved)}t.prototype.add=function(t,n){var r={onResize:n,element:t};(this||e)._elementsMap.set(t,r);(this||e)._resizeObserver.observe(t);return r};t.prototype.remove=function(t){(this||e)._resizeObserver.unobserve(t.element);(this||e)._elementsMap.delete(t.element)};return t}();var j=new k;var S=function(){function t(t){(this||e).enableRiveAssetCDN=true;(this||e).referenceCount=0;(this||e).destroyed=false;(this||e).src=t.src;(this||e).buffer=t.buffer;t.assetLoader&&((this||e).assetLoader=t.assetLoader);(this||e).enableRiveAssetCDN=typeof t.enableRiveAssetCDN!=\"boolean\"||t.enableRiveAssetCDN;(this||e).eventManager=new P;t.onLoad&&this.on(C.Load,t.onLoad);t.onLoadError&&this.on(C.LoadError,t.onLoadError)}t.prototype.initData=function(){return l(this||e,void 0,void 0,(function(){var n,r,i,a;var s;return c(this||e,(function(u){switch(u.label){case 0:if(!(this||e).src)return[3,2];n=this||e;return[4,q((this||e).src)];case 1:n.buffer=u.sent();u.label=2;case 2:if((this||e).destroyed)return[2];if((this||e).assetLoader){i=new o.CustomFileAssetLoaderWrapper((this||e).runtime,(this||e).assetLoader);r=i.assetLoader}a=this||e;return[4,(this||e).runtime.load(new Uint8Array((this||e).buffer),r,(this||e).enableRiveAssetCDN)];case 3:a.file=u.sent();if((this||e).destroyed){(s=(this||e).file)===null||s===void 0?void 0:s.delete();(this||e).file=null;return[2]}if((this||e).file===null){(this||e).eventManager.fire({type:C.LoadError,data:null});throw new Error(t.fileLoadErrorMessage)}(this||e).eventManager.fire({type:C.Load,data:this||e});return[2]}}))}))};t.prototype.init=function(){return l(this||e,void 0,void 0,(function(){var n;return c(this||e,(function(r){switch(r.label){case 0:if(!(this||e).src&&!(this||e).buffer)throw new Error(t.missingErrorMessage);n=this||e;return[4,b.awaitInstance()];case 1:n.runtime=r.sent();return(this||e).destroyed?[2]:[4,this.initData()];case 2:r.sent();return[2]}}))}))};\n/**\n         * Subscribe to Rive-generated events\n         * @param type the type of event to subscribe to\n         * @param callback callback to fire when the event occurs\n         */t.prototype.on=function(t,n){(this||e).eventManager.add({type:t,callback:n})};\n/**\n         * Unsubscribes from a Rive-generated event\n         * @param type the type of event to unsubscribe from\n         * @param callback the callback to unsubscribe\n         */t.prototype.off=function(t,n){(this||e).eventManager.remove({type:t,callback:n})};t.prototype.cleanup=function(){var t;(this||e).referenceCount-=1;if((this||e).referenceCount<=0){this.removeAllRiveEventListeners();(t=(this||e).file)===null||t===void 0?void 0:t.delete();(this||e).file=null;(this||e).destroyed=true}};\n/**\n         * Unsubscribes all Rive listeners from an event type, or everything if no type is\n         * given\n         * @param type the type of event to unsubscribe from, or all types if\n         * undefined\n         */t.prototype.removeAllRiveEventListeners=function(t){(this||e).eventManager.removeAll(t)};t.prototype.getInstance=function(){if((this||e).file!==null){(this||e).referenceCount+=1;return(this||e).file}};t.missingErrorMessage=\"Rive source file or data buffer required\";t.fileLoadErrorMessage=\"The file failed to load\";return t}();var O=function(){function t(t){var n=this||e;var r;(this||e).loaded=false;(this||e).destroyed=false;(this||e)._observed=null;(this||e).readyForPlaying=false;(this||e).artboard=null;(this||e).eventCleanup=null;(this||e).shouldDisableRiveListeners=false;(this||e).automaticallyHandleEvents=false;(this||e).enableRiveAssetCDN=true;(this||e)._volume=1;(this||e)._artboardWidth=void 0;(this||e)._artboardHeight=void 0;(this||e)._devicePixelRatioUsed=1;(this||e)._hasZeroSize=false;(this||e)._audioEventListener=null;(this||e)._boundDraw=null;(this||e)._viewModelInstance=null;(this||e)._dataEnums=null;(this||e).durations=[];(this||e).frameTimes=[];(this||e).frameCount=0;(this||e).isTouchScrollEnabled=false;(this||e).onCanvasResize=function(e){var t=n._hasZeroSize!==e;n._hasZeroSize=e;e?n._layout.maxX&&n._layout.maxY||n.resizeToCanvas():t&&n.resizeDrawingSurfaceToCanvas()};(this||e).renderSecondTimer=0;(this||e)._boundDraw=(this||e).draw.bind(this||e);(this||e).canvas=t.canvas;t.canvas.constructor===HTMLCanvasElement&&((this||e)._observed=j.add((this||e).canvas,(this||e).onCanvasResize));(this||e).src=t.src;(this||e).buffer=t.buffer;(this||e).riveFile=t.riveFile;(this||e).layout=(r=t.layout)!==null&&r!==void 0?r:new m;(this||e).shouldDisableRiveListeners=!!t.shouldDisableRiveListeners;(this||e).isTouchScrollEnabled=!!t.isTouchScrollEnabled;(this||e).automaticallyHandleEvents=!!t.automaticallyHandleEvents;(this||e).enableRiveAssetCDN=t.enableRiveAssetCDN===void 0||t.enableRiveAssetCDN;(this||e).eventManager=new P;t.onLoad&&this.on(C.Load,t.onLoad);t.onLoadError&&this.on(C.LoadError,t.onLoadError);t.onPlay&&this.on(C.Play,t.onPlay);t.onPause&&this.on(C.Pause,t.onPause);t.onStop&&this.on(C.Stop,t.onStop);t.onLoop&&this.on(C.Loop,t.onLoop);t.onStateChange&&this.on(C.StateChange,t.onStateChange);t.onAdvance&&this.on(C.Advance,t.onAdvance)\n/**\n           * @deprecated Use camelCase'd versions instead.\n           */;t.onload&&!t.onLoad&&this.on(C.Load,t.onload);t.onloaderror&&!t.onLoadError&&this.on(C.LoadError,t.onloaderror);t.onplay&&!t.onPlay&&this.on(C.Play,t.onplay);t.onpause&&!t.onPause&&this.on(C.Pause,t.onpause);t.onstop&&!t.onStop&&this.on(C.Stop,t.onstop);t.onloop&&!t.onLoop&&this.on(C.Loop,t.onloop);t.onstatechange&&!t.onStateChange&&this.on(C.StateChange,t.onstatechange);t.assetLoader&&((this||e).assetLoader=t.assetLoader);(this||e).taskQueue=new I((this||e).eventManager);this.init({src:(this||e).src,buffer:(this||e).buffer,riveFile:(this||e).riveFile,autoplay:t.autoplay,autoBind:t.autoBind,animations:t.animations,stateMachines:t.stateMachines,artboard:t.artboard,useOffscreenRenderer:t.useOffscreenRenderer})}Object.defineProperty(t.prototype,\"viewModelCount\",{get:function(){return(this||e).file.viewModelCount()},enumerable:false,configurable:true});t.new=function(e){console.warn(\"This function is deprecated: please use `new Rive({})` instead\");return new t(e)};t.prototype.onSystemAudioChanged=function(){(this||e).volume=(this||e)._volume};t.prototype.init=function(n){var r=this||e;var i=n.src,a=n.buffer,o=n.riveFile,s=n.animations,u=n.stateMachines,l=n.artboard,c=n.autoplay,h=c!==void 0&&c,d=n.useOffscreenRenderer,p=d!==void 0&&d,v=n.autoBind,m=v!==void 0&&v;if(!(this||e).destroyed){(this||e).src=i;(this||e).buffer=a;(this||e).riveFile=o;if(!(this||e).src&&!(this||e).buffer&&!(this||e).riveFile)throw new f(t.missingErrorMessage);var g=J(s);var y=J(u);(this||e).loaded=false;(this||e).readyForPlaying=false;b.awaitInstance().then((function(e){if(!r.destroyed){r.runtime=e;r.removeRiveListeners();r.deleteRiveRenderer();r.renderer=r.runtime.makeRenderer(r.canvas,p);r.canvas.width||r.canvas.height||r.resizeDrawingSurfaceToCanvas();r.initData(l,g,y,h,m).then((function(e){if(e)return r.setupRiveListeners()})).catch((function(e){console.error(e)}))}})).catch((function(e){console.error(e)}))}};\n/**\n         * Setup Rive Listeners on the canvas\n         * @param riveListenerOptions - Enables TouchEvent events on the canvas. Set to true to allow\n         * touch scrolling on the canvas element on touch-enabled devices\n         * i.e. { isTouchScrollEnabled: true }\n         */t.prototype.setupRiveListeners=function(t){var n=this||e;(this||e).eventCleanup&&this.eventCleanup();if(!(this||e).shouldDisableRiveListeners){var r=((this||e).animator.stateMachines||[]).filter((function(e){return e.playing&&n.runtime.hasListeners(e.instance)})).map((function(e){return e.instance}));var i=(this||e).isTouchScrollEnabled;t&&\"isTouchScrollEnabled\"in t&&(i=t.isTouchScrollEnabled);(this||e).eventCleanup=(0,o.registerTouchInteractions)({canvas:(this||e).canvas,artboard:(this||e).artboard,stateMachines:r,renderer:(this||e).renderer,rive:(this||e).runtime,fit:(this||e)._layout.runtimeFit((this||e).runtime),alignment:(this||e)._layout.runtimeAlignment((this||e).runtime),isTouchScrollEnabled:i,layoutScaleFactor:(this||e)._layout.layoutScaleFactor})}};t.prototype.removeRiveListeners=function(){if((this||e).eventCleanup){this.eventCleanup();(this||e).eventCleanup=null}};t.prototype.initializeAudio=function(){var t=this||e;var n;if(T.status==E.UNAVAILABLE&&((n=(this||e).artboard)===null||n===void 0?void 0:n.hasAudio)&&(this||e)._audioEventListener===null){(this||e)._audioEventListener={type:C.AudioStatusChange,callback:function(){return t.onSystemAudioChanged()}};T.add((this||e)._audioEventListener);T.establishAudio()}};t.prototype.initArtboardSize=function(){if((this||e).artboard){(this||e)._artboardWidth=(this||e).artboard.width=(this||e)._artboardWidth||(this||e).artboard.width;(this||e)._artboardHeight=(this||e).artboard.height=(this||e)._artboardHeight||(this||e).artboard.height}};t.prototype.initData=function(t,n,r,i,a){return l(this||e,void 0,void 0,(function(){var o,s;var u;return c(this||e,(function(l){switch(l.label){case 0:l.trys.push([0,3,,4]);if(!((this||e).riveFile==null))return[3,2];(this||e).riveFile=new S({src:(this||e).src,buffer:(this||e).buffer,enableRiveAssetCDN:(this||e).enableRiveAssetCDN,assetLoader:(this||e).assetLoader});return[4,(this||e).riveFile.init()];case 1:l.sent();l.label=2;case 2:if(!(this||e).riveFile)return[2,false];(this||e).file=(this||e).riveFile.getInstance();this.initArtboard(t,n,r,i,a);this.initArtboardSize();this.initializeAudio();(this||e).loaded=true;(this||e).eventManager.fire({type:C.Load,data:(u=(this||e).src)!==null&&u!==void 0?u:\"buffer\"});(this||e).readyForPlaying=true;(this||e).taskQueue.process();this.drawFrame();return[2,true];case 3:o=l.sent();s=d(o);console.warn(s);(this||e).eventManager.fire({type:C.LoadError,data:s});return[2,Promise.reject(s)];case 4:return[2]}}))}))};t.prototype.initArtboard=function(t,n,r,i,a){if((this||e).file){var o=t?(this||e).file.artboardByName(t):(this||e).file.defaultArtboard();if(o){(this||e).artboard=o;o.volume=(this||e)._volume*T.systemVolume;if((this||e).artboard.animationCount()<1){h=\"Artboard has no animations\";(this||e).eventManager.fire({type:C.LoadError,data:h});throw h}(this||e).animator=new A((this||e).runtime,(this||e).artboard,(this||e).eventManager);var s;if(n.length>0||r.length>0){s=n.concat(r);(this||e).animator.initLinearAnimations(n,i);(this||e).animator.initStateMachines(r,i)}else s=[(this||e).animator.atLeastOne(i,false)];(this||e).taskQueue.add({event:{type:i?C.Play:C.Pause,data:s}});if(a){var u=(this||e).file.defaultArtboardViewModel(o);if(u!==null){var l=u.defaultInstance();if(l!==null){var c=new U(l,null);this.bindViewModelInstance(c)}}}}else{var h=\"Invalid artboard name or no default artboard\";console.warn(h);(this||e).eventManager.fire({type:C.LoadError,data:h})}}};t.prototype.drawFrame=function(){var t,n;if((t=document===null||document===void 0?void 0:document.timeline)===null||t===void 0?void 0:t.currentTime){if((this||e).loaded&&(this||e).artboard&&!(this||e).frameRequestId){this._boundDraw(document.timeline.currentTime);(n=(this||e).runtime)===null||n===void 0?void 0:n.resolveAnimationFrame()}}else this.startRendering()};\n/**\n         * Draw rendering loop; renders animation frames at the correct time interval.\n         * @param time the time at which to render a frame\n         */t.prototype.draw=function(t,n){var r;(this||e).frameRequestId=null;var i=performance.now();(this||e).lastRenderTime||((this||e).lastRenderTime=t);(this||e).renderSecondTimer+=t-(this||e).lastRenderTime;if((this||e).renderSecondTimer>5e3){(this||e).renderSecondTimer=0;n===null||n===void 0?void 0:n()}var a=(t-(this||e).lastRenderTime)/1e3;(this||e).lastRenderTime=t;var s=(this||e).animator.animations.filter((function(e){return e.playing||e.needsScrub})).sort((function(e){return e.needsScrub?-1:1}));for(var u=0,l=s;u<l.length;u++){var c=l[u];c.advance(a);c.instance.didLoop&&(c.loopCount+=1);c.apply(1)}var h=(this||e).animator.stateMachines.filter((function(e){return e.playing}));for(var f=0,d=h;f<d.length;f++){var p=d[f];var v=p.reportedEventCount();if(v)for(var m=0;m<v;m++){var b=p.reportedEventAt(m);if(b)if(b.type===w.OpenUrl){(this||e).eventManager.fire({type:C.RiveEvent,data:b});if((this||e).automaticallyHandleEvents){var g=document.createElement(\"a\");var y=b,_=y.url,A=y.target;var M=(0,o.sanitizeUrl)(_);_&&g.setAttribute(\"href\",M);A&&g.setAttribute(\"target\",A);M&&M!==o.BLANK_URL&&g.click()}}else(this||e).eventManager.fire({type:C.RiveEvent,data:b})}p.advanceAndApply(a)}(this||e).animator.stateMachines.length==0&&(this||e).artboard.advance(a);var P=(this||e).renderer;P.clear();P.save();this.alignRenderer();(this||e)._hasZeroSize||(this||e).artboard.draw(P);P.restore();P.flush();(this||e).animator.handleLooping();(this||e).animator.handleStateChanges();(this||e).animator.handleAdvancing(a);(this||e).frameCount++;var I=performance.now();(this||e).frameTimes.push(I);(this||e).durations.push(I-i);while((this||e).frameTimes[0]<=I-1e3){(this||e).frameTimes.shift();(this||e).durations.shift()}(r=(this||e)._viewModelInstance)===null||r===void 0?void 0:r.handleCallbacks();(this||e).animator.isPlaying?this.startRendering():((this||e).animator.isPaused||(this||e).animator.isStopped)&&((this||e).lastRenderTime=0)};t.prototype.alignRenderer=function(){var t=this||e,n=t.renderer,r=t.runtime,i=t._layout,a=t.artboard;n.align(i.runtimeFit(r),i.runtimeAlignment(r),{minX:i.minX,minY:i.minY,maxX:i.maxX,maxY:i.maxY},a.bounds,(this||e)._devicePixelRatioUsed*i.layoutScaleFactor)};Object.defineProperty(t.prototype,\"fps\",{get:function(){return(this||e).durations.length},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"frameTime\",{get:function(){return(this||e).durations.length===0?0:((this||e).durations.reduce((function(e,t){return e+t}),0)/(this||e).durations.length).toFixed(4)},enumerable:false,configurable:true});t.prototype.cleanup=function(){var t,n;(this||e).destroyed=true;this.stopRendering();this.cleanupInstances();(this||e)._observed!==null&&j.remove((this||e)._observed);this.removeRiveListeners();if((this||e).file){(t=(this||e).riveFile)===null||t===void 0?void 0:t.cleanup();(this||e).file=null}(this||e).riveFile=null;this.deleteRiveRenderer();if((this||e)._audioEventListener!==null){T.remove((this||e)._audioEventListener);(this||e)._audioEventListener=null}(n=(this||e)._viewModelInstance)===null||n===void 0?void 0:n.cleanup();(this||e)._viewModelInstance=null;(this||e)._dataEnums=null};t.prototype.deleteRiveRenderer=function(){var t;(t=(this||e).renderer)===null||t===void 0?void 0:t.delete();(this||e).renderer=null};t.prototype.cleanupInstances=function(){(this||e).eventCleanup!==null&&this.eventCleanup();this.stop();if((this||e).artboard){(this||e).artboard.delete();(this||e).artboard=null}};\n/**\n         * Tries to query the setup Artboard for a text run node with the given name.\n         *\n         * @param textRunName - Name of the text run node associated with a text object\n         * @returns - TextValueRun node or undefined if the text run cannot be queried\n         */t.prototype.retrieveTextRun=function(t){var n;if(t)if((this||e).artboard){var r=(this||e).artboard.textRun(t);if(r)return r;console.warn(\"Could not access a text run with name '\".concat(t,\"' in the '\").concat((n=(this||e).artboard)===null||n===void 0?void 0:n.name,\"' Artboard. Note that you must rename a text run node in the Rive editor to make it queryable at runtime.\"))}else console.warn(\"Tried to access text run, but the Artboard is null\");else console.warn(\"No text run name provided\")};\n/**\n         * Returns a string from a given text run node name, or undefined if the text run\n         * cannot be queried.\n         *\n         * @param textRunName - Name of the text run node associated with a text object\n         * @returns - String value of the text run node or undefined\n         */t.prototype.getTextRunValue=function(e){var t=this.retrieveTextRun(e);return t?t.text:void 0};\n/**\n         * Sets a text value for a given text run node name if possible\n         *\n         * @param textRunName - Name of the text run node associated with a text object\n         * @param textRunValue - String value to set on the text run node\n         */t.prototype.setTextRunValue=function(e,t){var n=this.retrieveTextRun(e);n&&(n.text=t)};t.prototype.play=function(t,n){var r=this||e;t=J(t);if((this||e).readyForPlaying){(this||e).animator.play(t);(this||e).eventCleanup&&this.eventCleanup();this.setupRiveListeners();this.startRendering()}else(this||e).taskQueue.add({action:function(){return r.play(t,n)}})};t.prototype.pause=function(t){var n=this||e;t=J(t);if((this||e).readyForPlaying){(this||e).eventCleanup&&this.eventCleanup();(this||e).animator.pause(t)}else(this||e).taskQueue.add({action:function(){return n.pause(t)}})};t.prototype.scrub=function(t,n){var r=this||e;t=J(t);if((this||e).readyForPlaying){(this||e).animator.scrub(t,n||0);this.drawFrame()}else(this||e).taskQueue.add({action:function(){return r.scrub(t,n)}})};t.prototype.stop=function(t){var n=this||e;t=J(t);if((this||e).readyForPlaying){(this||e).animator&&(this||e).animator.stop(t);(this||e).eventCleanup&&this.eventCleanup()}else(this||e).taskQueue.add({action:function(){return n.stop(t)}})};\n/**\n         * Resets the animation\n         * @param artboard the name of the artboard, or default if none given\n         * @param animations the names of animations for playback\n         * @param stateMachines the names of state machines for playback\n         * @param autoplay whether to autoplay when reset, defaults to false\n         *\n         */t.prototype.reset=function(t){var n,r;var i=t===null||t===void 0?void 0:t.artboard;var a=J(t===null||t===void 0?void 0:t.animations);var o=J(t===null||t===void 0?void 0:t.stateMachines);var s=(n=t===null||t===void 0?void 0:t.autoplay)!==null&&n!==void 0&&n;var u=(r=t===null||t===void 0?void 0:t.autoBind)!==null&&r!==void 0&&r;this.cleanupInstances();this.initArtboard(i,a,o,s,u);(this||e).taskQueue.process()};t.prototype.load=function(t){(this||e).file=null;this.stop();this.init(t)};Object.defineProperty(t.prototype,\"layout\",{get:function(){return(this||e)._layout},set:function(t){(this||e)._layout=t;t.maxX&&t.maxY||this.resizeToCanvas();(this||e).loaded&&!(this||e).animator.isPlaying&&this.drawFrame()},enumerable:false,configurable:true});t.prototype.resizeToCanvas=function(){(this||e)._layout=(this||e).layout.copyWith({minX:0,minY:0,maxX:(this||e).canvas.width,maxY:(this||e).canvas.height})};t.prototype.resizeDrawingSurfaceToCanvas=function(t){if((this||e).canvas instanceof HTMLCanvasElement&&!!window){var n=(this||e).canvas.getBoundingClientRect(),r=n.width,i=n.height;var a=t||window.devicePixelRatio||1;(this||e).devicePixelRatioUsed=a;(this||e).canvas.width=a*r;(this||e).canvas.height=a*i;this.resizeToCanvas();this.drawFrame();if((this||e).layout.fit===p.Layout){var o=(this||e)._layout.layoutScaleFactor;(this||e).artboard.width=r/o;(this||e).artboard.height=i/o}}};Object.defineProperty(t.prototype,\"source\",{get:function(){return(this||e).src},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"activeArtboard\",{get:function(){return(this||e).artboard?(this||e).artboard.name:\"\"},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"animationNames\",{get:function(){if(!(this||e).loaded||!(this||e).artboard)return[];var t=[];for(var n=0;n<(this||e).artboard.animationCount();n++)t.push((this||e).artboard.animationByIndex(n).name);return t},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"stateMachineNames\",{get:function(){if(!(this||e).loaded||!(this||e).artboard)return[];var t=[];for(var n=0;n<(this||e).artboard.stateMachineCount();n++)t.push((this||e).artboard.stateMachineByIndex(n).name);return t},enumerable:false,configurable:true});\n/**\n         * Returns the inputs for the specified instanced state machine, or an empty\n         * list if the name is invalid or the state machine is not instanced\n         * @param name the state machine name\n         * @returns the inputs for the named state machine\n         */t.prototype.stateMachineInputs=function(t){if((this||e).loaded){var n=(this||e).animator.stateMachines.find((function(e){return e.name===t}));return n===null||n===void 0?void 0:n.inputs}};t.prototype.retrieveInputAtPath=function(t,n){if(t)if((this||e).artboard){var r=(this||e).artboard.inputByPath(t,n);if(r)return r;console.warn(\"Could not access an input with name: '\".concat(t,\"', at path:'\").concat(n,\"'\"))}else console.warn(\"Tried to access input: '\".concat(t,\"', at path: '\").concat(n,\"', but the Artboard is null\"));else console.warn(\"No input name provided for path '\".concat(n,\"'\"))};\n/**\n         * Set the boolean input with the provided name at the given path with value\n         * @param input the state machine input name\n         * @param value the value to set the input to\n         * @param path the path the input is located at an artboard level\n         */t.prototype.setBooleanStateAtPath=function(e,t,n){var r=this.retrieveInputAtPath(e,n);r&&(r.type===g.Boolean?r.asBool().value=t:console.warn(\"Input with name: '\".concat(e,\"', at path:'\").concat(n,\"' is not a boolean\")))};\n/**\n         * Set the number input with the provided name at the given path with value\n         * @param input the state machine input name\n         * @param value the value to set the input to\n         * @param path the path the input is located at an artboard level\n         */t.prototype.setNumberStateAtPath=function(e,t,n){var r=this.retrieveInputAtPath(e,n);r&&(r.type===g.Number?r.asNumber().value=t:console.warn(\"Input with name: '\".concat(e,\"', at path:'\").concat(n,\"' is not a number\")))};\n/**\n         * Fire the trigger with the provided name at the given path\n         * @param input the state machine input name\n         * @param path the path the input is located at an artboard level\n         */t.prototype.fireStateAtPath=function(e,t){var n=this.retrieveInputAtPath(e,t);n&&(n.type===g.Trigger?n.asTrigger().fire():console.warn(\"Input with name: '\".concat(e,\"', at path:'\").concat(t,\"' is not a trigger\")))};t.prototype.retrieveTextAtPath=function(t,n){if(t)if(n)if((this||e).artboard){var r=(this||e).artboard.textByPath(t,n);if(r)return r;console.warn(\"Could not access text with name: '\".concat(t,\"', at path:'\").concat(n,\"'\"))}else console.warn(\"Tried to access text: '\".concat(t,\"', at path: '\").concat(n,\"', but the Artboard is null\"));else console.warn(\"No path provided for text '\".concat(t,\"'\"));else console.warn(\"No text name provided for path '\".concat(n,\"'\"))};\n/**\n         * Retrieves the text value for a specified text run at a given path\n         * @param textName The name of the text run\n         * @param path The path to the text run within the artboard\n         * @returns The text value of the text run, or undefined if not found\n         *\n         * @example\n         * // Get the text value for a text run named \"title\" at one nested artboard deep\n         * const titleText = riveInstance.getTextRunValueAtPath(\"title\", \"artboard1\");\n         *\n         * @example\n         * // Get the text value for a text run named \"subtitle\" within a nested group two artboards deep\n         * const subtitleText = riveInstance.getTextRunValueAtPath(\"subtitle\", \"group/nestedGroup\");\n         *\n         * @remarks\n         * If the text run cannot be found at the specified path, a warning will be logged to the console.\n         */t.prototype.getTextRunValueAtPath=function(e,t){var n=this.retrieveTextAtPath(e,t);if(n)return n.text;console.warn(\"Could not get text with name: '\".concat(e,\"', at path:'\").concat(t,\"'\"))};\n/**\n         * Sets the text value for a specified text run at a given path\n         * @param textName The name of the text run\n         * @param value The new text value to set\n         * @param path The path to the text run within the artboard\n         * @returns void\n         *\n         * @example\n         * // Set the text value for a text run named \"title\" at one nested artboard deep\n         * riveInstance.setTextRunValueAtPath(\"title\", \"New Title\", \"artboard1\");\n         *\n         * @example\n         * // Set the text value for a text run named \"subtitle\" within a nested group two artboards deep\n         * riveInstance.setTextRunValueAtPath(\"subtitle\", \"New Subtitle\", \"group/nestedGroup\");\n         *\n         * @remarks\n         * If the text run cannot be found at the specified path, a warning will be logged to the console.\n         */t.prototype.setTextRunValueAtPath=function(e,t,n){var r=this.retrieveTextAtPath(e,n);r?r.text=t:console.warn(\"Could not set text with name: '\".concat(e,\"', at path:'\").concat(n,\"'\"))};Object.defineProperty(t.prototype,\"playingStateMachineNames\",{get:function(){return(this||e).loaded?(this||e).animator.stateMachines.filter((function(e){return e.playing})).map((function(e){return e.name})):[]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"playingAnimationNames\",{get:function(){return(this||e).loaded?(this||e).animator.animations.filter((function(e){return e.playing})).map((function(e){return e.name})):[]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"pausedAnimationNames\",{get:function(){return(this||e).loaded?(this||e).animator.animations.filter((function(e){return!e.playing})).map((function(e){return e.name})):[]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"pausedStateMachineNames\",{\n/**\n           *  Returns a list of paused machine names\n           * @returns a list of state machine names that are paused\n           */\nget:function(){return(this||e).loaded?(this||e).animator.stateMachines.filter((function(e){return!e.playing})).map((function(e){return e.name})):[]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isPlaying\",{\n/**\n           * @returns true if any animation is playing\n           */\nget:function(){return(this||e).animator.isPlaying},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isPaused\",{\n/**\n           * @returns true if all instanced animations are paused\n           */\nget:function(){return(this||e).animator.isPaused},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"isStopped\",{\n/**\n           * @returns true if no animations are playing or paused\n           */\nget:function(){return(this||e).animator.isStopped},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"bounds\",{\n/**\n           * @returns the bounds of the current artboard, or undefined if the artboard\n           * isn't loaded yet.\n           */\nget:function(){return(this||e).artboard?(this||e).artboard.bounds:void 0},enumerable:false,configurable:true});\n/**\n         * Subscribe to Rive-generated events\n         * @param type the type of event to subscribe to\n         * @param callback callback to fire when the event occurs\n         */t.prototype.on=function(t,n){(this||e).eventManager.add({type:t,callback:n})};\n/**\n         * Unsubscribes from a Rive-generated event\n         * @param type the type of event to unsubscribe from\n         * @param callback the callback to unsubscribe\n         */t.prototype.off=function(t,n){(this||e).eventManager.remove({type:t,callback:n})};\n/**\n         * Unsubscribes from a Rive-generated event\n         * @deprecated\n         * @param callback the callback to unsubscribe from\n         */t.prototype.unsubscribe=function(e,t){console.warn(\"This function is deprecated: please use `off()` instead.\");this.off(e,t)};\n/**\n         * Unsubscribes all Rive listeners from an event type, or everything if no type is\n         * given\n         * @param type the type of event to unsubscribe from, or all types if\n         * undefined\n         */t.prototype.removeAllRiveEventListeners=function(t){(this||e).eventManager.removeAll(t)};\n/**\n         * Unsubscribes all listeners from an event type, or everything if no type is\n         * given\n         * @deprecated\n         * @param type the type of event to unsubscribe from, or all types if\n         * undefined\n         */t.prototype.unsubscribeAll=function(e){console.warn(\"This function is deprecated: please use `removeAllRiveEventListeners()` instead.\");this.removeAllRiveEventListeners(e)};t.prototype.stopRendering=function(){if((this||e).loaded&&(this||e).frameRequestId){(this||e).runtime.cancelAnimationFrame?(this||e).runtime.cancelAnimationFrame((this||e).frameRequestId):cancelAnimationFrame((this||e).frameRequestId);(this||e).frameRequestId=null}};t.prototype.startRendering=function(){(this||e).loaded&&(this||e).artboard&&!(this||e).frameRequestId&&((this||e).runtime.requestAnimationFrame?(this||e).frameRequestId=(this||e).runtime.requestAnimationFrame((this||e)._boundDraw):(this||e).frameRequestId=requestAnimationFrame((this||e)._boundDraw))};\n/**\n         * Enables frames-per-second (FPS) reporting for the runtime\n         * If no callback is provided, Rive will append a fixed-position div at the top-right corner of\n         * the page with the FPS reading\n         * @param fpsCallback - Callback from the runtime during the RAF loop that supplies the FPS value\n         */t.prototype.enableFPSCounter=function(t){(this||e).runtime.enableFPSCounter(t)};t.prototype.disableFPSCounter=function(){(this||e).runtime.disableFPSCounter()};Object.defineProperty(t.prototype,\"contents\",{get:function(){if((this||e).loaded){var t={artboards:[]};for(var n=0;n<(this||e).file.artboardCount();n++){var r=(this||e).file.artboardByIndex(n);var i={name:r.name,animations:[],stateMachines:[]};for(var a=0;a<r.animationCount();a++){var o=r.animationByIndex(a);i.animations.push(o.name)}for(var s=0;s<r.stateMachineCount();s++){var u=r.stateMachineByIndex(s);var l=u.name;var c=new(this||e).runtime.StateMachineInstance(u,r);var h=[];for(var f=0;f<c.inputCount();f++){var d=c.input(f);h.push({name:d.name,type:d.type})}i.stateMachines.push({name:l,inputs:h})}t.artboards.push(i)}return t}},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"volume\",{get:function(){(this||e).artboard&&(this||e).artboard.volume!==(this||e)._volume&&((this||e)._volume=(this||e).artboard.volume);return(this||e)._volume},set:function(t){(this||e)._volume=t;(this||e).artboard&&((this||e).artboard.volume=t*T.systemVolume)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"artboardWidth\",{get:function(){var t;return(this||e).artboard?(this||e).artboard.width:(t=(this||e)._artboardWidth)!==null&&t!==void 0?t:0},set:function(t){(this||e)._artboardWidth=t;(this||e).artboard&&((this||e).artboard.width=t)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"artboardHeight\",{get:function(){var t;return(this||e).artboard?(this||e).artboard.height:(t=(this||e)._artboardHeight)!==null&&t!==void 0?t:0},set:function(t){(this||e)._artboardHeight=t;(this||e).artboard&&((this||e).artboard.height=t)},enumerable:false,configurable:true});t.prototype.resetArtboardSize=function(){if((this||e).artboard){(this||e).artboard.resetArtboardSize();(this||e)._artboardWidth=(this||e).artboard.width;(this||e)._artboardHeight=(this||e).artboard.height}else{(this||e)._artboardWidth=void 0;(this||e)._artboardHeight=void 0}};Object.defineProperty(t.prototype,\"devicePixelRatioUsed\",{get:function(){return(this||e)._devicePixelRatioUsed},set:function(t){(this||e)._devicePixelRatioUsed=t},enumerable:false,configurable:true});t.prototype.bindViewModelInstance=function(t){var n;if((this||e).artboard&&!(this||e).destroyed&&t&&t.runtimeInstance){t.internalIncrementReferenceCount();(n=(this||e)._viewModelInstance)===null||n===void 0?void 0:n.cleanup();(this||e)._viewModelInstance=t;(this||e).animator.stateMachines.length>0?(this||e).animator.stateMachines.forEach((function(e){return e.bindViewModelInstance(t)})):(this||e).artboard.bindViewModelInstance(t.runtimeInstance)}};Object.defineProperty(t.prototype,\"viewModelInstance\",{get:function(){return(this||e)._viewModelInstance},enumerable:false,configurable:true});t.prototype.viewModelByIndex=function(t){var n=(this||e).file.viewModelByIndex(t);return n!==null?new x(n):null};t.prototype.viewModelByName=function(t){var n=(this||e).file.viewModelByName(t);return n!==null?new x(n):null};t.prototype.enums=function(){if((this||e)._dataEnums===null){var t=(this||e).file.enums();(this||e)._dataEnums=t.map((function(e){return new D(e)}))}return(this||e)._dataEnums};t.prototype.defaultViewModel=function(){if((this||e).artboard){var t=(this||e).file.defaultArtboardViewModel((this||e).artboard);if(t)return new x(t)}return null};t.missingErrorMessage=\"Rive source file or data buffer required\";t.cleanupErrorMessage=\"Attempt to use file after calling cleanup.\";return t}();var x=function(){function t(t){(this||e)._viewModel=t}Object.defineProperty(t.prototype,\"instanceCount\",{get:function(){return(this||e)._viewModel.instanceCount},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e)._viewModel.name},enumerable:false,configurable:true});t.prototype.instanceByIndex=function(t){var n=(this||e)._viewModel.instanceByIndex(t);return n!==null?new U(n,null):null};t.prototype.instanceByName=function(t){var n=(this||e)._viewModel.instanceByName(t);return n!==null?new U(n,null):null};t.prototype.defaultInstance=function(){var t=(this||e)._viewModel.defaultInstance();return t!==null?new U(t,null):null};t.prototype.instance=function(){var t=(this||e)._viewModel.instance();return t!==null?new U(t,null):null};Object.defineProperty(t.prototype,\"properties\",{get:function(){return(this||e)._viewModel.getProperties()},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"instanceNames\",{get:function(){return(this||e)._viewModel.getInstanceNames()},enumerable:false,configurable:true});return t}();var D=function(){function t(t){(this||e)._dataEnum=t}Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e)._dataEnum.name},enumerable:false,configurable:true});Object.defineProperty(t.prototype,\"values\",{get:function(){return(this||e)._dataEnum.values},enumerable:false,configurable:true});return t}();var W;(function(e){e.Number=\"number\";e.String=\"string\";e.Boolean=\"boolean\";e.Color=\"color\";e.Trigger=\"trigger\";e.Enum=\"enum\";e.List=\"list\";e.Image=\"image\"})(W||(W={}));var U=function(){function t(t,n){(this||e)._parents=[];(this||e)._children=[];(this||e)._viewModelInstances=new Map;(this||e)._propertiesWithCallbacks=[];(this||e)._referenceCount=0;(this||e)._runtimeInstance=t;n!==null&&(this||e)._parents.push(n)}Object.defineProperty(t.prototype,\"runtimeInstance\",{get:function(){return(this||e)._runtimeInstance},enumerable:false,configurable:true});t.prototype.handleCallbacks=function(){if((this||e)._propertiesWithCallbacks.length!==0){(this||e)._propertiesWithCallbacks.forEach((function(e){e.handleCallbacks()}));(this||e)._propertiesWithCallbacks.forEach((function(e){e.clearChanges()}))}(this||e)._children.forEach((function(e){return e.handleCallbacks()}))};t.prototype.addParent=function(t){(this||e)._parents.push(t);((this||e)._propertiesWithCallbacks.length>0||(this||e)._children.length>0)&&t.addToViewModelCallbacks(this||e)};t.prototype.removeParent=function(t){var n=(this||e)._parents.indexOf(t);if(n!==-1){var r=(this||e)._parents[n];r.removeFromViewModelCallbacks(this||e);(this||e)._parents.splice(n,1)}};t.prototype.addToPropertyCallbacks=function(t){var n=this||e;if(!(this||e)._propertiesWithCallbacks.includes(t)){(this||e)._propertiesWithCallbacks.push(t);(this||e)._propertiesWithCallbacks.length>0&&(this||e)._parents.forEach((function(e){e.addToViewModelCallbacks(n)}))}};t.prototype.removeFromPropertyCallbacks=function(t){var n=this||e;if((this||e)._propertiesWithCallbacks.includes(t)){(this||e)._propertiesWithCallbacks=(this||e)._propertiesWithCallbacks.filter((function(e){return e!==t}));(this||e)._children.length===0&&(this||e)._propertiesWithCallbacks.length===0&&(this||e)._parents.forEach((function(e){e.removeFromViewModelCallbacks(n)}))}};t.prototype.addToViewModelCallbacks=function(t){var n=this||e;if(!(this||e)._children.includes(t)){(this||e)._children.push(t);(this||e)._parents.forEach((function(e){e.addToViewModelCallbacks(n)}))}};t.prototype.removeFromViewModelCallbacks=function(t){var n=this||e;if((this||e)._children.includes(t)){(this||e)._children=(this||e)._children.filter((function(e){return e!==t}));(this||e)._children.length===0&&(this||e)._propertiesWithCallbacks.length===0&&(this||e)._parents.forEach((function(e){e.removeFromViewModelCallbacks(n)}))}};t.prototype.clearCallbacks=function(){(this||e)._propertiesWithCallbacks.forEach((function(e){e.clearCallbacks()}))};t.prototype.propertyFromPath=function(e,t){var n=e.split(\"/\");return this.propertyFromPathSegments(n,0,t)};t.prototype.viewModelFromPathSegments=function(e,t){var n=this.internalViewModelInstance(e[t]);return n!==null?t==e.length-1?n:n.viewModelFromPathSegments(e,t++):null};t.prototype.propertyFromPathSegments=function(t,n,r){var i,a,o,s,u,l,c,h,f,d,p,v,m,b,g,y;if(n<t.length-1){var w=this.internalViewModelInstance(t[n]);return w!==null?w.propertyFromPathSegments(t,n+1,r):null}var _=null;switch(r){case W.Number:_=(a=(i=(this||e)._runtimeInstance)===null||i===void 0?void 0:i.number(t[n]))!==null&&a!==void 0?a:null;if(_!==null)return new N(_,this||e);break;case W.String:_=(s=(o=(this||e)._runtimeInstance)===null||o===void 0?void 0:o.string(t[n]))!==null&&s!==void 0?s:null;if(_!==null)return new B(_,this||e);break;case W.Boolean:_=(l=(u=(this||e)._runtimeInstance)===null||u===void 0?void 0:u.boolean(t[n]))!==null&&l!==void 0?l:null;if(_!==null)return new $(_,this||e);break;case W.Color:_=(h=(c=(this||e)._runtimeInstance)===null||c===void 0?void 0:c.color(t[n]))!==null&&h!==void 0?h:null;if(_!==null)return new X(_,this||e);break;case W.Trigger:_=(d=(f=(this||e)._runtimeInstance)===null||f===void 0?void 0:f.trigger(t[n]))!==null&&d!==void 0?d:null;if(_!==null)return new z(_,this||e);break;case W.Enum:_=(v=(p=(this||e)._runtimeInstance)===null||p===void 0?void 0:p.enum(t[n]))!==null&&v!==void 0?v:null;if(_!==null)return new H(_,this||e);break;case W.List:_=(b=(m=(this||e)._runtimeInstance)===null||m===void 0?void 0:m.list(t[n]))!==null&&b!==void 0?b:null;if(_!==null)return new Y(_,this||e);break;case W.Image:_=(y=(g=(this||e)._runtimeInstance)===null||g===void 0?void 0:g.image(t[n]))!==null&&y!==void 0?y:null;if(_!==null)return new G(_,this||e);break}return null};t.prototype.internalViewModelInstance=function(n){var r;if((this||e)._viewModelInstances.has(n))return(this||e)._viewModelInstances.get(n);var i=(r=(this||e)._runtimeInstance)===null||r===void 0?void 0:r.viewModel(n);if(i!==null){var a=new t(i,this||e);a.internalIncrementReferenceCount();(this||e)._viewModelInstances.set(n,a);return a}return null};\n/**\n         * method to access a property instance of type number belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the number property\n         */t.prototype.number=function(e){var t=this.propertyFromPath(e,W.Number);return t};\n/**\n         * method to access a property instance of type string belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the string property\n         */t.prototype.string=function(e){var t=this.propertyFromPath(e,W.String);return t};\n/**\n         * method to access a property instance of type boolean belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the boolean property\n         */t.prototype.boolean=function(e){var t=this.propertyFromPath(e,W.Boolean);return t};\n/**\n         * method to access a property instance of type color belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the ttrigger property\n         */t.prototype.color=function(e){var t=this.propertyFromPath(e,W.Color);return t};\n/**\n         * method to access a property instance of type trigger belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the trigger property\n         */t.prototype.trigger=function(e){var t=this.propertyFromPath(e,W.Trigger);return t};\n/**\n         * method to access a property instance of type enum belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the enum property\n         */t.prototype.enum=function(e){var t=this.propertyFromPath(e,W.Enum);return t};\n/**\n         * method to access a property instance of type list belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the list property\n         */t.prototype.list=function(e){var t=this.propertyFromPath(e,W.List);return t};\n/**\n         * method to access a view model property instance belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the image property\n         */t.prototype.image=function(e){var t=this.propertyFromPath(e,W.Image);return t};\n/**\n         * method to access a view model property instance belonging\n         * to the view model instance or to a nested view model instance\n         * @param path - path to the view model property\n         */t.prototype.viewModel=function(t){var n=t.split(\"/\");var r=n.length>1?this.viewModelFromPathSegments(n.slice(0,n.length-1),0):this||e;return r!=null?r.internalViewModelInstance(n[n.length-1]):null};t.prototype.internalReplaceViewModel=function(t,n){var r;if(n.runtimeInstance!==null){var i=((r=(this||e)._runtimeInstance)===null||r===void 0?void 0:r.replaceViewModel(t,n.runtimeInstance))||false;if(i){n.internalIncrementReferenceCount();var a=this.internalViewModelInstance(t);if(a!==null){a.removeParent(this||e);(this||e)._children.includes(a)&&((this||e)._children=(this||e)._children.filter((function(e){return e!==a})));a.cleanup()}(this||e)._viewModelInstances.set(t,n);n.addParent(this||e)}return i}return false};\n/**\n         * method to replace a view model property with another view model value\n         * @param path - path to the view model property\n         * @param value - view model that will replace the original\n         */t.prototype.replaceViewModel=function(t,n){var r;var i=t.split(\"/\");var a=i.length>1?this.viewModelFromPathSegments(i.slice(0,i.length-1),0):this||e;return(r=a===null||a===void 0?void 0:a.internalReplaceViewModel(i[i.length-1],n))!==null&&r!==void 0&&r};t.prototype.incrementReferenceCount=function(){var t;(this||e)._referenceCount++;(t=(this||e)._runtimeInstance)===null||t===void 0?void 0:t.incrementReferenceCount()};t.prototype.decrementReferenceCount=function(){var t;(this||e)._referenceCount--;(t=(this||e)._runtimeInstance)===null||t===void 0?void 0:t.decrementReferenceCount()};Object.defineProperty(t.prototype,\"properties\",{get:function(){var t;return((t=(this||e)._runtimeInstance)===null||t===void 0?void 0:t.getProperties().map((function(e){return u({},e)})))||[]},enumerable:false,configurable:true});t.prototype.internalIncrementReferenceCount=function(){(this||e)._referenceCount++};t.prototype.cleanup=function(){var t=this||e;(this||e)._referenceCount--;if((this||e)._referenceCount<=0){(this||e)._runtimeInstance=null;this.clearCallbacks();(this||e)._propertiesWithCallbacks=[];(this||e)._viewModelInstances.forEach((function(e){e.cleanup()}));(this||e)._viewModelInstances.clear();var n=h([],(this||e)._children,true);(this||e)._children.length=0;var r=h([],(this||e)._parents,true);(this||e)._parents.length=0;n.forEach((function(e){e.removeParent(t)}));r.forEach((function(e){e.removeFromViewModelCallbacks(t)}))}};return t}();var V=function(){function t(t,n){(this||e).callbacks=[];(this||e)._viewModelInstanceValue=t;(this||e)._parentViewModel=n}t.prototype.on=function(t){(this||e).callbacks.length===0&&(this||e)._viewModelInstanceValue.clearChanges();if(!(this||e).callbacks.includes(t)){(this||e).callbacks.push(t);(this||e)._parentViewModel.addToPropertyCallbacks(this||e)}};t.prototype.off=function(t){t?(this||e).callbacks=(this||e).callbacks.filter((function(e){return e!==t})):(this||e).callbacks.length=0;(this||e).callbacks.length===0&&(this||e)._parentViewModel.removeFromPropertyCallbacks(this||e)};t.prototype.internalHandleCallback=function(e){};t.prototype.handleCallbacks=function(){var t=this||e;(this||e)._viewModelInstanceValue.hasChanged&&(this||e).callbacks.forEach((function(e){t.internalHandleCallback(e)}))};t.prototype.clearChanges=function(){(this||e)._viewModelInstanceValue.clearChanges()};t.prototype.clearCallbacks=function(){(this||e).callbacks.length=0};Object.defineProperty(t.prototype,\"name\",{get:function(){return(this||e)._viewModelInstanceValue.name},enumerable:false,configurable:true});return t}();var B=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"value\",{get:function(){return(this||e)._viewModelInstanceValue.value},set:function(t){(this||e)._viewModelInstanceValue.value=t},enumerable:false,configurable:true});n.prototype.internalHandleCallback=function(t){t((this||e).value)};return n}(V);var N=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"value\",{get:function(){return(this||e)._viewModelInstanceValue.value},set:function(t){(this||e)._viewModelInstanceValue.value=t},enumerable:false,configurable:true});n.prototype.internalHandleCallback=function(t){t((this||e).value)};return n}(V);var $=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"value\",{get:function(){return(this||e)._viewModelInstanceValue.value},set:function(t){(this||e)._viewModelInstanceValue.value=t},enumerable:false,configurable:true});n.prototype.internalHandleCallback=function(t){t((this||e).value)};return n}(V);var z=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}n.prototype.trigger=function(){return(this||e)._viewModelInstanceValue.trigger()};n.prototype.internalHandleCallback=function(e){e()};return n}(V);var H=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"value\",{get:function(){return(this||e)._viewModelInstanceValue.value},set:function(t){(this||e)._viewModelInstanceValue.value=t},enumerable:false,configurable:true});Object.defineProperty(n.prototype,\"valueIndex\",{get:function(){return(this||e)._viewModelInstanceValue.valueIndex},set:function(t){(this||e)._viewModelInstanceValue.valueIndex=t},enumerable:false,configurable:true});Object.defineProperty(n.prototype,\"values\",{get:function(){return(this||e)._viewModelInstanceValue.values},enumerable:false,configurable:true});n.prototype.internalHandleCallback=function(t){t((this||e).value)};return n}(V);var Y=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"length\",{get:function(){return(this||e)._viewModelInstanceValue.size},enumerable:false,configurable:true});n.prototype.addInstance=function(t){t.runtimeInstance!=null&&(this||e)._viewModelInstanceValue.addInstance(t.runtimeInstance)};n.prototype.removeInstance=function(t){t.runtimeInstance!=null&&(this||e)._viewModelInstanceValue.removeInstance(t.runtimeInstance)};n.prototype.removeInstanceAt=function(t){(this||e)._viewModelInstanceValue.removeInstanceAt(t)};n.prototype.instanceAt=function(t){var n=(this||e)._viewModelInstanceValue.instanceAt(t);if(n!=null){var r=new U(n,null);return r}return null};n.prototype.internalHandleCallback=function(e){e()};return n}(V);var X=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"value\",{get:function(){return(this||e)._viewModelInstanceValue.value},set:function(t){(this||e)._viewModelInstanceValue.value=t},enumerable:false,configurable:true});n.prototype.rgb=function(t,n,r){(this||e)._viewModelInstanceValue.rgb(t,n,r)};n.prototype.rgba=function(t,n,r,i){(this||e)._viewModelInstanceValue.argb(i,t,n,r)};n.prototype.argb=function(t,n,r,i){(this||e)._viewModelInstanceValue.argb(t,n,r,i)};n.prototype.alpha=function(t){(this||e)._viewModelInstanceValue.alpha(t)};n.prototype.opacity=function(t){(this||e)._viewModelInstanceValue.alpha(Math.round(Math.max(0,Math.min(1,t))*255))};n.prototype.internalHandleCallback=function(t){t((this||e).value)};return n}(V);var G=function(t){s(n,t);function n(n,r){return t.call(this||e,n,r)||this||e}Object.defineProperty(n.prototype,\"value\",{set:function(t){(this||e)._viewModelInstanceValue.value(t.nativeImage)},enumerable:false,configurable:true});n.prototype.internalHandleCallback=function(e){e()};return n}(V);var q=function(t){return l(void 0,void 0,void 0,(function(){var n,r,i;return c(this||e,(function(e){switch(e.label){case 0:n=new Request(t);return[4,fetch(n)];case 1:r=e.sent();return[4,r.arrayBuffer()];case 2:i=e.sent();return[2,i]}}))}))};var J=function(e){return typeof e===\"string\"?[e]:e instanceof Array?e:[]};var K={EventManager:P,TaskQueueManager:I};var Z=function(t){return l(void 0,void 0,void 0,(function(){var n,r,i;return c(this||e,(function(e){switch(e.label){case 0:n=new Promise((function(e){return b.getInstance((function(n){n.decodeAudio(t,e)}))}));return[4,n];case 1:r=e.sent();i=new o.AudioWrapper(r);o.finalizationRegistry.register(i,r);return[2,i]}}))}))};var Q=function(t){return l(void 0,void 0,void 0,(function(){var n,r,i;return c(this||e,(function(e){switch(e.label){case 0:n=new Promise((function(e){return b.getInstance((function(n){n.decodeImage(t,e)}))}));return[4,n];case 1:r=e.sent();i=new o.ImageWrapper(r);o.finalizationRegistry.register(i,r);return[2,i]}}))}))};var ee=function(t){return l(void 0,void 0,void 0,(function(){var n,r,i;return c(this||e,(function(e){switch(e.label){case 0:n=new Promise((function(e){return b.getInstance((function(n){n.decodeFont(t,e)}))}));return[4,n];case 1:r=e.sent();i=new o.FontWrapper(r);o.finalizationRegistry.register(i,r);return[2,i]}}))}))}})();return i})()));var n=t;const r=t.rive,i=t.__esModule;export{i as __esModule,n as default,r as rive};\n//# sourceMappingURL=rive.js.map\n","import*as e from\"react\";import*as t from\"@rive-app/canvas\";var n=e;try{\"default\"in e&&(n=e.default)}catch(i){}var r=t;try{\"default\"in t&&(r=t.default)}catch(i){}var u=typeof globalThis!==\"undefined\"?globalThis:typeof self!==\"undefined\"?self:global;var a={};Object.defineProperty(a,\"__esModule\",{value:!0});var i=n,o=r;function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var s=l(i),c=function(){return c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var u in t=arguments[n])Object.prototype.hasOwnProperty.call(t,u)&&(e[u]=t[u]);return e},c.apply(this||u,arguments)};function f(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var u=0;for(r=Object.getOwnPropertySymbols(e);u<r.length;u++)t.indexOf(r[u])<0&&Object.prototype.propertyIsEnumerable.call(e,r[u])&&(n[r[u]]=e[r[u]])}return n}function d(e,t,n,r){return new(n||(n=Promise))((function(u,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?u(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,o)}l((r=r.apply(e,t||[])).next())}))}function v(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this||u}),i;function l(u){return function(i){return function(u){if(n)throw new TypeError(\"Generator is already executing.\");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,i])}}}function h(e){var t=e||p(),n=i.useState(t),r=n[0],u=n[1];return i.useEffect((function(){if(\"undefined\"!=typeof window&&\"matchMedia\"in window){var t=function(){var t=e||p();u(t)},n=window.matchMedia(\"screen and (resolution: \".concat(r,\"dppx)\"));return n.hasOwnProperty(\"addEventListener\")?n.addEventListener(\"change\",t):n.addListener(t),function(){n.hasOwnProperty(\"removeEventListener\")?n.removeEventListener(\"change\",t):n.removeListener(t)}}}),[r,e]),r}function p(){var e=\"undefined\"!=typeof window&&\"number\"==typeof window.devicePixelRatio?window.devicePixelRatio:1;return Math.min(Math.max(1,e),3)}var b=function(){function e(){}return e.prototype.observe=function(){},e.prototype.unobserve=function(){},e.prototype.disconnect=function(){},e}();var g=globalThis.ResizeObserver||b,y=void 0!==globalThis.ResizeObserver,w=!y;function m(e,t){void 0===t&&(t=!0);var n=i.useState({width:0,height:0}),r=n[0],a=n[1];i.useEffect((function(){if(\"undefined\"!=typeof window&&t){var e=function(){a({width:window.innerWidth,height:window.innerHeight})};return w&&(e(),window.addEventListener(\"resize\",e)),function(){return window.removeEventListener(\"resize\",e)}}}),[]);var o,l,s,c=i.useRef(new g((o=function(e){y&&a({width:e[e.length-1].contentRect.width,height:e[e.length-1].contentRect.height})},l=0,s=0,function(){for(var e=this||u,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];clearTimeout(s),s=window.setTimeout((function(){return o.apply(e,t)}),l)})));return i.useEffect((function(){var n=c.current;if(t){var r=e.current;return e.current&&y&&n.observe(e.current),function(){n.disconnect(),r&&y&&n.unobserve(r)}}n.disconnect()}),[e,c]),r}var C={useDevicePixelRatio:!0,fitCanvasToArtboardHeight:!1,useOffscreenRenderer:!0,shouldResizeCanvasToContainer:!0};function R(e){return Object.assign({},C,e)}function E(e){var t=e.riveLoaded,n=void 0!==t&&t,r=e.canvasElem,u=e.containerRef,a=e.options,o=void 0===a?{}:a,l=e.onCanvasHasResized,s=e.artboardBounds,c=R(o),f=i.useState({height:0,width:0}),d=f[0],v=d.height,p=d.width,b=f[1],g=i.useState({height:0,width:0}),y=g[0],w=y.height,C=y.width,E=g[1],V=i.useState(!0),O=V[0],M=V[1],k=c.fitCanvasToArtboardHeight,P=c.shouldResizeCanvasToContainer,x=c.useDevicePixelRatio,I=c.customDevicePixelRatio,T=m(u,P),S=h(I),D=null!=s?s:{},L=D.maxX,z=D.maxY,H=i.useCallback((function(){var e,t,n,r,a=null!==(t=null===(e=u.current)||void 0===e?void 0:e.clientWidth)&&void 0!==t?t:0,i=null!==(r=null===(n=u.current)||void 0===n?void 0:n.clientHeight)&&void 0!==r?r:0;return k&&s?{width:a,height:a*(s.maxY/s.maxX)}:{width:a,height:i}}),[u,k,L,z]);i.useEffect((function(){if(P&&u.current&&n){var e=H(),t=e.width,a=e.height,i=!1;if(r){var o=t!==p||a!==v;if(c.fitCanvasToArtboardHeight&&o&&(u.current.style.height=a+\"px\",i=!0),c.useDevicePixelRatio){if(o||t*S!==C||a*S!==w){var s=S*t,f=S*a;r.width=s,r.height=f,r.style.width=t+\"px\",r.style.height=a+\"px\",E({width:s,height:f}),i=!0}}else o&&(r.width=t,r.height=a,E({width:t,height:a}),i=!0);b({width:t,height:a})}l&&(O||i)&&l&&l(),O&&M(!1)}}),[r,u,T,S,H,O,M,w,C,v,p,l,P,k,x,n]),i.useEffect((function(){E({width:0,height:0})}),[r])}var V,O=function(){function e(){}return e.prototype.observe=function(){},e.prototype.unobserve=function(){},e.prototype.disconnect=function(){},e}(),M=globalThis.IntersectionObserver||O,k=function(){function e(){var e=this||u;(this||u).elementsMap=new Map,(this||u).onObserved=function(t){t.forEach((function(t){var n=e.elementsMap.get(t.target);n&&n(t)}))},(this||u).observer=new M((this||u).onObserved)}return e.prototype.registerCallback=function(e,t){(this||u).observer.observe(e),(this||u).elementsMap.set(e,t)},e.prototype.removeCallback=function(e){(this||u).observer.unobserve(e),(this||u).elementsMap.delete(e)},e}(),P=function(){return V||(V=new k),V};function x(e){var t=e.setContainerRef,n=e.setCanvasRef,r=e.className,u=void 0===r?\"\":r,a=e.style,i=e.children,o=f(e,[\"setContainerRef\",\"setCanvasRef\",\"className\",\"style\",\"children\"]),l=c({width:\"100%\",height:\"100%\"},a);return s.default.createElement(\"div\",c({ref:t,className:u},!u&&{style:l}),s.default.createElement(\"canvas\",c({ref:n,style:{verticalAlign:\"top\",width:0,height:0}},o),i))}function I(e,t){void 0===t&&(t={});var n=i.useState(null),r=n[0],u=n[1],a=i.useRef(null),l=i.useState(null),f=l[0],d=l[1],v=Boolean(e),p=R(t),b=h(),g=i.useCallback((function(){if(f){if(f.layout&&f.layout.fit===o.Fit.Layout&&r){var e=b*f.layout.layoutScaleFactor;f.devicePixelRatioUsed=b,f.artboardWidth=(null==r?void 0:r.width)/e,f.artboardHeight=(null==r?void 0:r.height)/e}f.startRendering(),f.resizeToCanvas()}}),[f,b]);E({riveLoaded:!!f,canvasElem:r,containerRef:a,options:p,onCanvasHasResized:g,artboardBounds:null==f?void 0:f.bounds});var y=i.useCallback((function(e){null===e&&r&&(r.height=0,r.width=0),u(e)}),[]);i.useEffect((function(){if(r&&e){var t,n=null!=f;if(null==f){var u=p.useOffscreenRenderer;(t=new o.Rive(c(c({useOffscreenRenderer:u},e),{canvas:r}))).on(o.EventType.Load,(function(){n=!0,r?d(t):t.cleanup()}))}return function(){n||null==t||t.cleanup()}}}),[r,v,f]);var w=i.useCallback((function(e){a.current=e}),[]),m={observe:i.useCallback((function(e,t){P().registerCallback(e,t)}),[]),unobserve:i.useCallback((function(e){P().removeCallback(e)}),[])},C=m.observe,V=m.unobserve;i.useEffect((function(){var e,t=!1,n=function(){if(r&&t){var e=r.getBoundingClientRect();e.width>0&&e.height>0&&e.top<(window.innerHeight||document.documentElement.clientHeight)&&e.bottom>0&&e.left<(window.innerWidth||document.documentElement.clientWidth)&&e.right>0&&(null==f||f.startRendering(),t=!1)}};return r&&!1!==p.shouldUseIntersectionObserver&&C(r,(function(r){r.isIntersecting?f&&f.startRendering():f&&f.stopRendering(),t=!r.isIntersecting,clearTimeout(e),r.isIntersecting||0!==r.boundingClientRect.width||(e=setTimeout(n,10))})),function(){r&&V(r)}}),[C,V,f,r,p.shouldUseIntersectionObserver]),i.useEffect((function(){return function(){f&&(f.cleanup(),d(null))}}),[f,r]);var O=null==e?void 0:e.animations;i.useEffect((function(){f&&O&&(f.isPlaying?(f.stop(f.animationNames),f.play(O)):f.isPaused&&(f.stop(f.animationNames),f.pause(O)))}),[O,f]);var M=i.useCallback((function(e){return s.default.createElement(x,c({setContainerRef:w,setCanvasRef:y},e))}),[y,w]);return{canvas:r,container:a.current,setCanvasRef:y,setContainerRef:w,rive:f,RiveComponent:M}}function T(e,t,n){var r=i.useState(null),u=r[0],a=r[1],o=i.useState(n.defaultValue),l=o[0],s=o[1],f=i.useState(null),d=f[0],v=f[1],h=i.useRef(null),p=i.useRef(e),b=i.useRef(n);i.useEffect((function(){b.current=n}),[n]);var g=i.useCallback((function(){var e=h.current,t=p.current,n=b.current;if(!e||!t)return a(null),s(n.defaultValue),v(null),function(){};var r=n.getProperty(e,t);if(r){a(r),s(n.getValue(r)),n.getExtendedData&&v(n.getExtendedData(r));var u=function(){s(n.getValue(r)),n.getExtendedData&&v(n.getExtendedData(r)),n.onPropertyEvent&&n.onPropertyEvent()};return r.on(u),function(){r.off(u)}}return function(){}}),[]);i.useEffect((function(){return h.current=t,p.current=e,g()}),[t,e,g]);var y=i.useCallback((function(e){if(u&&h.current===t)try{return e(u),void(b.current.getExtendedData&&v(b.current.getExtendedData(u)))}catch(e){}if(h.current)try{var n=b.current.getProperty(h.current,p.current);n&&(a(n),e(n),b.current.getExtendedData&&v(b.current.getExtendedData(n)))}catch(e){}}),[u,t]),w=i.useMemo((function(){return b.current.buildPropertyOperations(y)}),[y]),m=c({value:l},w);return n.getExtendedData&&(m.extendedData=d),m}a.default=function(e){var t=e.src,n=e.artboard,r=e.animations,u=e.stateMachines,a=e.layout,i=e.useOffscreenRenderer,o=void 0===i||i,l=e.shouldDisableRiveListeners,d=void 0!==l&&l,v=e.shouldResizeCanvasToContainer,h=void 0===v||v,p=e.automaticallyHandleEvents,b=void 0!==p&&p,g=e.children,y=f(e,[\"src\",\"artboard\",\"animations\",\"stateMachines\",\"layout\",\"useOffscreenRenderer\",\"shouldDisableRiveListeners\",\"shouldResizeCanvasToContainer\",\"automaticallyHandleEvents\",\"children\"]),w=I({src:t,artboard:n,animations:r,layout:a,stateMachines:u,autoplay:!0,shouldDisableRiveListeners:d,automaticallyHandleEvents:b},{useOffscreenRenderer:o,shouldResizeCanvasToContainer:h}).RiveComponent;return s.default.createElement(w,c({},y),g)},a.useResizeCanvas=E,a.useRive=I,a.useRiveFile=function(e){var t=this||u,n=i.useState(null),r=n[0],a=n[1],l=i.useState(\"idle\"),s=l[0],c=l[1];return i.useEffect((function(){var n=null;return d(t,void 0,void 0,(function(){return v(this||u,(function(t){try{c(\"loading\"),(n=new o.RiveFile(e)).init(),n.on(o.EventType.Load,(function(){null==n||n.getInstance(),a(n),c(\"success\")})),n.on(o.EventType.LoadError,(function(){c(\"failed\")})),a(n)}catch(e){console.error(e),c(\"failed\")}return[2]}))})),function(){null==n||n.cleanup()}}),[e.src,e.buffer]),{riveFile:r,status:s}},a.useStateMachineInput=function(e,t,n,r){var u=i.useState(null),a=u[0],l=u[1];return i.useEffect((function(){function u(){if(e&&t&&n||l(null),e&&t&&n){var u=e.stateMachineInputs(t);if(u){var a=u.find((function(e){return e.name===n}));void 0!==r&&a&&(a.value=r),l(a||null)}}else l(null)}u(),e&&e.on(o.EventType.Load,(function(){u()}))}),[e]),a},a.useViewModel=function(e,t){var n=null!=t?t:{},r=n.name,u=n.useDefault,a=void 0!==u&&u,l=i.useState(null),s=l[0],c=l[1];return i.useEffect((function(){function t(){var t;if(e){var n=null;n=null!=r?(null===(t=e.viewModelByName)||void 0===t?void 0:t.call(e,r))||null:e.defaultViewModel()||null,c(n)}else c(null)}return t(),e&&e.on(o.EventType.Load,t),function(){e&&e.off(o.EventType.Load,t)}}),[e,r,a]),s},a.useViewModelInstance=function(e,t){var n=null!=t?t:{},r=n.name,u=n.useDefault,a=void 0!==u&&u,o=n.useNew,l=void 0!==o&&o,s=n.rive,c=i.useState(null),f=c[0],d=c[1];return i.useEffect((function(){var t,n,u;if(e){var i=null;i=null!=r?e.instanceByName(r)||null:a?(null===(t=e.defaultInstance)||void 0===t?void 0:t.call(e))||null:l?(null===(n=e.instance)||void 0===n?void 0:n.call(e))||null:(null===(u=e.defaultInstance)||void 0===u?void 0:u.call(e))||null,d(i),s&&i&&s.viewModelInstance!==i&&s.bindViewModelInstance(i)}else d(null)}),[e,r,a,l,s]),f},a.useViewModelInstanceBoolean=function(e,t){var n=T(e,t,{getProperty:i.useCallback((function(e,t){return e.boolean(t)}),[]),getValue:i.useCallback((function(e){return e.value}),[]),defaultValue:null,buildPropertyOperations:i.useCallback((function(e){return{setValue:function(t){e((function(e){e.value=t}))}}}),[])});return{value:n.value,setValue:n.setValue}},a.useViewModelInstanceColor=function(e,t){var n=T(e,t,{getProperty:i.useCallback((function(e,t){return e.color(t)}),[]),getValue:i.useCallback((function(e){return e.value}),[]),defaultValue:null,buildPropertyOperations:i.useCallback((function(e){return{setValue:function(t){e((function(e){e.value=t}))},setRgb:function(t,n,r){e((function(e){e.rgb(t,n,r)}))},setRgba:function(t,n,r,u){e((function(e){e.rgba(t,n,r,u)}))},setAlpha:function(t){e((function(e){e.alpha(t)}))},setOpacity:function(t){e((function(e){e.opacity(t)}))}}}),[])});return{value:n.value,setValue:n.setValue,setRgb:n.setRgb,setRgba:n.setRgba,setAlpha:n.setAlpha,setOpacity:n.setOpacity}},a.useViewModelInstanceEnum=function(e,t){var n=T(e,t,{getProperty:i.useCallback((function(e,t){return e.enum(t)}),[]),getValue:i.useCallback((function(e){return e.value}),[]),defaultValue:null,getExtendedData:i.useCallback((function(e){return e.values}),[]),buildPropertyOperations:i.useCallback((function(e){return{setValue:function(t){e((function(e){e.value=t}))}}}),[])});return{value:n.value,values:n.extendedData||[],setValue:n.setValue}},a.useViewModelInstanceNumber=function(e,t){var n=T(e,t,{getProperty:i.useCallback((function(e,t){return e.number(t)}),[]),getValue:i.useCallback((function(e){return e.value}),[]),defaultValue:null,buildPropertyOperations:i.useCallback((function(e){return{setValue:function(t){e((function(e){e.value=t}))}}}),[])});return{value:n.value,setValue:n.setValue}},a.useViewModelInstanceString=function(e,t){var n=T(e,t,{getProperty:i.useCallback((function(e,t){return e.string(t)}),[]),getValue:i.useCallback((function(e){return e.value}),[]),defaultValue:null,buildPropertyOperations:i.useCallback((function(e){return{setValue:function(t){e((function(e){e.value=t}))}}}),[])});return{value:n.value,setValue:n.setValue}},a.useViewModelInstanceTrigger=function(e,t,n){var r=(null!=n?n:{}).onTrigger;return{trigger:T(e,t,{getProperty:i.useCallback((function(e,t){return e.trigger(t)}),[]),getValue:i.useCallback((function(){}),[]),defaultValue:null,onPropertyEvent:r,buildPropertyOperations:i.useCallback((function(e){return{trigger:function(){e((function(e){e.trigger()}))}}}),[])}).trigger}},Object.keys(o).forEach((function(e){\"default\"===e||a.hasOwnProperty(e)||Object.defineProperty(a,e,{enumerable:!0,get:function(){return o[e]}})}));const S=a.__esModule,D=a.useResizeCanvas,L=a.useRive,z=a.useRiveFile,H=a.useStateMachineInput,j=a.useViewModel,N=a.useViewModelInstance,B=a.useViewModelInstanceBoolean,A=a.useViewModelInstanceColor,F=a.useViewModelInstanceEnum,W=a.useViewModelInstanceNumber,_=a.useViewModelInstanceString,U=a.useViewModelInstanceTrigger;export{S as __esModule,a as default,D as useResizeCanvas,L as useRive,z as useRiveFile,H as useStateMachineInput,j as useViewModel,N as useViewModelInstance,B as useViewModelInstanceBoolean,A as useViewModelInstanceColor,F as useViewModelInstanceEnum,W as useViewModelInstanceNumber,_ as useViewModelInstanceString,U as useViewModelInstanceTrigger};\n//# sourceMappingURL=index.js.map\n","// Get Started: https://www.framer.com/developers\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect}from\"react\";import{useRive}from\"@rive-app/react-canvas\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function RivePlayerAA(props){const{rive,RiveComponent}=useRive({src:props.filepath,stateMachines:[\"State Machine 1\"],artboard:props.artboard,autoplay:true});// Adiciona evento para atualizar inputs com base no movimento do mouse\nuseEffect(()=>{if(!rive)return;const xInput=rive?.stateMachineInputs(\"State Machine 1\")?.find(i=>i.name===\"inputX\");const yInput=rive?.stateMachineInputs(\"State Machine 1\")?.find(i=>i.name===\"inputY\");if(!xInput||!yInput)return;const handlePointerMove=e=>{const x=e.clientX/window.innerWidth*100;const y=100-e.clientY/window.innerHeight*100;xInput.value=x;yInput.value=y;};window.addEventListener(\"pointermove\",handlePointerMove);return()=>{window.removeEventListener(\"pointermove\",handlePointerMove);};},[rive]);return /*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:\"100%\"},children:/*#__PURE__*/_jsx(RiveComponent,{style:{display:\"block\",width:\"100%\",height:\"100%\"}})});}addPropertyControls(RivePlayerAA,{artboard:{type:ControlType.String,defaultValue:\"Artboard 2\",placeholder:\"Artboard...\",maxLength:50},filepath:{type:ControlType.File,defaultValue:\"https://framerusercontent.com/assets/t3dv4AoLgA6piHXVmP7bfqCq8.riv\",allowedFileTypes:[\"riv\"]}});export function Simple(){const{rive,RiveComponent}=useRive({src:\"https://cdn.rive.app/animations/vehicles.riv\",stateMachines:\"bumpy\",autoplay:false});return /*#__PURE__*/_jsx(RiveComponent,{onMouseEnter:()=>rive&&rive.play(),onMouseLeave:()=>rive&&rive.pause()});}\nexport const __FramerMetadata__ = {\"exports\":{\"Simple\":{\"type\":\"reactComponent\",\"name\":\"Simple\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"RivePlayerAA\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RivePlayerAA.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Validation functions mapping\nconst validationFunctions={email:{regex:/^[^@\\s]+@[^@\\s]+\\.[^@\\s]{2,63}$/,errorMessage:\"Por favor, digite um endere\\xe7o de email v\\xe1lido\"}};// Override function\nexport function withValidation(Component){return({validationType=\"email\",...props})=>{const[value,setValue]=useState(\"\");const[isValid,setIsValid]=useState(true);// Handle input changes\nconst handleInputChange=e=>{const newValue=e.target.value;setValue(newValue);// Validate input using the selected validation type\nconst validation=validationFunctions[validationType];setIsValid(validation.regex.test(newValue));};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(Component,{...props,value:value,onChange:handleInputChange,style:{...props.style,width:\"100%\",boxSizing:\"border-box\",borderColor:isValid?\"#FF7500\":\"red\"}}),!isValid&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"red\",fontSize:\"12px\",marginTop:\"4px\"},children:validationFunctions[validationType].errorMessage})]});};}// Property controls\naddPropertyControls(withValidation,{validationType:{type:ControlType.Enum,options:[\"email\"],optionTitles:[\"Email\"],title:\"Validation Type\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"withValidation\":{\"type\":\"reactHoc\",\"name\":\"withValidation\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Validacao_email.map","// Generated by Framer (662ecd5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Swear Text Black Cilati\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Swear Text Black Cilati\",source:\"custom\",url:\"https://framerusercontent.com/assets/qtrAGqEt4RNmjzUqKCePKS2gIfg.woff2\"}]}];export const css=['.framer-fgc9A .framer-styles-preset-1vgi3ov:not(.rich-text-wrapper), .framer-fgc9A .framer-styles-preset-1vgi3ov.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1439px) and (min-width: 1080px) { .framer-fgc9A .framer-styles-preset-1vgi3ov:not(.rich-text-wrapper), .framer-fgc9A .framer-styles-preset-1vgi3ov.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 22px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 1079px) and (min-width: 680px) { .framer-fgc9A .framer-styles-preset-1vgi3ov:not(.rich-text-wrapper), .framer-fgc9A .framer-styles-preset-1vgi3ov.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 679px) and (min-width: 0px) { .framer-fgc9A .framer-styles-preset-1vgi3ov:not(.rich-text-wrapper), .framer-fgc9A .framer-styles-preset-1vgi3ov.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-fgc9A\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b4533c2)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const MotionDivWithFX=withFX(motion.div);const enabledGestures={vfOEIq8rS:{hover:true,pressed:true}};const cycleOrder=[\"vfOEIq8rS\",\"hKJKXVi7x\",\"ly1cN94KH\",\"w7WIF9HZk\",\"kd0SO5qbT\"];const serializationHash=\"framer-8kKa7\";const variantClassNames={hKJKXVi7x:\"framer-v-hz3jgn\",kd0SO5qbT:\"framer-v-l3653g\",ly1cN94KH:\"framer-v-1791lyk\",vfOEIq8rS:\"framer-v-zwlrpf\",w7WIF9HZk:\"framer-v-1z03210\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.2,ease:[.44,0,.56,1],type:\"tween\"};const transition2={delay:0,duration:1,ease:[0,0,1,1],type:\"tween\"};const animation={opacity:1,rotate:360,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Default:\"vfOEIq8rS\",Disabled:\"ly1cN94KH\",Error:\"kd0SO5qbT\",Loading:\"hKJKXVi7x\",Success:\"w7WIF9HZk\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"vfOEIq8rS\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"vfOEIq8rS\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"hKJKXVi7x\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"hKJKXVi7x\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.button,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-zwlrpf\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Default\",\"data-reset\":\"button\",layoutDependency:layoutDependency,layoutId:\"vfOEIq8rS\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, rgb(21, 73, 32))\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,opacity:1,...style},variants:{\"vfOEIq8rS-hover\":{backgroundColor:\"var(--token-1f5fb4a0-7eae-4ece-aa01-7623021f6a3f, rgb(11, 56, 21))\",opacity:1},\"vfOEIq8rS-pressed\":{backgroundColor:\"var(--token-c7d8aa0e-0c4d-4696-b4e4-6f5ce54e794a, rgb(4, 38, 11))\",opacity:1},kd0SO5qbT:{backgroundColor:\"rgba(255, 34, 68, 0.15)\",opacity:1},ly1cN94KH:{opacity:.5},w7WIF9HZk:{opacity:1}},...addPropertyOverrides({\"vfOEIq8rS-hover\":{\"data-framer-name\":undefined},\"vfOEIq8rS-pressed\":{\"data-framer-name\":undefined},hKJKXVi7x:{\"data-framer-name\":\"Loading\"},kd0SO5qbT:{\"data-framer-name\":\"Error\"},ly1cN94KH:{\"data-framer-name\":\"Disabled\"},w7WIF9HZk:{\"data-framer-name\":\"Success\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1N3ZWFyIFRleHQgQmxhY2sgSXRhbGlj\",\"--framer-font-family\":'\"Swear Text Black Italic\", \"Swear Text Black Italic Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49)))\"},children:\"Bora azeitar a vida\"})}),className:\"framer-1qhb9ep\",fonts:[\"CUSTOM;Swear Text Black Italic\"],layoutDependency:layoutDependency,layoutId:\"SvF2aM02k\",style:{\"--extracted-r6o4lv\":\"var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{kd0SO5qbT:{\"--extracted-r6o4lv\":\"rgb(255, 34, 68)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({kd0SO5qbT:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItU2VtaUJvbGQ=\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"600\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 34, 68))\"},children:\"Something went wrong\"})}),fonts:[\"Inter-SemiBold\"]},w7WIF9HZk:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1N3ZWFyIFRleHQgQmxhY2sgQ2lsYXRp\",\"--framer-font-family\":'\"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49)))\"},children:\"Obrigado!\"})}),fonts:[\"CUSTOM;Swear Text Black Cilati\"]}},baseVariant,gestureVariant)}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-2r2xf9\",\"data-framer-name\":\"Spinner\",layoutDependency:layoutDependency,layoutId:\"Rmd6mE42k\",style:{mask:\"url('https://framerusercontent.com/images/pGiXYozQ3mE4cilNOItfe2L2fUA.svg') alpha no-repeat center / cover add\",WebkitMask:\"url('https://framerusercontent.com/images/pGiXYozQ3mE4cilNOItfe2L2fUA.svg') alpha no-repeat center / cover add\"},children:/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__loop:animation,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"loop\",__framer__loopTransition:transition2,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-19z4vdg\",\"data-framer-name\":\"Conic\",layoutDependency:layoutDependency,layoutId:\"ly0Qwancw\",style:{background:\"conic-gradient(from 0deg at 50% 50%, var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49)) 7.208614864864882deg, var(--token-78c43fa2-f2e3-4559-a52f-bd12bed48da1, rgb(156, 107, 9)) 342deg)\",mask:\"none\",WebkitMask:\"none\"},variants:{hKJKXVi7x:{mask:\"url('https://framerusercontent.com/images/pGiXYozQ3mE4cilNOItfe2L2fUA.svg') alpha no-repeat center / cover add\",WebkitMask:\"url('https://framerusercontent.com/images/pGiXYozQ3mE4cilNOItfe2L2fUA.svg') alpha no-repeat center / cover add\"}},children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-8m1acl\",\"data-framer-name\":\"Rounding\",layoutDependency:layoutDependency,layoutId:\"Mv1S9_Csj\",style:{backgroundColor:\"var(--token-b40732dc-9031-477f-a1f2-708e4cfc1cf2, rgb(244, 179, 49))\",borderBottomLeftRadius:1,borderBottomRightRadius:1,borderTopLeftRadius:1,borderTopRightRadius:1},transformTemplate:transformTemplate1})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-8kKa7.framer-cg43sm, .framer-8kKa7 .framer-cg43sm { display: block; }\",\".framer-8kKa7.framer-zwlrpf { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 12px; position: relative; width: 240px; }\",\".framer-8kKa7 .framer-1qhb9ep { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-8kKa7 .framer-2r2xf9 { aspect-ratio: 1 / 1; flex: none; gap: 10px; height: var(--framer-aspect-ratio-supported, 20px); overflow: hidden; position: relative; width: 20px; }\",\".framer-8kKa7 .framer-19z4vdg { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\",\".framer-8kKa7 .framer-8m1acl { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 2px); left: 50%; overflow: visible; position: absolute; top: 0px; width: 2px; }\",\".framer-8kKa7.framer-v-hz3jgn.framer-zwlrpf, .framer-8kKa7.framer-v-1791lyk.framer-zwlrpf, .framer-8kKa7.framer-v-1z03210.framer-zwlrpf, .framer-8kKa7.framer-v-l3653g.framer-zwlrpf { cursor: unset; }\",\".framer-8kKa7.framer-v-hz3jgn .framer-19z4vdg { overflow: hidden; }\",'.framer-8kKa7[data-border=\"true\"]::after, .framer-8kKa7 [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 240\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"hKJKXVi7x\":{\"layout\":[\"fixed\",\"auto\"]},\"ly1cN94KH\":{\"layout\":[\"fixed\",\"auto\"]},\"w7WIF9HZk\":{\"layout\":[\"fixed\",\"auto\"]},\"kd0SO5qbT\":{\"layout\":[\"fixed\",\"auto\"]},\"AoRxE9S5x\":{\"layout\":[\"fixed\",\"auto\"]},\"zZvh5NDww\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Frameramw6t9IcI=withCSS(Component,css,\"framer-8kKa7\");export default Frameramw6t9IcI;Frameramw6t9IcI.displayName=\"Button 2\";Frameramw6t9IcI.defaultProps={height:48,width:240};addPropertyControls(Frameramw6t9IcI,{variant:{options:[\"vfOEIq8rS\",\"hKJKXVi7x\",\"ly1cN94KH\",\"w7WIF9HZk\",\"kd0SO5qbT\"],optionTitles:[\"Default\",\"Loading\",\"Disabled\",\"Success\",\"Error\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Frameramw6t9IcI,[{explicitInter:true,fonts:[{family:\"Swear Text Black Italic\",source:\"custom\",url:\"https://framerusercontent.com/assets/LPqCojd35FnrrhPEt2V0VBQg48.woff2\"},{family:\"Swear Text Black Cilati\",source:\"custom\",url:\"https://framerusercontent.com/assets/qtrAGqEt4RNmjzUqKCePKS2gIfg.woff2\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2\",weight:\"600\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Frameramw6t9IcI\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"hKJKXVi7x\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ly1cN94KH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"w7WIF9HZk\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"kd0SO5qbT\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"AoRxE9S5x\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"zZvh5NDww\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"48\",\"framerIntrinsicWidth\":\"240\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./amw6t9IcI.map","// Generated by Framer (df12877)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,FormContainer,FormPlainTextInput,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import RivePlayerAA from\"https://framerusercontent.com/modules/h0CKgVZQ6n1NClxnEeGv/bs8Xr2srbqbvJ9ZC1uAE/RivePlayerAA.js\";import{withValidation}from\"https://framerusercontent.com/modules/XyeNFxVlslaQNixR0AbZ/oGUKcxmbYqKqXKiO1AfU/Validacao_email.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/4mnUmHUlnTx5uot7o6mT/KXw7bSkSgPxevwQ8BKnh/p8nwE8YgS.js\";import Button2 from\"https://framerusercontent.com/modules/WpCUOhoKT24mehBWH0pp/oTBzs1dHkRff41FlIycV/amw6t9IcI.js\";const RivePlayerAAFonts=getFonts(RivePlayerAA);const FormPlainTextInputWithValidation1potmwj=withCodeBoundaryForOverrides(FormPlainTextInput,{nodeId:\"S53ulMErE\",override:withValidation,scopeId:\"wIhs6B6F_\"});const Button2Fonts=getFonts(Button2);const cycleOrder=[\"rsIVM36K_\",\"txxKdexHr\"];const serializationHash=\"framer-ehoip\";const variantClassNames={rsIVM36K_:\"framer-v-1q501pw\",txxKdexHr:\"framer-v-10ya2hl\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const formVariants=(form,variants,currentVariant)=>{switch(form.state){case\"success\":return variants.success??currentVariant;case\"pending\":return variants.pending??currentVariant;case\"error\":return variants.error??currentVariant;case\"incomplete\":return variants.incomplete??currentVariant;}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"rsIVM36K_\",\"Variant 2\":\"txxKdexHr\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"rsIVM36K_\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"rsIVM36K_\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onSuccess173kcri=activeVariantCallback(async(...args)=>{setVariant(\"txxKdexHr\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"txxKdexHr\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(FormContainer,{...restProps,...gestureHandlers,action:\"https://api.framer.com/forms/v1/forms/1c306797-6e0f-41ce-967d-1a09ccc17b46/submit\",className:cx(scopingClassNames,\"framer-1q501pw\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"rsIVM36K_\",nodeId:\"rsIVM36K_\",onSuccess:onSuccess173kcri,ref:refBinding,style:{...style},...addPropertyOverrides({txxKdexHr:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:formState=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.label,{className:\"framer-qw9osm\",layoutDependency:layoutDependency,layoutId:\"cPXIdOr7J\",style:{opacity:1},variants:{txxKdexHr:{opacity:0}},children:/*#__PURE__*/_jsx(FormPlainTextInput,{className:\"framer-17ladu6\",inputName:\"Name\",layoutDependency:layoutDependency,layoutId:\"XkY_ksiDO\",placeholder:\"Nome\",required:true,style:{\"--framer-input-border-bottom-width\":\"2px\",\"--framer-input-border-color\":\"var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, rgb(21, 73, 32))\",\"--framer-input-border-left-width\":\"0px\",\"--framer-input-border-right-width\":\"0px\",\"--framer-input-border-style\":\"solid\",\"--framer-input-border-top-width\":\"0px\",\"--framer-input-font-color\":\"var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, rgb(21, 73, 32))\",\"--framer-input-icon-color\":\"rgb(153, 153, 153)\",\"--framer-input-placeholder-color\":\"rgba(21, 74, 33, 0.75)\"},type:\"text\",variants:{txxKdexHr:{opacity:0}}})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-16lw877\",layoutDependency:layoutDependency,layoutId:\"MBJNkUebM\",children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1vgi3ov\",\"data-styles-preset\":\"p8nwE8YgS\",children:\"Agora \\xe9 s\\xf3 esperar :)\"})}),className:\"framer-10ucr7j\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"uowVAtaj9\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-7lyjnr-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"F2ca8xwcm-container\",nodeId:\"F2ca8xwcm\",rendersWithMotion:true,scopeId:\"wIhs6B6F_\",children:/*#__PURE__*/_jsx(RivePlayerAA,{artboard:\"Artboard 3\",filepath:\"https://framerusercontent.com/assets/wbGsRz9CTeU6c8yo5VQckn6BOyY.riv\",height:\"100%\",id:\"F2ca8xwcm\",layoutId:\"F2ca8xwcm\",style:{height:\"100%\",maxHeight:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsx(motion.label,{className:\"framer-2kttrn\",layoutDependency:layoutDependency,layoutId:\"mP_1J8vBA\",style:{opacity:1},variants:{txxKdexHr:{opacity:0}},children:/*#__PURE__*/_jsx(FormPlainTextInputWithValidation1potmwj,{className:\"framer-1potmwj\",inputName:\"Email\",layoutDependency:layoutDependency,layoutId:\"S53ulMErE\",placeholder:\"Email\",required:true,style:{\"--framer-input-border-bottom-width\":\"2px\",\"--framer-input-border-color\":\"var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, rgb(21, 73, 32))\",\"--framer-input-border-left-width\":\"0px\",\"--framer-input-border-right-width\":\"0px\",\"--framer-input-border-style\":\"solid\",\"--framer-input-border-top-width\":\"0px\",\"--framer-input-font-color\":\"var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, rgb(21, 73, 32))\",\"--framer-input-icon-color\":\"rgb(153, 153, 153)\",\"--framer-input-placeholder-color\":\"rgba(21, 74, 33, 0.75)\"},type:\"email\"})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:48,width:componentViewport?.width||\"100vw\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1tuww1h-container\",layoutDependency:layoutDependency,layoutId:\"f_5JMRBcC-container\",nodeId:\"f_5JMRBcC\",rendersWithMotion:true,scopeId:\"wIhs6B6F_\",style:{opacity:1},variants:{txxKdexHr:{opacity:0}},children:/*#__PURE__*/_jsx(Button2,{height:\"100%\",id:\"f_5JMRBcC\",layoutId:\"f_5JMRBcC\",style:{width:\"100%\"},type:\"submit\",variant:formVariants(formState,{pending:\"hKJKXVi7x\"},\"vfOEIq8rS\"),width:\"100%\"})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ehoip.framer-1hwi03k, .framer-ehoip .framer-1hwi03k { display: block; }\",\".framer-ehoip.framer-1q501pw { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 448px; }\",\".framer-ehoip .framer-qw9osm, .framer-ehoip .framer-2kttrn { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",'.framer-ehoip .framer-17ladu6, .framer-ehoip .framer-1potmwj { --framer-input-font-family: \"Inter\"; --framer-input-font-letter-spacing: 0em; --framer-input-font-line-height: 1.2em; --framer-input-font-size: 20px; --framer-input-font-weight: 400; --framer-input-padding: 16px 0px 16px 0px; --framer-input-wrapper-height: auto; flex: none; height: auto; position: relative; width: 100%; }',\".framer-ehoip .framer-16lw877 { align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; justify-content: center; left: calc(50.00000000000002% - 100% / 2); overflow: visible; padding: 0px; position: absolute; top: 0px; width: 100%; z-index: 1; }\",\".framer-ehoip .framer-10ucr7j { flex: none; height: auto; position: relative; white-space: pre; width: auto; z-index: 1; }\",\".framer-ehoip .framer-7lyjnr-container { aspect-ratio: 1 / 1; flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 200px); max-height: 100%; position: relative; width: 1px; z-index: 1; }\",\".framer-ehoip .framer-1tuww1h-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-ehoip.framer-v-10ya2hl .framer-qw9osm, .framer-ehoip.framer-v-10ya2hl .framer-10ucr7j { order: 1; }\",\".framer-ehoip.framer-v-10ya2hl .framer-16lw877 { order: 0; }\",\".framer-ehoip.framer-v-10ya2hl .framer-7lyjnr-container { height: var(--framer-aspect-ratio-supported, 208px); order: 0; }\",\".framer-ehoip.framer-v-10ya2hl .framer-2kttrn { order: 2; }\",\".framer-ehoip.framer-v-10ya2hl .framer-1tuww1h-container { order: 3; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 208\n * @framerIntrinsicWidth 448\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"txxKdexHr\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerwIhs6B6F_=withCSS(Component,css,\"framer-ehoip\");export default FramerwIhs6B6F_;FramerwIhs6B6F_.displayName=\"form\";FramerwIhs6B6F_.defaultProps={height:208,width:448};addPropertyControls(FramerwIhs6B6F_,{variant:{options:[\"rsIVM36K_\",\"txxKdexHr\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerwIhs6B6F_,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...RivePlayerAAFonts,...Button2Fonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerwIhs6B6F_\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"208\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"448\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"txxKdexHr\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./wIhs6B6F_.map","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{useEffect,useState}from\"react\";export function withViewportHeight(Component){return props=>{const isMenuPhoneFechado=props[\"data-framer-name\"]===\"Mobile - Aberto\";const isMenuTabletFechado=props[\"data-framer-name\"]===\"Mobile - Aberto - Azul\";//console.log(props[\"data-framer-name\"])\n//console.log(isMenuTabletFechado)\nuseEffect(()=>{if(isMenuPhoneFechado||isMenuTabletFechado){document.body.style.overflow=\"hidden\"// Lock scroll\n;}else{document.body.style.overflow=\"\"// Unlock scroll\n;}// Cleanup when the component is unmounted\nreturn()=>{document.body.style.overflow=\"\"// Unlock scroll on unmount\n;};},[isMenuPhoneFechado,isMenuTabletFechado]);return /*#__PURE__*/_jsx(Component,{...props,style:{width:\"100%\",height:isMenuPhoneFechado?\"102vh\":undefined}});};}// Learn more: https://www.framer.com/developers/overrides/\nconst useStore=createStore({background:\"#0099FF\"});export function withoutFramerBadge(Component){return props=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        #__framer-badge-container { display: none !important; }\n                    `}),/*#__PURE__*/_jsx(Component,{...props})]});};}export function useAutofillFix(Component){return props=>{useEffect(()=>{const styleId=\"autofill-style-fix\";// Avoid injecting the style multiple times\nif(!document.getElementById(styleId)){const style=document.createElement(\"style\");style.id=styleId;style.innerHTML=`\n        input:-webkit-autofill,\n        textarea:-webkit-autofill,\n        select:-webkit-autofill,\n        input:-internal-autofill-selected  {\n          background-color: transparent !important;\n          -webkit-text-fill-color: #15471A !important;\n          transition: background-color 5000s ease-in-out 0s !important;\n        }\n      `;document.head.appendChild(style);}},[]);return /*#__PURE__*/_jsx(Component,{...props});};}const LINE_REGEX=/lines?:\\s*(\\d+)/i;export function withTruncateText(Component){return props=>{const lineName=props[\"data-framer-name\"]||props.name||\"\";const lineCount=useMemo(()=>{const match=lineName.match(LINE_REGEX);return match?parseInt(match[1],10):1;},[lineName]);return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,overflow:\"hidden\",display:\"-webkit-box\",WebkitLineClamp:lineCount,WebkitBoxOrient:\"vertical\",textOverflow:\"ellipsis\",whiteSpace:\"normal\",wordBreak:\"break-word\"}});};}export function withScale15(Component){return props=>{return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,transform:\"scaleY(1.5)\"}});};}export function withVideoDelay(Component){return props=>{const[playing,setPlaying]=useState(false);useEffect(()=>{// Delay inicial\nconst timer=setTimeout(()=>{setPlaying(true);},3300);// Listener para retomar o vídeo quando voltar para a aba\nconst handleVisibility=()=>{if(document.visibilityState===\"visible\"){setPlaying(true);}};document.addEventListener(\"visibilitychange\",handleVisibility);return()=>{clearTimeout(timer);document.removeEventListener(\"visibilitychange\",handleVisibility);};},[]);return /*#__PURE__*/_jsx(Component,{...props,playing:playing});};}export function withNoShow(Component){return props=>{useEffect(()=>{// Cria a keyframe dinamicamente e adiciona ao <head>\nconst styleTag=document.createElement(\"style\");styleTag.innerHTML=`\n                @keyframes slideUp {\n                    to {\n                        transform: translateY(-2000px);\n                        opacity: 0;\n                    }\n                }\n            `;document.head.appendChild(styleTag);return()=>{document.head.removeChild(styleTag)// limpeza\n;};},[]);return /*#__PURE__*/_jsx(\"div\",{style:{animation:\"slideUp 1s ease-in forwards\",animationDelay:\"3s\"},children:/*#__PURE__*/_jsx(Component,{...props,style:{...props.style}})});};}export function withImg100pcent(Component){return props=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        img { width: 100%; }\n                    `}),/*#__PURE__*/_jsx(Component,{...props})]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withVideoDelay\":{\"type\":\"reactHoc\",\"name\":\"withVideoDelay\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNoShow\":{\"type\":\"reactHoc\",\"name\":\"withNoShow\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withImg100pcent\":{\"type\":\"reactHoc\",\"name\":\"withImg100pcent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withScale15\":{\"type\":\"reactHoc\",\"name\":\"withScale15\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withoutFramerBadge\":{\"type\":\"reactHoc\",\"name\":\"withoutFramerBadge\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withViewportHeight\":{\"type\":\"reactHoc\",\"name\":\"withViewportHeight\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTruncateText\":{\"type\":\"reactHoc\",\"name\":\"withTruncateText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutofillFix\":{\"type\":\"reactHoc\",\"name\":\"useAutofillFix\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Example_1.map","// Generated by Framer (9cd6ca5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Swear Text Black Cilati\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Swear Text Black Cilati\",source:\"custom\",url:\"https://framerusercontent.com/assets/qtrAGqEt4RNmjzUqKCePKS2gIfg.woff2\"}]}];export const css=['.framer-Esq4Y .framer-styles-preset-zyhjvz:not(.rich-text-wrapper), .framer-Esq4Y .framer-styles-preset-zyhjvz.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 120%; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1439px) and (min-width: 1080px) { .framer-Esq4Y .framer-styles-preset-zyhjvz:not(.rich-text-wrapper), .framer-Esq4Y .framer-styles-preset-zyhjvz.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 120%; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 1079px) and (min-width: 680px) { .framer-Esq4Y .framer-styles-preset-zyhjvz:not(.rich-text-wrapper), .framer-Esq4Y .framer-styles-preset-zyhjvz.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 28px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 120%; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 679px) and (min-width: 0px) { .framer-Esq4Y .framer-styles-preset-zyhjvz:not(.rich-text-wrapper), .framer-Esq4Y .framer-styles-preset-zyhjvz.rich-text-wrapper p { --framer-font-family: \"Swear Text Black Cilati\", \"Swear Text Black Cilati Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 120%; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-Esq4Y\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (662ecd5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Inter Tight-500\",\"GF;Inter Tight-700\",\"GF;Inter Tight-700italic\",\"GF;Inter Tight-500italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter Tight\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/intertight/v8/NGSnv5HMAFg6IuGlBNMjxJEL2VmU3NS7Z2mjPQ-qWSRToK8EPg.woff2\",weight:\"500\"},{family:\"Inter Tight\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/intertight/v8/NGSnv5HMAFg6IuGlBNMjxJEL2VmU3NS7Z2mj6AiqWSRToK8EPg.woff2\",weight:\"700\"},{family:\"Inter Tight\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/intertight/v8/NGShv5HMAFg6IuGlBNMjxLsC66ZMtb8hyW62x0ylGC5SgqoUPvi5.woff2\",weight:\"700\"},{family:\"Inter Tight\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/intertight/v8/NGShv5HMAFg6IuGlBNMjxLsC66ZMtb8hyW62x0xwHy5SgqoUPvi5.woff2\",weight:\"500\"}]}];export const css=['.framer-qVEw7 .framer-styles-preset-4se4or:not(.rich-text-wrapper), .framer-qVEw7 .framer-styles-preset-4se4or.rich-text-wrapper p { --framer-font-family: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1439px) and (min-width: 1080px) { .framer-qVEw7 .framer-styles-preset-4se4or:not(.rich-text-wrapper), .framer-qVEw7 .framer-styles-preset-4se4or.rich-text-wrapper p { --framer-font-family: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 1079px) and (min-width: 680px) { .framer-qVEw7 .framer-styles-preset-4se4or:not(.rich-text-wrapper), .framer-qVEw7 .framer-styles-preset-4se4or.rich-text-wrapper p { --framer-font-family: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 679px) and (min-width: 0px) { .framer-qVEw7 .framer-styles-preset-4se4or:not(.rich-text-wrapper), .framer-qVEw7 .framer-styles-preset-4se4or.rich-text-wrapper p { --framer-font-family: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-family-italic: \"Inter Tight\", \"Inter Tight Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 150%; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d03106e4-34a6-4bb2-9141-ddf9580a08d3, #154920); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-qVEw7\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d31575f)\nexport default function metadata(params,activeLocale){return{customHTMLHeadEnd:'<script>\\n    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(\".\");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement(\"script\")).type=\"text/javascript\",p.crossOrigin=\"anonymous\",p.async=!0,p.src=s.api_host.replace(\".i.posthog.com\",\"-assets.i.posthog.com\")+\"/static/array.js\",(r=t.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a=\"posthog\",u.people=u.people||[],u.toString=function(t){var e=\"posthog\";return\"posthog\"!==a&&(e+=\".\"+a),t||(e+=\" (stub)\"),e},u.people.toString=function(){return u.toString(1)+\".people (stub)\"},o=\"init Te Ds js Re Os As capture Ke calculateEventProperties zs register register_once register_for_session unregister unregister_for_session Hs getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty qs Ns createPersonProfile Bs Cs Ws opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Ls debug L Us getPageViewId captureTraceFeedback captureTraceMetric\".split(\" \"),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);\\n    posthog.init(\\'phc_gfCBpwewqZSk7bNUV5xTspJXJIdqDQYdJjymkm3M9BZ\\', {\\n        api_host: \\'https://us.i.posthog.com\\',\\n        defaults: \\'2025-05-24\\',\\n        person_profiles: \\'identified_only\\', // or \\'always\\' to create profiles for anonymous users as well\\n    })\\n</script>',description:\"Azeite de Oliva Extra Virgem\",favicon:\"https://framerusercontent.com/assets/L5Z2RxQwAJ8qbE12KxUj8Ek4Dg.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/ag0sG2Hew9jmjFtc4vNgh4Z7bQ.png\",title:\"L\\xf3v\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c2a8602)\nimport siteMetadata from\"https://framerusercontent.com/modules/lDXulZaGLxXfh5S565G5/o8grRi24glz9JorQmLwD/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\",mediaQuery:\"(min-width: 1440px)\"},{hash:\"1ra3aq8\",mediaQuery:\"(min-width: 1080px) and (max-width: 1439.98px)\"},{hash:\"lgarb3\",mediaQuery:\"(min-width: 680px) and (max-width: 1079.98px)\"},{hash:\"zlquzi\",mediaQuery:\"(max-width: 679.98px)\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-N7HMH\",socialImage:\"https://framerusercontent.com/assets/vLhiEPTpSX2tc9tNWO3aFG6Xnk.png\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c2a8602)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,PropertyOverrides,RichText,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,withCodeBoundaryForOverrides,withCSS,withMappedReactProps}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Video}from\"https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js\";import Intro from\"#framer/local/canvasComponent/du5xgA6nR/du5xgA6nR.js\";import Form,*as FormInfo from\"#framer/local/canvasComponent/wIhs6B6F_/wIhs6B6F_.js\";import{useAutofillFix,withoutFramerBadge,withVideoDelay}from\"#framer/local/codeFile/LUfWvlD/Example_1.js\";import*as sharedStyle from\"#framer/local/css/HcbhxMcam/HcbhxMcam.js\";import*as sharedStyle1 from\"#framer/local/css/pk4X_RSew/pk4X_RSew.js\";import metadataProvider from\"#framer/local/webPageMetadata/augiA20Il/augiA20Il.js\";const IntroFonts=getFonts(Intro);const VideoFonts=getFonts(Video);const VideoWithVideoDelayv8nukx=withCodeBoundaryForOverrides(Video,{nodeId:\"hGggWAK7V\",override:withVideoDelay,scopeId:\"augiA20Il\"});const FormFonts=getFonts(Form);const FormUseAutofillFix1lgh4epWithMappedReactPropspjygao=withMappedReactProps(withCodeBoundaryForOverrides(Form,{nodeId:\"rnoGtl1Ki\",override:useAutofillFix,scopeId:\"augiA20Il\"}),FormInfo);const MotionDivWithoutFramerBadge72rtr7=withCodeBoundaryForOverrides(motion.div,{nodeId:\"WQLkyLRf1\",override:withoutFramerBadge,scopeId:\"augiA20Il\"});const breakpoints={Os8VCvbQ1:\"(max-width: 679.98px)\",wb3eUTEY4:\"(min-width: 1080px) and (max-width: 1439.98px)\",WQLkyLRf1:\"(min-width: 1440px)\",X4NeWXqP6:\"(min-width: 680px) and (max-width: 1079.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-N7HMH\";const variantClassNames={Os8VCvbQ1:\"framer-v-zlquzi\",wb3eUTEY4:\"framer-v-1ra3aq8\",WQLkyLRf1:\"framer-v-72rtr7\",X4NeWXqP6:\"framer-v-lgarb3\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={\"Desktop HD\":\"WQLkyLRf1\",Desktop:\"wb3eUTEY4\",Phone:\"Os8VCvbQ1\",Tablet:\"X4NeWXqP6\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"WQLkyLRf1\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{primaryVariantId:\"WQLkyLRf1\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: var(--token-a71dfb4e-0181-4420-9a8a-d9a98b7d69eb, rgb(254, 247, 229)); }\"}),/*#__PURE__*/_jsxs(MotionDivWithoutFramerBadge72rtr7,{...restProps,className:cx(scopingClassNames,\"framer-72rtr7\",className),ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:1e3,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1i8wp5y-container\",layoutScroll:true,nodeId:\"W8pum550C\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Os8VCvbQ1:{variant:\"Aw7qDyEah\"},wb3eUTEY4:{variant:\"RsRJO6hwZ\"},X4NeWXqP6:{variant:\"RKewW84q_\"}},children:/*#__PURE__*/_jsx(Intro,{height:\"100%\",id:\"W8pum550C\",layoutId:\"W8pum550C\",style:{height:\"100%\",width:\"100%\"},variant:\"n7OoWdGFD\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-v8nukx-container\",isAuthoredByUser:true,isModuleExternal:true,layoutScroll:true,nodeId:\"hGggWAK7V\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(VideoWithVideoDelayv8nukx,{backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:0,bottomLeftRadius:0,bottomRightRadius:0,controls:false,height:\"100%\",id:\"hGggWAK7V\",isMixedBorderRadius:false,layoutId:\"hGggWAK7V\",loop:true,muted:true,objectFit:\"cover\",playing:true,poster:\"https://framerusercontent.com/images/iYwews4xAj5KbgV6G5ywaqBqQ.png?width=1919&height=1079\",posterEnabled:true,srcFile:\"https://framerusercontent.com/assets/agsoXkRwWH69f00LU4YKFlFM1Bw.webm\",srcType:\"Upload\",srcUrl:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",startTime:0,style:{height:\"100%\",width:\"100%\"},topLeftRadius:0,topRightRadius:0,volume:25,width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-xhy22b\",\"data-framer-name\":\"Hero\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-bsvdaa\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-ssi2rj\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1yxktd4\",\"data-border\":true,\"data-framer-name\":\"Frame 9658\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1f5m1a3\",\"data-framer-name\":\"Frame 9666\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-zyhjvz\",\"data-styles-preset\":\"HcbhxMcam\",children:\"Quer ser o primeiro a apertar nossas garrafas?\"})}),className:\"framer-11j3iex\",\"data-framer-name\":\"N\\xe3o deixe o L\\xf3v acabar!\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-4se4or\",\"data-styles-preset\":\"pk4X_RSew\",style:{\"--framer-text-alignment\":\"left\"},children:\"Inscreva-se aqui pra ter acesso exclusivo ao azeite mais fresco que voc\\xea j\\xe1 comeu.\"})}),className:\"framer-1pywnbi\",\"data-framer-name\":\"Se inscreva na nossa newsletter para se manter informado de promo\\xe7\\xf5es e todas as novidades\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{Os8VCvbQ1:{width:`calc(min(${componentViewport?.width||\"100vw\"} - 48px, 512px) - 32px)`,y:(componentViewport?.y||0)+0+0+0+157+0+0+24+0+16+398},X4NeWXqP6:{width:`calc(min(${componentViewport?.width||\"100vw\"} - 128px, 512px) - 64px)`,y:(componentViewport?.y||0)+0+0+0+101+0+0+64+0+32+398}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:208,width:`calc(min(max(${componentViewport?.width||\"100vw\"}, 1px) - 128px, 512px) - 64px)`,y:(componentViewport?.y||0)+0+0+0+0+0+64+101+32+398,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1lgh4ep-container\",nodeId:\"rnoGtl1Ki\",rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(FormUseAutofillFix1lgh4epWithMappedReactPropspjygao,{height:\"100%\",id:\"rnoGtl1Ki\",layoutId:\"rnoGtl1Ki\",style:{width:\"100%\"},variant:\"rsIVM36K_\",width:\"100%\"})})})})]})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-N7HMH.framer-lux5qc, .framer-N7HMH .framer-lux5qc { display: block; }\",\".framer-N7HMH.framer-72rtr7 { align-content: center; align-items: center; background-color: var(--token-a71dfb4e-0181-4420-9a8a-d9a98b7d69eb, #fef7e5); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 1440px; }\",\".framer-N7HMH .framer-1i8wp5y-container { flex: none; height: 100vh; left: calc(50.00000000000002% - 100% / 2); pointer-events: none; position: fixed; top: 0px; width: 100%; z-index: 2; }\",\".framer-N7HMH .framer-v8nukx-container { flex: none; height: 100vh; left: calc(50.00000000000002% - 100% / 2); position: fixed; top: calc(50.00000000000002% - 100vh / 2); width: 100%; z-index: 1; }\",\".framer-N7HMH .framer-xhy22b { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: 100vh; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-N7HMH .framer-bsvdaa { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 1px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-N7HMH .framer-ssi2rj { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; min-height: 100%; overflow: hidden; padding: 64px; position: relative; width: 1px; }\",\".framer-N7HMH .framer-1yxktd4 { --border-bottom-width: 2px; --border-color: #15471a; --border-left-width: 2px; --border-right-width: 2px; --border-style: solid; --border-top-width: 2px; align-content: flex-start; align-items: flex-start; background-color: #efaa30; border-bottom-left-radius: 32px; border-bottom-right-radius: 32px; border-top-left-radius: 32px; border-top-right-radius: 32px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; max-width: 512px; overflow: visible; padding: 32px; position: relative; width: 100%; }\",\".framer-N7HMH .framer-1f5m1a3 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-N7HMH .framer-11j3iex, .framer-N7HMH .framer-1pywnbi { --framer-paragraph-spacing: 0px; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-N7HMH .framer-1lgh4ep-container { flex: none; height: auto; position: relative; width: 100%; }\",...sharedStyle.css,...sharedStyle1.css,'.framer-N7HMH[data-border=\"true\"]::after, .framer-N7HMH [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }',\"@media (min-width: 1080px) and (max-width: 1439.98px) { .framer-N7HMH.framer-72rtr7 { width: 1080px; }}\",\"@media (min-width: 680px) and (max-width: 1079.98px) { .framer-N7HMH.framer-72rtr7 { width: 680px; } .framer-N7HMH .framer-xhy22b { justify-content: center; } .framer-N7HMH .framer-bsvdaa { flex: none; flex-direction: column; height: min-content; } .framer-N7HMH .framer-ssi2rj { flex: none; min-height: unset; width: 100%; }}\",\"@media (max-width: 679.98px) { .framer-N7HMH.framer-72rtr7 { width: 320px; } .framer-N7HMH .framer-1i8wp5y-container { order: 1; } .framer-N7HMH .framer-v8nukx-container { order: 2; } .framer-N7HMH .framer-xhy22b { height: min-content; justify-content: center; min-height: 100vh; order: 3; } .framer-N7HMH .framer-bsvdaa { flex: none; flex-direction: column; height: min-content; } .framer-N7HMH .framer-ssi2rj { flex: none; min-height: unset; padding: 24px; width: 100%; } .framer-N7HMH .framer-1yxktd4 { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; border-top-left-radius: 16px; border-top-right-radius: 16px; padding: 16px; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 1440\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"wb3eUTEY4\":{\"layout\":[\"fixed\",\"auto\"]},\"X4NeWXqP6\":{\"layout\":[\"fixed\",\"auto\"]},\"Os8VCvbQ1\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections\n * @framerResponsiveScreen\n */const FrameraugiA20Il=withCSS(Component,css,\"framer-N7HMH\");export default FrameraugiA20Il;FrameraugiA20Il.displayName=\"Home\";FrameraugiA20Il.defaultProps={height:800,width:1440};addFonts(FrameraugiA20Il,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...IntroFonts,...VideoFonts,...FormFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameraugiA20Il\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"wb3eUTEY4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"X4NeWXqP6\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Os8VCvbQ1\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerAcceptsLayoutTemplate\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"1440\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"800\",\"framerScrollSections\":\"* @framerResponsiveScreen\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{withCSS}from\"framer\";const NotFoundPage=()=>{React.useEffect(()=>{let robotsTag=document.querySelector('meta[name=\"robots\"]');if(robotsTag){robotsTag.setAttribute(\"content\",\"noindex\");}else{robotsTag=document.createElement(\"meta\");robotsTag.setAttribute(\"name\",\"robots\");robotsTag.setAttribute(\"content\",\"noindex\");document.head.appendChild(robotsTag);}},[]);return /*#__PURE__*/_jsx(\"div\",{className:\"__framer-not-found-page\",style:{display:\"flex\",height:\"100vh\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"var(--color-primary)\",background:\"var(--color-background)\",fontSize:\"var(--font-size-body)\",boxSizing:\"border-box\",fontFeatureSettings:'\"liga\", \"clig\"',fontVariantLigatures:\"common-ligatures\",textRendering:\"optimizeLegibility\"},children:/*#__PURE__*/_jsxs(\"main\",{style:{boxSizing:\"border-box\",fontFamily:'\"Inter\", sans-serif',fontWeight:500,maxWidth:\"240px\",width:\"100%\",display:\"flex\",alignItems:\"center\",flexDirection:\"column\",padding:\"0 20px\",textWrap:\"balance\"},children:[/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"21\",style:{verticalAlign:\"middle\",color:\"var(--color-primary)\",marginBottom:\"20px\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M 14 0 L 14 7 L 7 7 L 0 0 Z M 14 14 L 7 14 L 7 21 L 0 14 L 0 7 L 7 7 Z\",fill:\"currentColor\"})}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:\"0 0 10px 0\",fontSize:\"var(--font-size-title)\",color:\"var(--color-primary)\",textAlign:\"center\"},children:\"Page Not Found\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--color-secondary)\",marginBottom:\"20px\",lineHeight:\"1.5em\",textAlign:\"center\"},children:\"The page you are looking for does not exist or may have been moved.\"}),/*#__PURE__*/_jsx(\"a\",{href:\"/\",role:\"button\",style:{backgroundColor:\"var(--color-tint)\",color:\"#ffffff\",paddingLeft:\"8px\",paddingRight:\"8px\",borderRadius:\"8px\",lineHeight:\"30px\",height:\"30px\",textDecoration:\"none\",verticalAlign:\"baseline\"},children:\"Back to Home\"})]})});};const css=[`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter Placeholder;\n      src: local(\"Arial\");\n      ascent-override: 89.79%;\n      descent-override: 22.36%;\n      line-gap-override: 0%;\n      size-adjust: 107.89%;\n    }`,`.__framer-not-found-page {\n      --color-background: #ffffff;\n      --color-primary: #333;\n      --color-secondary: #888;\n      --color-tint: #0099ff;\n      --font-size-body: 12px;\n      --font-size-title: 12px;\n    }`,`@media (prefers-color-scheme: dark) {\n      .__framer-not-found-page {\n        --color-background: #000000;\n        --color-primary: #fff;\n        --color-secondary: #888;\n      }\n    }`];const component=withCSS(NotFoundPage,css);export default component;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"component\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NotFoundPage.map"],"mappings":"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"}