h&&(h=n),(s=t[2]>>e)u&&(u=s)})),new r(o,l,c,h,p,u,i)}(o,c),p=new a((function(t,e){return V.naturalOrder(t.count(),e.count())}));function u(t,e){for(var i,a=t.size(),r=0;r<1e3;){if(a>=e)return;if(r++>1e3)return;if((i=t.pop()).count()){var n=s(c,i),o=n[0],l=n[1];if(!o)return;t.push(o),l&&(t.push(l),a++)}else t.push(i),r++}}p.push(h),u(p,.75*l);for(var f=new a((function(t,e){return V.naturalOrder(t.count()*t.volume(),e.count()*e.volume())}));p.size();)f.push(p.pop());u(f,l);for(var d=new n;f.size();)d.push(f.pop());return d}}}().quantize,B=function(t){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.width=this.canvas.width=t.naturalWidth,this.height=this.canvas.height=t.naturalHeight,this.context.drawImage(t,0,0,this.width,this.height)};B.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var w=function(){};function T(e){let{cardInfo:i,isDark:a}=e;const[r,n]=(0,t.useState)([]),s=(0,t.createRef)();const o=t=>{let{descBullets:e,isDark:i}=t;return e?e.map(((t,e)=>(0,c.jsx)("li",{className:i?"subTitle dark-mode-text":"subTitle",children:t},e))):null};return(0,c.jsxs)("div",{className:a?"experience-card-dark":"experience-card",children:[(0,c.jsxs)("div",{style:{background:(l=r,"undefined"===typeof l?null:"rgb("+l.join(", ")+")")},className:"experience-banner",children:[(0,c.jsx)("div",{className:"experience-blurred_div"}),(0,c.jsx)("div",{className:"experience-div-company",children:(0,c.jsx)("h5",{className:"experience-text-company",children:i.company})}),(0,c.jsx)("img",{crossOrigin:"anonymous",ref:s,className:"experience-roundedimg",src:i.companylogo,alt:i.company,onLoad:()=>function(){const t=new w;n(t.getColor(s.current))}()})]}),(0,c.jsxs)("div",{className:"experience-text-details",children:[(0,c.jsx)("h5",{className:a?"experience-text-role dark-mode-text":"experience-text-role",children:i.role}),(0,c.jsx)("h5",{className:a?"experience-text-date dark-mode-text":"experience-text-date",children:i.date}),(0,c.jsx)("p",{className:a?"subTitle experience-text-desc dark-mode-text":"subTitle experience-text-desc",children:i.desc}),(0,c.jsx)("ul",{children:(0,c.jsx)(o,{descBullets:i.descBullets,isDark:a})})]})]});var l}function F(){const{isDark:e}=(0,t.useContext)(l);return p.ZB.display?(0,c.jsx)("div",{id:"experience",children:(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsx)("div",{className:"experience-container",id:"workExperience",children:(0,c.jsxs)("div",{children:[(0,c.jsx)("h1",{className:"experience-heading",children:"Experiences"}),(0,c.jsx)("div",{className:"experience-cards-div",children:p.ZB.experience.map(((t,i)=>(0,c.jsx)(T,{isDark:e,cardInfo:{company:t.company,desc:t.desc,date:t.date,companylogo:t.companylogo,role:t.role,descBullets:t.descBullets}},i)))})]})})})}):null}function _(){const e=(0,t.lazy)((()=>__webpack_require__.e(64).then(__webpack_require__.bind(__webpack_require__,2064)))),i=()=>null,[a,r]=(0,t.useState)([]),{isDark:n}=(0,t.useContext)(l);function s(t){r(t)}return(0,t.useEffect)((()=>{fetch("/profile.json").then((t=>{if(t.ok)return t.json();throw t})).then((t=>{s(t.data.user.pinnedItems.edges)})).catch((function(t){console.error(`${t} (because of this error, nothing is shown in place of Projects section. Also check if Projects section has been configured)`),s("Error")}))}),[]),"string"===typeof a||a instanceof String||!p.qL.display?(0,c.jsx)(i,{}):(0,c.jsx)(t.Suspense,{fallback:(0,c.jsx)(y,{}),children:(0,c.jsxs)("div",{className:"main",id:"opensource",children:[(0,c.jsx)("h1",{className:"project-title",children:"Open Source Projects"}),(0,c.jsx)("div",{className:"repo-cards-div-main",children:a.map(((t,i)=>(t||console.error(`Github Object for repository number : ${i} is undefined`),(0,c.jsx)(e,{repo:t,isDark:n},t.node.id))))}),(0,c.jsx)(v,{text:"More Projects",className:"project-button",href:p.v7.github,newTab:!0})]})})}function C(){const{isDark:e}=(0,t.useContext)(l);return p.ni.display?(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsx)("div",{className:"main",id:"projects",children:(0,c.jsxs)("div",{children:[(0,c.jsx)("h1",{className:"skills-heading",children:p.ni.title}),(0,c.jsx)("p",{className:e?"dark-mode project-subtitle":"subTitle project-subtitle",children:p.ni.subtitle}),(0,c.jsx)("div",{className:"projects-container",children:p.ni.projects.map(((t,i)=>(0,c.jsxs)("div",{className:e?"dark-mode project-card project-card-dark":"project-card project-card-light",children:[t.image?(0,c.jsx)("div",{className:"project-image",children:(0,c.jsx)("img",{src:t.image,alt:t.projectName,className:"card-image"})}):null,(0,c.jsxs)("div",{className:"project-detail",children:[(0,c.jsx)("h5",{className:e?"dark-mode card-title":"card-title",children:t.projectName}),(0,c.jsx)("p",{className:e?"dark-mode card-subtitle":"card-subtitle",children:t.projectDesc}),t.footerLink?(0,c.jsx)("div",{className:"project-card-footer",children:t.footerLink.map(((t,i)=>(0,c.jsx)("span",{className:e?"dark-mode project-tag":"project-tag",onClick:()=>{var e;(e=t.url)&&window.open(e,"_blank").focus()},children:t.name},i)))}):null]})]},i)))})]})})}):null}function M(t){let{cardInfo:e,isDark:i}=t;return(0,c.jsxs)("div",{className:i?"dark-mode certificate-card":"certificate-card",children:[(0,c.jsx)("div",{className:"certificate-image-div",children:(0,c.jsx)("img",{src:e.image,alt:e.imageAlt||"Card Thumbnail",className:"card-image"})}),(0,c.jsxs)("div",{className:"certificate-detail-div",children:[(0,c.jsx)("h5",{className:i?"dark-mode card-title":"card-title",children:e.title}),(0,c.jsx)("p",{className:i?"dark-mode card-subtitle":"card-subtitle",children:e.description})]}),(0,c.jsx)("div",{className:"certificate-card-footer",children:e.footer.map(((t,e)=>(0,c.jsx)("span",{className:i?"dark-mode certificate-tag":"certificate-tag",onClick:()=>{return e=t.url,i=t.name,void(e?window.open(e,"_blank").focus():console.log(`URL for ${i} not found`));var e,i},children:t.name},e)))})]})}function I(){const{isDark:e}=(0,t.useContext)(l);return p.kD.display?(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsx)("div",{className:"main",id:"achievements",children:(0,c.jsxs)("div",{className:"achievement-main-div",children:[(0,c.jsxs)("div",{className:"achievement-header",children:[(0,c.jsx)("h1",{className:e?"dark-mode heading achievement-heading":"heading achievement-heading",children:p.kD.title}),(0,c.jsx)("p",{className:e?"dark-mode subTitle achievement-subtitle":"subTitle achievement-subtitle",children:p.kD.subtitle})]}),(0,c.jsx)("div",{className:"achievement-cards-div",children:p.kD.achievementsCards.map(((t,i)=>(0,c.jsx)(M,{isDark:e,cardInfo:{title:t.title,description:t.subtitle,image:t.image,imageAlt:t.imageAlt,footer:t.footerLink}},i)))})]})})}):null}function O(t){let{blog:e,isDark:i}=t;return(0,c.jsx)("div",{onClick:()=>{return t=e.url,i=e.title,void(t?window.open(t,"_blank").focus():console.log(`URL for ${i} not found`));var t,i},children:(0,c.jsx)("div",{className:i?"blog-container dark-mode":"blog-container",children:(0,c.jsxs)("a",{className:i?"dark-mode blog-card blog-card-shadow":"blog-card",href:"#blog",children:[(0,c.jsx)("h3",{className:i?"small-dark blog-title":"blog-title",children:e.title}),(0,c.jsx)("p",{className:i?"small-dark small":"small",children:e.description}),(0,c.jsx)("div",{className:"go-corner",children:(0,c.jsx)("div",{className:"go-arrow",children:"\u2192"})})]})})})}function L(){const{isDark:e}=(0,t.useContext)(l),[i,a]=(0,t.useState)([]);function r(t){a(t)}return(0,t.useEffect)((()=>{if("true"===p.iZ.displayMediumBlogs){(()=>{fetch("/blogs.json").then((t=>{if(t.ok)return t.json()})).then((t=>{r(t.items)})).catch((function(t){console.error(`${t} (because of this error Blogs section could not be displayed. Blogs section has reverted to default)`),r("Error"),p.iZ.displayMediumBlogs="false"}))})()}}),[]),p.iZ.display?(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsxs)("div",{className:"main",id:"blogs",children:[(0,c.jsxs)("div",{className:"blog-header",children:[(0,c.jsx)("h1",{className:"blog-header-text",children:p.iZ.title}),(0,c.jsx)("p",{className:e?"dark-mode blog-subtitle":"subTitle blog-subtitle",children:p.iZ.subtitle})]}),(0,c.jsx)("div",{className:"blog-main-div",children:(0,c.jsx)("div",{className:"blog-text-div",children:"true"!==p.iZ.displayMediumBlogs||"Error"===i?p.iZ.blogs.map(((t,i)=>(0,c.jsx)(O,{isDark:e,blog:{url:t.url,image:t.image,title:t.title,description:t.description}},i))):i.map(((t,i)=>{return(0,c.jsx)(O,{isDark:e,blog:{url:t.link,title:t.title,description:(a=t.content,"string"===typeof a?a.split("p>").filter((t=>!t.includes(">"))).map((t=>t.replace("",".").replace("<",""))).join(" "):NaN)}},i);var a}))})})]})}):null}function R(){const{isDark:e}=(0,t.useContext)(l);return(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"5px",children:(0,c.jsx)("div",{className:"footer-div",children:(0,c.jsx)("p",{className:e?"dark-mode footer-text":"footer-text",children:n()("Made with \u2764\ufe0f by Pritish Barabde")})})})}function N(t){let{talkDetails:e}=t;return(0,c.jsx)("div",{children:(0,c.jsx)("div",{className:"container",children:(0,c.jsxs)("div",{className:e.isDark?"dark-rectangle rectangle":"rectangle",children:[(0,c.jsx)("div",{className:"diagonal-fill"}),(0,c.jsx)("div",{className:"talk-card-title",children:e.title}),(0,c.jsx)("p",{className:"talk-card-subtitle",children:e.subtitle}),(0,c.jsxs)("div",{className:"card-footer-button-div",children:[(0,c.jsx)("a",{href:e.slides_url,target:"_",className:"talk-button",children:"Slides"}),(0,c.jsx)("a",{href:e.event_url,target:"_",className:"talk-button",children:"Event"})]})]})})})}function j(){const{isDark:e}=(0,t.useContext)(l);return p.GR.display?(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsx)("div",{className:"main",id:"talks",children:(0,c.jsxs)("div",{className:"talk-header",children:[(0,c.jsx)("h1",{className:"talk-header-title",children:p.GR.title}),(0,c.jsx)("p",{className:e?"dark-mode talk-header-subtitle":"subTitle talk-header-subtitle",children:p.GR.subtitle}),p.GR.talks.map(((t,i)=>(0,c.jsx)(N,{talkDetails:{title:t.title,subtitle:t.subtitle,slides_url:t.slides_url,event_url:t.event_url,image:t.image,isDark:e}},i)))]})})}):null}function z(){const{isDark:e}=(0,t.useContext)(l);return p.Of||console.error("podcastSection object for Podcast section is missing"),p.Of.display?(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsxs)("div",{className:"main",children:[(0,c.jsxs)("div",{className:"podcast-header",children:[(0,c.jsx)("h1",{className:"podcast-header-title",children:p.Of.title}),(0,c.jsx)("p",{className:e?"dark-mode podcast-header-subtitle":"subTitle podcast-header-subtitle",children:p.Of.subtitle})]}),(0,c.jsx)("div",{className:"podcast-main-div",children:p.Of.podcast.map(((t,e)=>(t||console.log(`Podcast link for ${p.Of.title} is missing`),(0,c.jsx)("div",{children:(0,c.jsx)("iframe",{className:"podcast",src:t,frameBorder:"0",scrolling:"no",title:"Podcast"})},e))))})]})}):null}function H(e){let{school:i}=e;const a=(0,t.createRef)(),r=t=>{let{descBullets:e}=t;return e?e.map(((t,e)=>(0,c.jsx)("li",{className:"subTitle",children:t},e))):null},{isDark:n}=(0,t.useContext)(l);return i.logo||console.error(`Image of ${i.name} is missing in education section`),(0,c.jsxs)("div",{children:[(0,c.jsx)(f.pT,{left:!0,duration:1e3,children:(0,c.jsxs)("div",{className:"education-card",children:[i.logo&&(0,c.jsx)("div",{className:"education-card-left",children:(0,c.jsx)("img",{crossOrigin:"anonymous",ref:a,className:"education-roundedimg",src:i.logo,alt:i.schoolName})}),(0,c.jsxs)("div",{className:"education-card-right",children:[(0,c.jsx)("h5",{className:"education-text-school",children:i.schoolName}),(0,c.jsxs)("div",{className:"education-text-details",children:[(0,c.jsx)("h5",{className:n?"dark-mode education-text-subHeader":"education-text-subHeader",children:i.subHeader}),(0,c.jsx)("p",{className:(n?"dark-mode":"")+" education-text-duration",children:i.duration}),(0,c.jsx)("p",{className:"education-text-desc",children:i.desc}),(0,c.jsx)("div",{className:"education-text-bullets",children:(0,c.jsx)("ul",{children:(0,c.jsx)(r,{descBullets:i.descBullets})})})]})]})]})}),(0,c.jsx)(f.Mi,{left:!0,duration:2e3,children:(0,c.jsx)("div",{className:"education-card-border"})})]})}function Z(){return p.E5.display?(0,c.jsxs)("div",{className:"education-section",id:"education",children:[(0,c.jsx)("h1",{className:"education-heading",children:"Education"}),(0,c.jsx)("div",{className:"education-card-container",children:p.E5.schools.map(((t,e)=>(0,c.jsx)(H,{school:t},e)))})]}):null}function q(){function t(){document.body.scrollTop>20||document.documentElement.scrollTop>20?document.getElementById("topButton").style.visibility="visible":document.getElementById("topButton").style.visibility="hidden"}return window.onscroll=function(){t()},window.onload=function(){t()},(0,c.jsx)("button",{onClick:function(){document.body.scrollTop=0,document.documentElement.scrollTop=0},id:"topButton",title:"Go to top",children:(0,c.jsx)("i",{className:"fas fa-angle-up","aria-hidden":"true"})})}function W(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function U(t){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(t)}function $(t){var e=function(t,e){if("object"!==U(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!==U(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===U(e)?e:String(e)}function Y(t,e){for(var i=0;i=125)&&(r>250&&n>250&&s>250||c.push([r,n,s]));return c}(r.getImageData().data,r.width*r.height,a.quality),s=P(n,a.colorCount);return s?s.palette():null},w.prototype.getColorFromUrl=function(t,e,i){var a=this,r=document.createElement("img");r.addEventListener("load",(function(){var n=a.getPalette(r,5,i);e(n[0],t)})),r.src=t},w.prototype.getImageData=function(t,e){var a=new XMLHttpRequest;a.open("GET",t,!0),a.responseType="arraybuffer",a.onload=function(){if(200==this.status){var t=new Uint8Array(this.response);i=t.length;for(var a=new Array(i),r=0;r(0,c.jsx)(y,{}),ht="
Can't load? Check privacy protection settings
";var pt=window.screen.width;function ut(){const{isDark:e}=(0,t.useContext)(l);return p.dq.display?(p.dq.userName||console.error("Twitter username for twitter section is missing"),p.dq.userName?(0,c.jsx)(t.Suspense,{fallback:ct(),children:(0,c.jsx)("div",{className:"tw-main-div",id:"twitter",children:(0,c.jsx)("div",{className:"centerContent",children:(0,c.jsx)(lt,{sourceType:"profile",screenName:p.dq.userName,options:{height:400,width:{widthScreen:pt}},placeholder:ct(),autoHeight:!1,borderColor:"#fff",theme:e?"dark":"light",noFooter:!0,onload:void setTimeout((function(){document.getElementById("twitter").innerHTML.includes("iframe")||(document.getElementById("twitter").innerHTML=ht)}),1e4)},e?"1":"2")})})}):null):null}const ft=JSON.parse('{"v":"5.7.1","fr":30,"ip":0,"op":30,"w":1920,"h":1080,"nm":"Lottie Tutorial New","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"evelope","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[959.906,561.464,0],"to":[0,-7.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":14,"s":[959.906,517.464,0],"to":[0,0,0],"ti":[0,-7.333,0]},{"t":28.0000011404634,"s":[959.906,561.464,0]}],"ix":2},"a":{"a":0,"k":[210.768,158.138,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.26,0],[0,0],[0,7.261],[0,0],[0,0],[-3.071,0],[-2.48,2.146],[0,0],[0,0]],"o":[[0,0],[-7.26,0],[0,0],[0,0],[2.48,2.145],[3.071,0],[0,0],[0,0],[-0.001,7.26]],"v":[[171.045,131.573],[-171.044,131.573],[-184.202,118.415],[-184.202,-102.753],[-8.622,49.417],[0,52.629],[8.622,49.417],[184.203,-102.753],[184.203,118.416]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-1.555,-0.647],[0,0],[0,0],[-1.788,0]],"o":[[1.788,0],[0,0],[0,0],[1.554,-0.646],[0,0]],"v":[[171.045,-131.573],[176.088,-130.555],[0,22.061],[-176.088,-130.555],[-171.045,-131.573]],"c":true},"ix":2},"nm":"Trac\xe9 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[21.767,0],[0,0],[0,-21.766],[0,0],[-21.767,0],[0,0],[0,21.766],[0,0]],"o":[[0,0],[-21.767,0],[0,0],[0,21.766],[0,0],[21.767,0],[0,0],[0,-21.766]],"v":[[171.045,-157.888],[-171.044,-157.888],[-210.517,-118.416],[-210.517,118.416],[-171.044,157.888],[171.045,157.888],[210.517,118.416],[210.517,-118.416]],"c":true},"ix":2},"nm":"Trac\xe9 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Fusionner les trac\xe9s 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.09019607843137255,0.3137254901960784,0.6745098039215687,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[210.767,158.138],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"evelope-shadow","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[1043.578,612.154,0],"to":[0,-7.333,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":14,"s":[1043.578,568.154,0],"to":[0,0,0],"ti":[0,-7.333,0]},{"t":28.0000011404634,"s":[1043.578,612.154,0]}],"ix":2},"a":{"a":0,"k":[115.3,100.942,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.181,185.983],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[115.05,-100.692],[115.05,77.015],[91.371,100.692],[-115.05,100.692]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[115.3,100.942],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"wave","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[775.703,248.429,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[775.703,254.42900000000003,0],"to":[0,0,0],"ti":[0,0,0]},{"t":28.0000011404634,"s":[775.703,248.429,0]}],"ix":2},"a":{"a":0,"k":[76.35,61.296,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18.541,-18.541],[0,0]],"o":[[0,0],[18.541,18.541],[0,0]],"v":[[-33.595,0],[1.267,0],[33.595,0]],"c":false},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":17.102,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[76.35,61.296],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circle1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[666.721,728.644,0],"to":[0,2.167,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[666.721,741.644,0],"to":[0,0,0],"ti":[0,2.167,0]},{"t":28.0000011404634,"s":[666.721,728.644,0]}],"ix":2},"a":{"a":0,"k":[57.806,57.806,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.313],[8.313,0],[0,8.313],[-8.312,0]],"o":[[0,8.313],[-8.312,0],[0,-8.313],[8.313,0]],"v":[[15.051,0],[0,15.051],[-15.051,0],[0,-15.051]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":17.102,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[57.806,57.806],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"plus","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[1257.728,623.464,0],"to":[0,1.589,0],"ti":[0,-0.535,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[1257.728,633,0],"to":[0,0.535,0],"ti":[0,1.054,0]},{"t":28.0000011404634,"s":[1257.728,626.677,0]}],"ix":2},"a":{"a":0,"k":[33.16,8.725,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[32.91,8.475],[-32.91,8.475],[-32.91,-8.475],[32.91,-8.475]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.16,8.725],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"plus2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[1257.728,623.264,0],"to":[0,1.623,0],"ti":[0,-0.569,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[1257.728,633,0],"to":[0,0.569,0],"ti":[0,1.054,0]},{"t":28.0000011404634,"s":[1257.728,626.677,0]}],"ix":2},"a":{"a":0,"k":[8.724,33.16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-8.474,-32.91],[8.474,-32.91],[8.474,32.91],[-8.474,32.91]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[8.724,33.16],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"circle2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[1249.252,355.177,0],"to":[0,-1,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14,"s":[1249.252,349.177,0],"to":[0,0,0],"ti":[0,-1,0]},{"t":28.0000011404634,"s":[1249.252,355.177,0]}],"ix":2},"a":{"a":0,"k":[67.097,67.097,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-13.444],[13.444,0],[0,13.444],[-13.444,0]],"o":[[0,13.444],[-13.444,0],[0,-13.444],[13.444,0]],"v":[[24.343,0],[0,24.342],[-24.343,0],[0,-24.342]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":17.102,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[67.097,67.097],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"shadow","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[959.905,865.667,0],"ix":2},"a":{"a":0,"k":[153.686,22.08,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":14,"s":[81,81,100]},{"t":28.0000011404634,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-12.057],[84.742,0],[0,12.057],[-84.74,0]],"o":[[0,12.057],[-84.74,0],[0,-12.057],[84.742,0]],"v":[[153.436,-0.001],[-0.001,21.831],[-153.436,-0.001],[-0.001,-21.831]],"c":true},"ix":2},"nm":"Trac\xe9 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7372549019607844,0.8431372549019608,0.9647058823529412,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[153.686,22.081],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30.0000012219251,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":395.00001608868,"cm":"2","dr":0}]}');function dt(){const{isDark:e}=(0,t.useContext)(l);return(0,c.jsx)(f.pT,{bottom:!0,duration:1e3,distance:"20px",children:(0,c.jsx)("div",{className:"main contact-margin-top",id:"contact",children:(0,c.jsxs)("div",{className:"contact-div-main",children:[(0,c.jsxs)("div",{className:"contact-header",children:[(0,c.jsx)("h1",{className:"heading contact-title",children:p.ns.title}),(0,c.jsx)("p",{className:e?"dark-mode contact-subtitle":"subTitle contact-subtitle",children:p.ns.subtitle}),(0,c.jsxs)("div",{className:e?"dark-mode contact-text-div":"contact-text-div",children:[(0,c.jsxs)("a",{className:"contact-detail-designation",children:['"',p.ns.designation,'"']}),(0,c.jsx)("br",{}),(0,c.jsx)("br",{}),(0,c.jsxs)("a",{className:"contact-detail-location",href:"https://goo.gl/maps/WSBgwjXmkdZyYayX7",target:"_blank",children:[(0,c.jsx)("i",{class:"fas fa-map-marker-alt"})," ",p.ns.location]}),(0,c.jsx)("br",{}),(0,c.jsx)("br",{}),(0,c.jsx)("br",{}),(0,c.jsx)("br",{}),(0,c.jsx)("a",{className:"contact-detail-email",href:"mailto:"+p.ns.email_address,children:p.ns.email_address}),(0,c.jsx)("br",{}),(0,c.jsx)("br",{}),(0,c.jsx)(g.Z,{})]})]}),(0,c.jsx)("div",{className:"contact-image-div",children:p.jS.animated?(0,c.jsx)(k,{animationData:ft}):(0,c.jsx)("img",{alt:"Man working",src:__webpack_require__(8666)})})]})})})}const mt=(0,t.lazy)((()=>__webpack_require__.e(769).then(__webpack_require__.bind(__webpack_require__,6769))));function xt(){const[e,i]=(0,t.useState)([]);function a(t){i(t)}return(0,t.useEffect)((()=>{if("true"===p.qL.showGithubProfile){(()=>{fetch("/profile.json").then((t=>{if(t.ok)return t.json()})).then((t=>{a(t.data.user)})).catch((function(t){console.error(`${t} (because of this error GitHub contact section could not be displayed. Contact section has reverted to default)`),a("Error"),p.qL.showGithubProfile="false"}))})()}}),[]),p.qL.display&&"true"===p.qL.showGithubProfile&&!("string"===typeof e||e instanceof String)?(0,c.jsx)(t.Suspense,{fallback:(0,c.jsx)(y,{}),children:(0,c.jsx)(mt,{prof:e},e.id)}):(0,c.jsx)(dt,{})}function yt(){const{isDark:e}=(0,t.useContext)(l);return(0,c.jsxs)("div",{className:e?"dark-mode splash-container":"splash-container",children:[(0,c.jsx)("div",{className:"splash-animation-container",children:(0,c.jsx)(k,{animationData:p.gP.animation})}),(0,c.jsxs)("div",{className:"splash-title-container",children:[(0,c.jsx)("span",{className:"grey-color",children:" <"}),(0,c.jsx)("span",{className:"splash-title",children:p.Qw.username}),(0,c.jsx)("span",{className:"grey-color",children:"/>"})]})]})}const kt=()=>{const e=window.matchMedia("(prefers-color-scheme: dark)"),[i,a]=((e,i)=>{const[a,r]=(0,t.useState)((()=>{try{const t=window.localStorage.getItem(e);return t?JSON.parse(t):i}catch(t){return console.log(t),i}}));return[a,t=>{try{const i=t instanceof Function?t(a):t;r(i),window.localStorage.setItem(e,JSON.stringify(i))}catch(i){console.log(i)}}]})("isDark",e.matches),[r,n]=(0,t.useState)(!0);(0,t.useEffect)((()=>{if(p.gP.enabled){const t=setTimeout((()=>n(!1)),p.gP.duration);return()=>{clearTimeout(t)}}}),[]);return(0,c.jsx)("div",{className:i?"dark-mode":null,children:(0,c.jsx)(o,{value:{isDark:i,changeTheme:()=>{a(!i)}},children:r&&p.gP.enabled?(0,c.jsx)(yt,{}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(u,{}),(0,c.jsx)(b,{}),(0,c.jsx)(D,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Z,{}),(0,c.jsx)(F,{}),(0,c.jsx)(_,{}),(0,c.jsx)(C,{}),(0,c.jsx)(I,{}),(0,c.jsx)(L,{}),(0,c.jsx)(j,{}),(0,c.jsx)(ut,{}),(0,c.jsx)(z,{}),(0,c.jsx)(xt,{}),(0,c.jsx)(R,{}),(0,c.jsx)(q,{})]})})})};const gt=function(){return(0,c.jsx)("div",{children:(0,c.jsx)(kt,{})})};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));e.render((0,c.jsx)(gt,{}),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((t=>{t.unregister()}))})()})();
+//# sourceMappingURL=main.c7aa0dbd.js.map
\ No newline at end of file
diff --git a/static/js/main.c7aa0dbd.js.LICENSE.txt b/static/js/main.c7aa0dbd.js.LICENSE.txt
new file mode 100644
index 0000000..c21bd35
--- /dev/null
+++ b/static/js/main.c7aa0dbd.js.LICENSE.txt
@@ -0,0 +1,55 @@
+/*
+object-assign
+(c) Sindre Sorhus
+@license MIT
+*/
+
+/*!
+ * $script.js JS loader & dependency manager
+ * https://github.com/ded/script.js
+ * (c) Dustin Diaz 2014 | License MIT
+ */
+
+/*!
+ Copyright (c) 2015 Jed Watson.
+ Based on code that is Copyright 2013-2015, Facebook, Inc.
+ All rights reserved.
+*/
+
+/** @license React v0.19.1
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.14.0
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.14.0
+ * react-jsx-runtime.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.14.0
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+//! goToAndStop must be relative to the start of the current segment
diff --git a/static/js/main.c7aa0dbd.js.map b/static/js/main.c7aa0dbd.js.map
new file mode 100644
index 0000000..07d1757
--- /dev/null
+++ b/static/js/main.c7aa0dbd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/main.c7aa0dbd.js","mappings":"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","sources":["assets/images/contactMailDark.svg","assets/images/developerActivity.svg","assets/images/manOnTable.svg","assets/images/skill.svg","components/socialMedia/SocialMedia.js","portfolio.js","../node_modules/exenv/index.js","../node_modules/lottie-react/compiled/hooks/useLottie.js","../node_modules/lottie-react/compiled/hooks/useLottieInteractivity.js","../node_modules/lottie-react/compiled/components/Lottie.js","../node_modules/lottie-web/build/player/lottie.js","../node_modules/object-assign/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/raf/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-easy-emoji/index.js","../node_modules/react-easy-emoji/lib/makeTwemojiRenderer.js","../node_modules/react-easy-emoji/lib/replaceEmoji.js","../node_modules/react-headroom/dist/index.js","../node_modules/react-headroom/dist/shouldUpdate.js","../node_modules/react-headroom/dist/supportsPassiveEvents.js","../node_modules/react-proptype-conditional-require/isRequiredIf.js","../node_modules/react-reveal/Bounce.js","../node_modules/react-reveal/Fade.js","../node_modules/react-reveal/Flip.js","../node_modules/react-reveal/LightSpeed.js","../node_modules/react-reveal/Reveal.js","../node_modules/react-reveal/RevealBase.js","../node_modules/react-reveal/Roll.js","../node_modules/react-reveal/Rotate.js","../node_modules/react-reveal/Slide.js","../node_modules/react-reveal/Zoom.js","../node_modules/react-reveal/globals.js","../node_modules/react-reveal/index.js","../node_modules/react-reveal/wrap.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/scriptjs/dist/script.js","../node_modules/shallowequal/index.js","../node_modules/string-replace-to-array/string-replace-to-array.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","contexts/StyleContext.js","components/ToggleSwitch/ToggleSwitch.js","components/header/Header.js","containers/loading/Loading.js","components/displayLottie/DisplayLottie.js","components/button/Button.js","containers/greeting/Greeting.js","components/softwareSkills/SoftwareSkill.js","containers/skills/Skills.js","containers/skillProgress/skillProgress.js","../node_modules/colorthief/dist/color-thief.mjs","components/experienceCard/ExperienceCard.js","containers/workExperience/WorkExperience.js","containers/projects/Projects.js","containers/StartupProjects/StartupProject.js","components/achievementCard/AchievementCard.js","containers/achievement/Achievement.js","components/blogCard/BlogCard.js","containers/blogs/Blogs.js","components/footer/Footer.js","components/talkCard/TalkCard.js","containers/talks/Talks.js","containers/podcast/Podcast.js","components/educationCard/EducationCard.js","containers/education/Education.js","containers/topbutton/Top.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-twitter-embed/src/components/twitter-widget-url.js","../node_modules/react-twitter-embed/src/components/TwitterTimelineEmbed.js","../node_modules/react-twitter-embed/src/components/TwitterShareButton.js","../node_modules/react-twitter-embed/src/components/TwitterFollowButton.js","../node_modules/react-twitter-embed/src/components/TwitterHashtagButton.js","../node_modules/react-twitter-embed/src/components/TwitterMentionButton.js","../node_modules/react-twitter-embed/src/components/TwitterTweetEmbed.js","../node_modules/react-twitter-embed/src/components/TwitterMomentShare.js","../node_modules/react-twitter-embed/src/components/TwitterDMButton.js","../node_modules/react-twitter-embed/src/components/TwitterVideoEmbed.js","../node_modules/react-twitter-embed/src/components/TwitterOnAirButton.js","containers/twitter-embed/twitter.js","containers/contact/Contact.js","containers/profile/Profile.js","containers/splashScreen/SplashScreen.js","hooks/useLocalStorage.js","containers/Main.js","App.js","serviceWorker.js","index.js"],"sourcesContent":["var _defs, _path, _ellipse, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _g, _circle, _ellipse2, _path84, _path85, _path86, _path87, _path88, _path89, _path90, _path91;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgContactMailDark(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"94c1f45f-2d92-458e-bbfe-f6c69da92e14\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 1034.95,\n height: 831.61,\n viewBox: \"0 0 1034.95 831.61\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"eb1b6581-0e6c-46f0-8ed9-49203ffc7122\",\n x1: 924.49,\n y1: 836.62,\n x2: 924.49,\n y2: 217.05,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"gray\",\n stopOpacity: 0.25\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.54,\n stopColor: \"gray\",\n stopOpacity: 0.12\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"gray\",\n stopOpacity: 0.1\n })))), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"envelope\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M683.84,129.27C617.49,127.36,554.3,109.52,494,90S373.84,48.89,309.08,38.55c-41.65-6.65-89.28-7.59-122.84,11C153.94,67.44,143.51,98.33,137.9,127c-4.23,21.56-6.71,44.26,4.86,64.44,8,14,22.29,25.79,32.15,39.21,34.3,46.71,10.06,104.3-27.12,149.9-17.44,21.39-37.67,41.8-51.13,64.57S77,494,88.75,517.2c11.67,23,39.48,40.31,69.61,52.48,61.19,24.7,133.3,31.77,203.61,35.78,155.64,8.86,312.12,5,468.18,1.18,57.75-1.42,115.76-2.86,172.58-10.3,31.55-4.13,64.12-10.68,87-26.5,29.08-20.08,36.28-54.09,16.8-79.27-32.68-42.24-123-52.73-145.89-98.06-12.58-24.95.34-52.75,18.61-75.89,39.2-49.64,104.91-93.19,108.37-149.93,2.37-39-29.21-78-78.05-96.44-51.19-19.33-122.18-16.9-160,15.1C810.76,118.29,742.42,131,683.84,129.27Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 435.45,\n cy: 802.29,\n rx: 290.75,\n ry: 29.32,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252,833.31S239.1,760.22,191.22,724c-20.09-15.2-34.79-35.87-41.21-59.41a179.25,179.25,0,0,1-5.78-34.1\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"none\",\n stroke: \"#535461\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.21,607.49c4,7.83,30.73,23.68,30.73,23.68s3.36-29.61-.67-37.45-14-11.11-22.32-7.31S110.18,599.65,114.21,607.49Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.66,662.28c7.9,4.51,39.44,4.11,39.44,4.11S136.87,639.81,129,635.3s-18.16-2.13-22.94,5.32S103.77,657.77,111.66,662.28Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.87,736c9.22.13,36.23-15.25,36.23-15.25s-26.49-16.16-35.72-16.3-16.82,6.82-17,15.53S141.64,735.84,150.87,736Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M193.83,785.43c9.06,1.61,38.44-9.25,38.44-9.25S209.05,756,200,754.42s-17.8,4-19.5,12.6S184.76,783.83,193.83,785.43Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M183.44,653.45c-3.15,8.19-28,26.55-28,26.55s-6.58-29.12-3.43-37.31,12.74-12.42,21.41-9.45S186.59,645.27,183.44,653.45Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.91,711.89c-5.6,6.93-35.12,17.43-35.12,17.43s3-29.65,8.56-36.57a17.38,17.38,0,0,1,23.42-3A15.2,15.2,0,0,1,232.91,711.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M272.73,774.92c-4.28,7.72-31.49,22.78-31.49,22.78s-2.39-29.69,1.89-37.41,14.37-10.7,22.55-6.66S277,767.2,272.73,774.92Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.21,607.49c4,7.83,30.73,23.68,30.73,23.68s3.36-29.61-.67-37.45-14-11.11-22.32-7.31S110.18,599.65,114.21,607.49Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.66,662.28c7.9,4.51,39.44,4.11,39.44,4.11S136.87,639.81,129,635.3s-18.16-2.13-22.94,5.32S103.77,657.77,111.66,662.28Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.87,736c9.22.13,36.23-15.25,36.23-15.25s-26.49-16.16-35.72-16.3-16.82,6.82-17,15.53S141.64,735.84,150.87,736Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M193.83,785.43c9.06,1.61,38.44-9.25,38.44-9.25S209.05,756,200,754.42s-17.8,4-19.5,12.6S184.76,783.83,193.83,785.43Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M183.44,653.45c-3.15,8.19-28,26.55-28,26.55s-6.58-29.12-3.43-37.31,12.74-12.42,21.41-9.45S186.59,645.27,183.44,653.45Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.91,711.89c-5.6,6.93-35.12,17.43-35.12,17.43s3-29.65,8.56-36.57a17.38,17.38,0,0,1,23.42-3A15.2,15.2,0,0,1,232.91,711.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M272.73,774.92c-4.28,7.72-31.49,22.78-31.49,22.78s-2.39-29.69,1.89-37.41,14.37-10.7,22.55-6.66S277,767.2,272.73,774.92Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.25\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M250.38,831.39s19.57-71.76-8.65-123.2c-11.84-21.58-16.41-46.1-12.17-70.08a180,180,0,0,1,9.35-33.38\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"none\",\n stroke: \"#535461\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.33,572.22c.32,8.7,17.93,33.41,17.93,33.41s15.78-25.79,15.46-34.5-8.05-15.52-17.27-15.22S221,563.51,221.33,572.22Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M195.49,621.34c5.28,7.14,34.28,18.84,34.28,18.84s-1.6-29.74-6.88-36.89a17.35,17.35,0,0,0-23.26-3.91A15.23,15.23,0,0,0,195.49,621.34Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.69,703.71c8.38,3.65,39.68-.07,39.68-.07s-17.29-24.92-25.67-28.57-18.3-.2-22.17,7.71S191.32,700.06,199.69,703.71Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M217.74,765.36c7.61,4.94,39.12,6.25,39.12,6.25s-12.58-27.31-20.18-32.24a17.33,17.33,0,0,0-23.23,4A15.23,15.23,0,0,0,217.74,765.36Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M264.9,640.73c-6.4,6.28-37,13.57-37,13.57s6.49-29.15,12.88-35.43a17.42,17.42,0,0,1,23.63-.44A15.16,15.16,0,0,1,264.9,640.73Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285,713.08c-8.09,4.19-39.58,2.5-39.58,2.5s15.43-26,23.52-30.16,18.25-1.39,22.68,6.25S293.13,708.89,285,713.08Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M294.39,785.94c-7.23,5.42-38.57,8.78-38.57,8.78s10.56-28.07,17.79-33.49a17.38,17.38,0,0,1,23.47,2.55A15.19,15.19,0,0,1,294.39,785.94Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1074.74,412.36c.6-1.64-3.9-10.73-3.9-11.18s-4.65-5.52-4.65-8.35-6.16-8.94-6.16-8.94-8.25-3.43-9.15-10.88-9.89-7.61-9.91-7.61h0s0-.68.06-1.71c0-2.32-.07-6.46-1.11-8.72a8.85,8.85,0,0,0-5.11-4.33s-.9-5.81-2.7-7.6A8.56,8.56,0,0,1,1030,335c.9-2.83-1.2-10-5.56-11s-9.3-2.68-9.3-2.68-.49.09-1.2.19l-.6-.19a26.78,26.78,0,0,1-3.16.39,3.85,3.85,0,0,1-2.54-.84c-1.51-1.64-13.67-4.77-15.92-4.77s-8.71-3-8.71-3l-6.44-4.92c-1.81-1.38-5.16-7-5.65-7.79l-.06-.11h0l0,0a27,27,0,0,1-1.36-3.92v0a35.44,35.44,0,0,0,5.58-7.67c.16-.29.3-.59.44-.88a3.59,3.59,0,0,0,1-.16c.13,0,.26-.1.39-.15a6.55,6.55,0,0,0,3.19-3.81h0c.11-.32.21-.65.29-1,0-.11,0-.23.07-.34s.1-.45.14-.68.05-.26.07-.38.07-.45.1-.68,0-.25,0-.37c0-.29.07-.57.11-.85h0a30.28,30.28,0,0,1,.47-3.15s0,0,0,0h0c.9-4,3.33-7.46,5.06-11.2h0c.25-.53.48-1.08.69-1.63s.42-1.2.59-1.81l.15-.56c.11-.44.21-.89.3-1.34,0-.2.08-.4.11-.6.1-.62.19-1.24.24-1.87A23.18,23.18,0,0,0,987,246.72c-1.13-2.8-2.8-5.32-3.94-8.12-1.73-4.24-2.18-9-4.29-13.08-3.53-6.78-11.85-10.17-18.69-7.62-3.27,1.21-6.1,3.57-9.41,4.63-4.44,1.41-9.18.35-13.77-.29s-9.67-.69-13.36,2.31c-4.25,3.45-5.42,9.94-9.41,13.73-1.67,1.59-3.76,2.61-5.53,4.08a9,9,0,0,0-2.77,3.79c0,.11-.07.21-.1.32s-.07.25-.1.38-.06.3-.08.45,0,.21,0,.31a5.33,5.33,0,0,0,0,.8h0a6.54,6.54,0,0,0,.13.75c0,.07,0,.14,0,.21s.12.41.19.62a.56.56,0,0,0,0,.12c.08.23.17.45.26.68l.15.34.12.28a17.38,17.38,0,0,1,1.39,3.46,3.91,3.91,0,0,1-.13,2.29,7,7,0,0,1-1.67,2.18,31,31,0,0,0-6.77,10.85c-.17.46-.34.92-.49,1.4v0l.21.05a8.52,8.52,0,0,0,1.31.29c.25,0,.5.06.76.08a11.75,11.75,0,0,0,3.06-.24c.25-.05.51-.11.76-.18a18.87,18.87,0,0,0,3-1.11c0,.3,0,.61,0,.91s0,.34,0,.51a35.47,35.47,0,0,0,19.69,31.71c0,.32.09.65.13,1s.07.54.1.81l-.4-.39s-2.71-1.34-5.26,2.53-7.35,5.67-7.35,5.67-27.32,4.32-28.37,7.9l-12.76.74s-4.51.6-5,10-2.85,10.29-2.85,10.29-5.25,9.24-4.8,14-4,7.16-4,7.16l-.6,8.49s-5-.74-6.31,5.07-3.75,8.5-3.75,8.5-8.26,6.86-8.71,12.67l-5.1,3.13s-11.86-2.68-14.56-7.45l-.83-.78a.75.75,0,0,1-.07-.12.28.28,0,0,0,0,.06c-1.78-1.68-5.54-5.18-5-4.38a3.64,3.64,0,0,1,.24,2.4l-.88-1-2.36-2.62s-19.17-18-30.43-19.38h0c-.15-.29-.87-3.12-2.79-1.35a15.65,15.65,0,0,0-.11,23l17.95,16.77.46.34,3.86,5c-.65,1.56-1.2,3.07-1.65,4.45,0,0,0,.09-.05.13-.09.3-.19.58-.28.86l-.09.3c-.08.28-.17.56-.25.82s-.09.33-.14.49,0,.19-.08.28c-.42,1.5-.7,2.65-.84,3.29l-1-.31,1,.42c0,.05,0,.11,0,.16l-.06.31.92.4c5.26,2.29,31.51,13.8,32.86,15.55,1.5,1.93,11.4,7.6,20.41,2.83s11-12.08,11-12.08,8.7-12.07,9-13.86,7.06-3.88,7.06-3.88.6,20-2.85,27.28-9.91,39.66-9.91,39.66a4.76,4.76,0,0,1,1.28-.08c-.24,1.17-.38,1.87-.38,1.87a4.46,4.46,0,0,1,1.59,0c-.48,3.68-3.24,20.76-3.24,20.76s-.9,7.75-2.4,10.43-1.65,16.7-1.65,16.7l-2.4,10.13a19.57,19.57,0,0,0,.91,1.75v0s2.58,5.72,6.91,8.93a18.3,18.3,0,0,1-1.21,4.64,16.07,16.07,0,0,0-1.2,7.15s-2.55,11.48-2.25,14.76-1.65,11.33-1.65,11.33L854.54,613s-1.8,22.51-.9,28.63-.61,14.45-.61,14.45,1.8,17.74,1.35,19.68-2.7,10.28-1.35,14.91.61,17.29.61,17.29.9,16.69,1.94,22.06-.3,12.23-.3,12.23-1,11.47-1.5,11.47-4.35,7.9,3.6,15.66,3,6.55,3,6.55-6.3-3.13-5.56,3.28c.72,6.1,1.71,4.51,1.8,4.34l-1.5,4.9,1,.15-.87,1a23.29,23.29,0,0,1-3,3.14c-1.81,1.34-2,4.32-2,4.32s-11.1,12.08-21.46,18.19c-5.45,3.22-10.15,5.94-12.2,8.19-1.85,2-1.55,3.66,2.29,4.93,8.11,2.68,22.36,4,32.57.6a38.06,38.06,0,0,0,15.91-10.29s6.46-3.28,12.77-2.09,18.91-7,18.91-7l-.23-2.12-.67-6.09a4.79,4.79,0,0,1-1.05-3.72,19.31,19.31,0,0,0-.53-5.36c-.1-.59-.22-1.18-.33-1.73l1.15-.21s-1.49-7.61,1.21-9.1,1.94-21,1.94-21-3.44-4.47-5.25-5.21-.15-10,.16-11.19,2.7-24.3,2.7-24.3-.9-7.3.3-10.43S897,694,897,694s-.9-1.49.76-3.28,1-17.74,1-17.74-.14-8.05-.14-10.14,1.8-9.69,3.45-12.22.6-10.44.6-10.44v0l.09-.59c0-.23.08-.51.14-.85l.13-.79A112.6,112.6,0,0,1,906,624.94c2-6.26,4.2-17.29,4.2-17.29l14-36.4.16-.43s6.45,11.93,6.45,23c0,0,1.65,13.27,1.2,16.85S933.34,631,933.34,631s1.95,24.15,1.95,25.2,2.4,19.68,3.91,22.51-1.51,11.48-2.41,12.37.3,22.81.3,22.81-2.25,17.29-2.7,20.87-2.25,17.3-.75,22.66.9,6.11.9,6.11,5.41,5.52,2.25,6a8.25,8.25,0,0,0-6,10.87,139.25,139.25,0,0,0,6.61,16s.93-.21,2.48-.52l0,1.77.18,8.88s1,8.5.45,10.44c-.44,1.42-1,8.1-1.33,11.59-.11,1.27-.17,2.12-.17,2.12s0,7.9,16.66,5.52,19.66-8.94,19.66-8.94,0-.31.12-.82c.25-1.51.79-4.71,1.23-6.49.6-2.39-4.8-13.12-4.8-13.12s-.9-7.3-2.41-8.94a7.92,7.92,0,0,1-1.2-3.13c-.14-.6-.26-1.23-.36-1.84a11,11,0,0,1,1.11.2s-.9-5.22,2.56-6.86,2.55-5.06,2.1-6.56,1.35-9.84,1.35-9.84a4.85,4.85,0,0,1,1.2-4.76c2.11-2.1,3.75-16.7,3.75-16.7l.3-56.35s1.06-10-.14-14-2.41-11.77-.76-13.86.15-11.77.15-11.77,0-20.43,2.26-25.49,1.5-37.12,1.5-37.12l.59-21s4.91-4.64,3.75-28.83c5.23-.33,11.13-.52,12,.2,1.65,1.35,12.31,8.2,18.61,3.88,1.35-.6,7.5-5.81,7.5-5.81l-2.64-44.7c1.65,2.49,2.65,4.15,2.65,4.15,0-6.26,17.71-26.54,17.71-26.54s16.51-21.31,20.11-23.85,10.66-15.95,10.66-15.95a64.65,64.65,0,0,1,3.61-7.45C1079.55,421.16,1074.14,414,1074.74,412.36ZM1036,428c-4.5.45-14,10.74-14.11,13-.07,1.18-1.07,2.76-2,4-.07-.9-.15-1.82-.22-2.75-1.06-13.17-2.21-29.22-1.69-30.78.91-2.68.6-14.75.6-14.75l0,0,.16-.23c3,9.35,12.43,20.38,12.43,20.38s1.65,4.77,3.6,4.92S1036,428,1036,428Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"url(#eb1b6581-0e6c-46f0-8ed9-49203ffc7122)\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M795.34,424.61s5.47-28.7,23.08-28.85l12.87,26.48-8.58,5.92S804.07,428.75,795.34,424.61Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M831.29,422.24l-8.58,5.92s-13.12.42-22.5-1.89a26.92,26.92,0,0,1-4.87-1.66s0-.16.1-.46c0,0,0-.07,0-.11a64.76,64.76,0,0,1,3.33-10.54c.55-1.29,1.16-2.62,1.82-3.95,2.58-5,6.2-9.82,11.16-12.23a15.17,15.17,0,0,1,5.87-1.53l.52,0h.26l.28.59,4.35,8.94Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.45,541.48s18.5-1.77,20.12-.44,12.13,8.13,18.35,3.84,2.07-19.23,2.07-19.82-.59-21.75-.59-21.75l-11.1-14.94-13.9-26.18L964,459.37l.74,41.58-.15,21.3Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.45,541.48s18.5-1.77,20.12-.44,12.13,8.13,18.35,3.84,2.07-19.23,2.07-19.82-.59-21.75-.59-21.75l-11.1-14.94-13.9-26.18L964,459.37l.74,41.58-.15,21.3Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M814.72,395s-1.48,18.05-12.72,18.34c0,0-3.19-1.92-7.48-5.12-9.88-7.39-25.55-21.6-21.22-34.82,6.21-18.93,36.39,16,36.39,16L812,392Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M814.72,395s-1.48,18.05-12.72,18.34c0,0-3.19-1.92-7.48-5.12l-.95-1.23a14.79,14.79,0,0,0,6.16,1.66,8.33,8.33,0,0,0,8-5.07,63.51,63.51,0,0,0,3.11-7.16A20.87,20.87,0,0,0,812,392Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M809.84,427.72l-2.53-3.26-8.52-11-4.34-5.61a14.62,14.62,0,0,0,6.16,1.66c2.83.07,6-1,8-5.06a64.62,64.62,0,0,0,3.11-7.17c1.4-4,1.38-6,.88-6.73s3.14,2.68,4.89,4.34l.06.06.82.77.3.6,4.29,8.57s0,.12,0,.36C823.38,408,824.83,425.27,809.84,427.72Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M898.46,808.51s-12.43,8.14-18.64,7-12.58,2.08-12.58,2.08a37.48,37.48,0,0,1-15.69,10.21c-10,3.4-24.1,2.06-32.09-.6-3.78-1.26-4.09-2.88-2.27-4.89,2-2.24,6.66-4.93,12-8.13,10.21-6.06,21.15-18,21.15-18s.15-3,1.93-4.28a23.06,23.06,0,0,0,3-3.12c1.59-1.88,3.08-3.84,3.08-3.84L894.91,786s.62,2.63,1.11,5.32a19.27,19.27,0,0,1,.51,5.33,4.82,4.82,0,0,0,1,3.69l.66,6Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M974.94,818.72c-.44,1.77-1,4.94-1.21,6.43l-.13.82s-3,6.51-19.37,8.88-16.42-5.48-16.42-5.48.06-.84.16-2.11c.29-3.46.88-10.09,1.32-11.5.58-1.92-.45-10.36-.45-10.36l-.17-8.81-.13-6.12,27.23-2.82a49.4,49.4,0,0,0,.88,6.06,7.75,7.75,0,0,0,1.19,3.11c1.48,1.63,2.36,8.88,2.36,8.88S975.53,816.35,974.94,818.72Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M894.91,786s.62,2.63,1.11,5.32c-3.95.73-21.21,3.72-25.52,1.63-4.89-2.37-15.39-3.7-15.39-3.7l.17-.6c1.59-1.88,3.08-3.84,3.08-3.84Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M966.65,793.71c-6.9-1.17-22,1.66-28,2.88l-.13-6.12,27.23-2.82A49.4,49.4,0,0,0,966.65,793.71Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982,569.44l-.59,20.86s.74,31.81-1.48,36.84-2.22,25.3-2.22,25.3,1.48,9.61-.15,11.68-.44,9.76.74,13.76.15,13.91.15,13.91l-.3,55.92s-1.62,14.49-3.7,16.57a4.85,4.85,0,0,0-1.18,4.73s-1.77,8.28-1.33,9.77,1.33,4.88-2.07,6.5-2.52,6.81-2.52,6.81c-8.13-1.93-31.21,3.26-31.21,3.26a138.84,138.84,0,0,1-6.51-15.84,8.19,8.19,0,0,1,5.92-10.79c3.1-.45-2.22-5.92-2.22-5.92s.59-.74-.89-6.06.29-19,.74-22.5,2.66-20.71,2.66-20.71-1.18-21.74-.29-22.63,3.84-9.47,2.37-12.28-3.86-21.3-3.86-22.34-1.91-25-1.91-25-1.78-16.72-1.33-20.27-1.19-16.71-1.19-16.71c0-11-6.36-22.79-6.36-22.79l-.16.43L909.4,608.06s-2.22,10.94-4.14,17.15a112.18,112.18,0,0,0-2.89,12.85l-.13.79c0,.33-.1.61-.13.83l-.09.6v0s1,7.84-.6,10.36-3.4,10.06-3.4,12.13.15,10.06.15,10.06.59,15.83-1,17.61-.75,3.25-.75,3.25,2.66,12,1.48,15.09-.29,10.35-.29,10.35-2.37,22.94-2.66,24.12-1.93,10.36-.15,11.1,5.17,5.17,5.17,5.17.75,19.39-1.92,20.86-1.19,9-1.19,9-21.44,4.14-26.32,1.77-15.39-3.7-15.39-3.7l1.47-4.86c-.09.17-1.07,1.75-1.77-4.31-.73-6.36,5.48-3.26,5.48-3.26s4.88,1.19-3-6.5-4-15.54-3.55-15.54,1.49-11.38,1.49-11.38,1.33-6.81.29-12.14-1.92-21.9-1.92-21.9.74-12.57-.59-17.15.88-12.88,1.33-14.8S853,656.13,853,656.13s1.48-8.28.59-14.34.89-28.41.89-28.41l2.66-25.74s1.92-8,1.63-11.25S861,561.75,861,561.75a16,16,0,0,1,1.18-7.1c1.48-3,2.07-12.72,2.07-12.72l14.21-32.55,7-28.7,93.93-.89s.35,2.49.92,7,1.37,11.21,2.26,19.48c.82,7.51,1.72,16.34,2.59,26.17C988,563.82,982,569.44,982,569.44Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#3f3d56\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M973.31,310.4l-21.9,23.38s-28.1-11.25-25.14-15.09c1.14-1.49,1-6.19.3-11.37-1-8.2-3.26-17.63-3.26-17.63s49.11-8,45,.29c-1.51,3-1.25,6.56-.31,9.83A37,37,0,0,0,973.31,310.4Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M968.28,290c-1.51,3-2.23,3.32-1.29,6.59C960.57,303.46,952.4,311,942.24,311a35.06,35.06,0,0,1-15.67-3.67c-1-8.2-3.26-17.63-3.26-17.63S972.42,281.7,968.28,290Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.46,274.89a35.22,35.22,0,0,1-70.43,0c0-.17,0-.34,0-.5a35.21,35.21,0,0,1,70.42.5Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982.55,507.18c-4.66,0-20.19.17-37.55.44h-.21l-5.73.1h-.18c-20.58.33-40.87-3.69-49-2.93-17.3,1.62,6.22-16,6.22-16a144.78,144.78,0,0,0,39.43,4l5-.26c15.72-.89,31.53-2.37,39.79-4.85C980.87,492.26,981.66,498.91,982.55,507.18Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982.55,506.29c-4.66,0-20.19.17-37.55.44h-.21l-5.73.1h-.18c-20.58.33-40.87-3.69-49-2.93-17.3,1.63,6.22-16,6.22-16a144.78,144.78,0,0,0,39.43,4l5-.26c15.72-.89,31.53-2.37,39.79-4.84C980.87,491.38,981.66,498,982.55,506.29Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#5f5d7e\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M932.78,320.16l-27.22,12.73-21,162.43s12.42-5.62,19.53-2.07,29,.3,29,.3,16-.89,18.35.89S981.6,487,981.6,487s5-11.24,1.18-13S984,454.79,984,454.79L981.6,337.62l-4.74-15.09-12.72-7.69-13,10.35-6.21.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M932.78,318.39l-27.22,12.72-21,162.44s12.42-5.62,19.53-2.07,29,.29,29,.29,16-.88,18.35.89,30.18-7.4,30.18-7.4,5-11.24,1.18-13S984,453,984,453L981.6,335.84l-4.74-15.08-12.72-7.7-13,10.36-6.21.89Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M932.33,325.93s7.84,9.32,7.7,11.25-.45,6.51-.45,6.51l-5.92,12s-3.25,14.94-3.25,18.05-5.18,30-5.18,30L919,445.17l-7.84,54.3,8,13.75,9.46-8,12.58-96.76,2.66-19.08s2.81-34.32,2.81-37.87-1.62-12.87-1.62-12.87,1.92-8.88,9.91-11-.59-.45-.59-.45l-4.59-3.69-4,1.62S934.7,321.79,932.33,325.93Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M931.44,325.05s7.85,9.32,7.7,11.24-.45,6.51-.45,6.51l-5.91,12s-3.26,14.94-3.26,18.05-5.18,30-5.18,30l-6.21,41.42-7.84,54.3,8,13.76,9.47-8,12.57-96.75L943,388.51s2.81-34.32,2.81-37.87-1.62-12.87-1.62-12.87,1.92-8.88,9.91-10.95-.59-.44-.59-.44l-4.59-3.7-4,1.63S933.81,320.9,931.44,325.05Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M926.27,309.51s-1.19.89-1.48,6.81-4.44,19.23-4.44,19.23,15.39-10.65,23.08-9.47Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M926.27,307.74s-1.19.88-1.48,6.8-4.44,19.23-4.44,19.23,15.39-10.65,23.08-9.46Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M968.28,304.78,944,326.08s20.42,12.13,23.08,15.09,5.32-29,5.32-29Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M969.17,303l-24.26,21.31S965.32,336.44,968,339.4s5.32-29,5.32-29Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M927.15,309.51s-2.66-1.33-5.17,2.52a16.8,16.8,0,0,1-7.25,5.62s-26.93,4.29-28,7.84l-12.58.74s-4.44.59-4.88,9.91-2.81,10.21-2.81,10.21-5.18,9.17-4.73,13.9-4,7.11-4,7.11l18.49,48.08s.6,19.82-2.81,27.07-9.76,39.35-9.76,39.35,2.66-.59,2.51,1.18S863,504.2,863,504.2s-.89,7.69-2.37,10.36S859,531.12,859,531.12l-2.36,10.06s5.62,12.58,14.2,10.8,24.11-35.35,24.11-35.35l9.92-36.25,7.69-35.8,2.22-24.26,3.55-53.7,5.18-35.51S929.23,312,927.15,309.51Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M926.27,307.74s-2.67-1.33-5.18,2.51a16.71,16.71,0,0,1-7.25,5.62s-26.92,4.29-28,7.84l-12.58.74s-4.43.6-4.88,9.92-2.81,10.2-2.81,10.2-5.18,9.18-4.73,13.91-4,7.1-4,7.1l18.5,48.08s.59,19.82-2.81,27.07-9.77,39.36-9.77,39.36,2.66-.6,2.52,1.18-3.26,21.15-3.26,21.15-.89,7.7-2.37,10.36-1.62,16.57-1.62,16.57l-2.37,10.06s5.62,12.57,14.2,10.8S894,514.85,894,514.85l9.91-36.24,7.69-35.8,2.22-24.27,3.55-53.7,5.18-35.5S928.34,310.25,926.27,307.74Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M831.29,422.24l-8.58,5.92s-13.12.42-22.5-1.89l-4.77-2.12-1-.42,1,.31c4.95,1.47,8.82,1.44,11.85.42,12.14-4.09,10.8-24.14,10.33-28.67,0-.46-.08-.75-.1-.86a.28.28,0,0,1,0-.06l.07.12a6.62,6.62,0,0,0,.56.78c.17.19.35.39.54.58h0l4.29,8.57s0,.12,0,.36Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M861,364.4l-4.15,1.18-.59,8.43s-4.88-.74-6.21,5-3.7,8.44-3.7,8.44-8.14,6.8-8.58,12.57l-5,3.11s-11.69-2.67-14.35-7.4c0,0,5.33,38.17-23.08,28.85,0,0,31.81,13.9,33.29,15.83s11.24,7.54,20.12,2.81,10.8-12,10.8-12,8.58-12,8.87-13.76,7-3.85,7-3.85l12.72-30.77Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M964.88,322.53,969.17,303s1.92,6.36,3.85,7.84l6.36,4.89s6.36,2.95,8.58,2.95,14.2,3.11,15.68,4.74,7.4.44,7.4.44,4.88,1.63,9.17,2.66,6.36,8.14,5.47,11a8.53,8.53,0,0,0,2.07,8c1.78,1.78,2.67,7.55,2.67,7.55a8.66,8.66,0,0,1,5,4.29c1.48,3.25,1,10.35,1,10.35l-22,31.07s.29,12-.59,14.65,3.1,47.93,3.1,47.93l4.59,77.81s-6.07,5.18-7.4,5.77-2.66-27.51-2.66-28.55-34.17-51.19-34.17-51.19-4.59-7.39-4.59-9-4.29-16.57-4.29-16.57l-6.51-28.85Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1038.31,366c0,1,0,1.7,0,1.7l-22,31,0,0s.3,12-.58,14.64c-.52,1.55.61,17.47,1.66,30.55.74,9.43,1.44,17.38,1.44,17.38l1.95,33,2.63,44.8s-6.06,5.18-7.39,5.77-2.66-27.51-2.66-28.55-34.18-51.18-34.18-51.18-4.59-7.41-4.59-9-4.29-16.57-4.29-16.57l-6.5-28.85,2.95-88.17L969.17,303s3.7,6.37,5.62,7.84l6.36,4.88s6.36,3,8.58,3,14.21,3.1,15.69,4.73,7.39.44,7.39.44,4.88,1.63,9.17,2.66,6.37,8.14,5.48,11a8.51,8.51,0,0,0,2.07,8c1.77,1.77,2.66,7.54,2.66,7.54a8.7,8.7,0,0,1,5,4.3C1038.25,359.54,1038.35,363.65,1038.31,366Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M857.48,760.14c.73,0,31.8,1.18,31.21,6.21S857.48,760.14,857.48,760.14Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M864.43,768.57s20.86,3.4,15.38,6.51S864.43,768.57,864.43,768.57Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M942,756.88s34.62,3,29.44,6.81-17.46,4.43-18,4.58S942,756.88,942,756.88Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M937.81,772.12s19.23,3.25,19.82,7S937.81,772.12,937.81,772.12Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M948.46,683.06s17.6,4.14,18.64,7Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M880.55,695.78s-9.17,2.66-.29,8S880.55,695.78,880.55,695.78Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M921.24,553.61c1,0,17.16-5.32,22.78-3A37.49,37.49,0,0,0,956.59,553Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M923.31,570.47l-.16,1.47L909.4,608.06s-2.22,10.94-4.14,17.15a112.18,112.18,0,0,0-2.89,12.85l12.21-75.72Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M944.79,506.73l-5.73.1h-.18l-3.36-14.91,5-.27Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#3f3d56\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1014.59,488.67l-3.69,3-12.29,10.13s-33.29,17.76-42.46.89c-8.08-14.86,29.66-25.47,38.75-27.78,1.23-.31,1.93-.47,1.93-.47Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#fbbebe\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M872.42,343.24s6.51,3,8,7.1S872.42,343.24,872.42,343.24Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M852.3,387.62s-9.47,11.54-5.62,16S852.3,387.62,852.3,387.62Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1021.54,349.75s-8.88.89-9.17,8.58Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M939.29,471.06c.88-.89,21.3-31.07,26-28.4Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.46,274.89a35,35,0,0,1-4.17,16.62l-.26-.05c-2.23-.47-3.39-3.07-5.1-4.69a6.93,6.93,0,0,0-8-1.12,8.13,8.13,0,0,0-3.92,7.59c-1.13-4.74-.77-9.77-1.87-14.52s-4.41-9.55-8.95-9.63c-2,0-4.23.71-5.65-.75-.85-.88-1-2.27-1.66-3.35-3.24-5.24-13.11-2.59-17.14.1s-8.7,7-13.71,9.3a35.21,35.21,0,0,1,70.42.5Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M937.89,264.11c.64,1.07.81,2.46,1.66,3.34,1.41,1.47,3.7.71,5.65.75,4.54.08,7.85,4.88,8.95,9.63s.74,9.78,1.87,14.52a8.11,8.11,0,0,1,3.93-7.59,6.93,6.93,0,0,1,8,1.12c1.71,1.62,2.87,4.22,5.1,4.69s4.38-1.67,5.19-4,.75-4.93,1.28-7.37c1-4.61,4-8.4,5.68-12.79a23.17,23.17,0,0,0-.15-16.52c-1.11-2.78-2.76-5.28-3.89-8.05-1.7-4.22-2.14-9-4.22-13-3.48-6.73-11.68-10.09-18.43-7.56-3.21,1.2-6,3.54-9.27,4.59-4.37,1.41-9.05.35-13.57-.28s-9.53-.69-13.17,2.28c-4.19,3.43-5.33,9.87-9.27,13.63-1.65,1.58-3.7,2.59-5.44,4s-3.25,3.63-3,6c.26,3.06,3.26,5.84,2.15,8.68a7,7,0,0,1-1.64,2.17,30.93,30.93,0,0,0-7.16,12.18c7.91,2.48,16.48-6.25,22.68-10.38C924.79,261.52,934.65,258.86,937.89,264.11Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#7c5c5c\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1014.59,488.67l-3.69,3c-3.25-5.4-16.58-16.2-16.58-16.2l.58-.56c1.23-.31,1.93-.47,1.93-.47Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1018.14,483.19s-1.33,3.3-2.69,6.14-2.86,5.44-2.93,3.33c-.15-4.14-17.31-18.05-17.31-18.05l2.33-2.26,2.69-2.62Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e7effd\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1018.73,461.29l1.95,33c-4.6-7.15-17.22-25.47-25.33-24.88L1015,446.8a26.81,26.81,0,0,0,2.26-2.89C1018,453.34,1018.73,461.29,1018.73,461.29Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1018.14,483.19s-1.33,3.3-2.69,6.14c-5.16-7.07-12.25-15.42-17.91-17l2.69-2.62Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1032.93,363.51l5.33,4.14s8.87.15,9.76,7.55,9,10.8,9,10.8,6.06,6.06,6.06,8.87,4.59,7.84,4.59,8.29,4.44,9.47,3.84,11.09,4.74,8.73,3.11,11.39a65.63,65.63,0,0,0-3.55,7.4s-6.95,13.32-10.5,15.83-19.83,23.67-19.83,23.67-17.45,20.12-17.45,26.33c0,0-17-28.4-27.08-27.66l19.68-22.64s3.4-3.69,3.55-5.91,9.47-12.43,13.91-12.87c0,0,.73-6.07-1.19-6.22s-3.55-4.88-3.55-4.88-13-15.38-13.17-25.15S1032.93,363.51,1032.93,363.51Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#65617d\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1040.77,377.56s-12.42,9.18-9.76,12.13S1040.77,377.56,1040.77,377.56Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1041.36,415.44s23.08-7.4,25.45,0Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M898.46,808.51s-12.43,8.14-18.64,7-12.58,2.08-12.58,2.08a37.48,37.48,0,0,1-15.69,10.21c-10,3.4-24.1,2.06-32.09-.6-3.78-1.26-4.09-2.88-2.27-4.89,8.69,1.73,28.1,5.18,33.33,2.67,6.8-3.26,16.57-10.36,16.57-10.36s12.73-1.77,14.5-1.77c1.26,0,11.09-4.06,16.64-6.38Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M973.73,825.15l-.13.82s-3,6.51-19.37,8.88-16.42-5.48-16.42-5.48.06-.84.16-2.11C943.17,829.23,954.51,831.43,973.73,825.15Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M878.56,375.79s0,33.73-2.89,37.06S878.56,375.79,878.56,375.79Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1011.92,386.66l4.29,12.06S1017.92,386.88,1011.92,386.66Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M907.32,257.35c1.08-2.78-1.76-5.5-2.13-8.48a5.56,5.56,0,0,0-.47,2.68c.19,2.24,1.84,4.33,2.28,6.41A4,4,0,0,0,907.32,257.35Z\",\n transform: \"translate(-82.53 -34.2)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M956.42,289.21c-1.06-4.66-.75-9.6-1.83-14.27s-4.41-9.55-8.94-9.63c-2,0-4.24.72-5.65-.74-.86-.88-1-2.28-1.67-3.35-3.24-5.25-13.1-2.59-17.14.1-6,4-14.36,12.43-22.12,10.53-.37.89-.71,1.8-1,2.73,7.91,2.48,16.48-6.25,22.68-10.38,4-2.68,13.9-5.34,17.14-.09.64,1.07.81,2.46,1.66,3.34,1.41,1.47,3.7.71,5.65.75,4.54.08,7.85,4.88,8.95,9.63s.74,9.78,1.87,14.52A8.16,8.16,0,0,1,956.42,289.21Z\",\n transform: \"translate(-82.53 -34.2)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M978.66,283.67c-.8,2.34-2.91,4.5-5.19,4s-3.39-3.07-5.09-4.7a7,7,0,0,0-8-1.11,8.06,8.06,0,0,0-3.93,7.16,7.76,7.76,0,0,1,3.49-4.28,6.93,6.93,0,0,1,8,1.12c1.71,1.62,2.87,4.22,5.1,4.69s4.38-1.67,5.19-4a20.21,20.21,0,0,0,.81-4.25A11.1,11.1,0,0,1,978.66,283.67Z\",\n transform: \"translate(-82.53 -34.2)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M985.62,263.51c-1.66,4.39-4.68,8.17-5.68,12.79-.2.93-.32,1.88-.43,2.84,1-4.6,4-8.37,5.67-12.75a22.81,22.81,0,0,0,1.37-6.13A22.39,22.39,0,0,1,985.62,263.51Z\",\n transform: \"translate(-82.53 -34.2)\"\n }))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 689.3,\n cy: 336.07,\n r: 0.36,\n fill: \"#e6e8ec\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 817.04,\n cy: 792.28,\n rx: 86.34,\n ry: 8.81,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M582.08,248.59,320.57,418.25l170.66,307.8a11.91,11.91,0,0,0,7.6,5.8l154.63,37.72A11.92,11.92,0,0,0,667,763.16l76.7-159.35,84.06-112.37-199.48-236A35.35,35.35,0,0,0,582.08,248.59Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#dcdfed\"\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M830.42,492.77l-.74,1-49.24,65.83-.89,1.19-33.19,44.37-65.6,136.31-1.84,3.81-9.26,19.23a11.92,11.92,0,0,1-13.56,6.41L501.47,733.18a11.89,11.89,0,0,1-7.6-5.8L479,700.61l-2.67-4.82L369,502.13l-.92-1.65-44.86-80.9,5.42-3.52,41.09-26.65.95-.62,86.53-56.14,5.46-3.54,122.05-79.19a35.34,35.34,0,0,1,46.22,6.84l91,107.7,4,4.8,66.05,78.14.36.43,33.21,39.28,4.18,4.95Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M789.79,446.5l-8.06,56L779.3,519.4l-1.39,36-.11,2.81-7.23,188.1a11.93,11.93,0,0,1-14.51,11.17l-77.94-17.4-.84-.19L477.39,695.28l-3.67-.82L363.83,669.92l2.52-169.12.08-5.65.76-51.19.84-56.5,86.53-56.14,5.46-3.54c80.26,8.23,187,24.06,259.31,35.35l4,4.8,66,78.14Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M798.92,380.1l-9.49,66-8.7,60.44L778.3,523.4l-1.39,36-7.34,190.91a11.93,11.93,0,0,1-14.51,11.17l-78.78-17.59L476.39,699.28,362.83,673.92l2.6-174.77.76-51.19.89-59.88.91-61.59c18.78-.89,49.68,1.12,86.57,4.83,82.6,8.29,195.2,25.06,268.82,36.61C768.46,375,798.92,380.1,798.92,380.1Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#6c63ff\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M823,485.78l-42.27,20.73L565,612.31,366.19,448,326,414.73l-5.42,3.52,44.86,80.9-2.6,174.77,113.56,25.36,14.84,26.77a11.89,11.89,0,0,0,7.6,5.8l154.63,37.72A11.92,11.92,0,0,0,667,763.16l9.26-19.23,78.78,17.59a11.93,11.93,0,0,0,14.51-11.17l7.34-190.91,50.13-67,.14-1.69Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M320.57,418.25,302.74,723.58a11.92,11.92,0,0,0,9.31,12.33L785.57,841.06A11.92,11.92,0,0,0,800,830.39l27.75-338.95L565,620.31Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#dcdfed\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M306,730.57,552,578.8a18.06,18.06,0,0,1,23,3.6L795.18,839.19c.8.92,1.19.26,0,0L306,730.57C304.6,730.26,304.78,731.3,306,730.57Z\",\n transform: \"translate(-82.53 -34.2)\",\n opacity: 0.1\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M307.76,730.32,551.22,583.25a19.09,19.09,0,0,1,24.28,3.82L793.69,838a2.63,2.63,0,0,1-2.55,4.29L308.55,735.13A2.62,2.62,0,0,1,307.76,730.32Z\",\n transform: \"translate(-82.53 -34.2)\",\n fill: \"#e3e5f1\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgContactMailDark);\nexport default __webpack_public_path__ + \"static/media/contactMailDark.1db650d351729a0f17b4e3104e6a7b7a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _rect, _rect2, _rect3, _rect4, _rect5, _rect6, _rect7, _rect8, _rect9, _rect10, _rect11, _rect12, _rect13, _rect14, _rect15, _rect16, _rect17, _rect18, _rect19, _rect20, _rect21, _rect22, _path3, _rect23, _rect24, _rect25, _rect26, _rect27, _rect28, _rect29, _rect30, _rect31, _rect32, _rect33, _rect34, _rect35, _rect36, _rect37, _rect38, _rect39, _rect40, _rect41, _rect42, _rect43, _rect44, _rect45, _path4, _polygon, _rect46, _rect47, _rect48, _rect49, _rect50, _rect51, _rect52, _rect53, _rect54, _rect55, _rect56, _rect57, _rect58, _rect59, _rect60, _rect61, _rect62, _rect63, _rect64, _rect65, _rect66, _rect67, _rect68, _rect69, _rect70, _rect71, _rect72, _rect73, _rect74, _rect75, _rect76, _rect77, _rect78, _rect79, _rect80, _rect81, _rect82, _rect83, _rect84, _rect85, _rect86, _rect87, _rect88, _rect89, _rect90, _rect91, _rect92, _rect93, _rect94, _rect95, _rect96, _rect97, _rect98, _rect99, _rect100, _rect101, _rect102, _rect103, _rect104, _rect105, _rect106, _rect107, _rect108, _rect109, _rect110, _rect111, _rect112, _rect113, _rect114, _rect115, _rect116, _rect117, _rect118, _rect119, _rect120, _rect121, _rect122, _rect123, _rect124, _rect125, _rect126, _rect127, _rect128, _rect129, _rect130, _rect131, _rect132, _rect133, _rect134, _rect135, _rect136, _rect137, _rect138, _rect139, _rect140, _rect141, _rect142, _rect143, _rect144, _rect145, _rect146, _rect147, _rect148, _rect149, _rect150, _rect151, _rect152, _rect153, _rect154, _rect155, _rect156, _rect157, _rect158, _rect159, _rect160, _rect161, _rect162, _rect163, _rect164, _rect165, _rect166, _rect167, _rect168, _rect169, _rect170, _rect171, _rect172, _rect173, _circle, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _polygon2, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _ellipse, _path19, _circle2, _path20, _path21, _path22, _ellipse2, _path23, _path24, _circle3, _path25, _path26;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDeveloperActivity(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"aa7bae02-e79e-4d6b-a496-aba15f39787c\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 1144,\n height: 617.32,\n viewBox: \"0 0 1144 617.32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"developer activity\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1172,537.57a181.92,181.92,0,0,1-6.85,49.6,180.06,180.06,0,0,1-19.27,44.28c0,50.1-33.82,93.4-82.91,114a167.3,167.3,0,0,1-64.73,12.8H245.17c-40.25,0-77.55-10.86-108.14-29.36A185.76,185.76,0,0,1,112.2,711c-34-29.22-55.08-69.6-55.08-114.2A180.5,180.5,0,0,1,28,498.08c0-73.36,43.39-136.44,105.55-164.29a174.52,174.52,0,0,1,25.51-9.12q4.63-1.26,9.36-2.26a175.39,175.39,0,0,1,25.51-3.5q4.65-.29,9.35-.33H205c3.46,0,6.89.12,10.3.32l1.12-1.9q2.06-3.44,4.22-6.81,3.9-6.14,8.18-12.1,4.48-6.29,9.35-12.38l.83-1q2.76-3.44,5.64-6.8,9-10.49,19-20.35c72.11-70.68,185.08-116.18,312.08-116.18,98.82,0,189.15,27.55,258.34,73.07A174.18,174.18,0,0,1,920,191.86c97.74,0,177,80.37,177,179.51a184.9,184.9,0,0,1-1,18.78A180,180,0,0,1,1172,537.57Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M263.66,257.52v20.35h-19Q253.59,267.39,263.66,257.52Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect7 || (_rect7 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect8 || (_rect8 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect9 || (_rect9 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect10 || (_rect10 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect11 || (_rect11 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect12 || (_rect12 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect13 || (_rect13 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect14 || (_rect14 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect15 || (_rect15 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect16 || (_rect16 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect17 || (_rect17 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect18 || (_rect18 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect19 || (_rect19 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect20 || (_rect20 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect21 || (_rect21 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect22 || (_rect22 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 111.02,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M228.8,298.08v12.1h-8.18Q224.52,304,228.8,298.08Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\"\n })), _rect23 || (_rect23 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect24 || (_rect24 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect25 || (_rect25 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect26 || (_rect26 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect27 || (_rect27 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect28 || (_rect28 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect29 || (_rect29 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect30 || (_rect30 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect31 || (_rect31 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect32 || (_rect32 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect33 || (_rect33 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect34 || (_rect34 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect35 || (_rect35 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect36 || (_rect36 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect37 || (_rect37 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect38 || (_rect38 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect39 || (_rect39 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect40 || (_rect40 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect41 || (_rect41 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect42 || (_rect42 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect43 || (_rect43 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect44 || (_rect44 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect45 || (_rect45 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 143.33,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.06,324.67V342.5H133.55v-8.71A174.52,174.52,0,0,1,159.06,324.67Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"165.93 177.57 165.93 201.16 140.42 201.16 140.42 181.07 165.93 177.57\",\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect46 || (_rect46 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect47 || (_rect47 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect48 || (_rect48 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect49 || (_rect49 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect50 || (_rect50 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect51 || (_rect51 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect52 || (_rect52 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect53 || (_rect53 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect54 || (_rect54 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect55 || (_rect55 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect56 || (_rect56 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect57 || (_rect57 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect58 || (_rect58 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect59 || (_rect59 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect60 || (_rect60 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect61 || (_rect61 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect62 || (_rect62 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect63 || (_rect63 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect64 || (_rect64 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect65 || (_rect65 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect66 || (_rect66 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect67 || (_rect67 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect68 || (_rect68 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect69 || (_rect69 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 175.65,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect70 || (_rect70 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect71 || (_rect71 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect72 || (_rect72 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect73 || (_rect73 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect74 || (_rect74 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect75 || (_rect75 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect76 || (_rect76 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect77 || (_rect77 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect78 || (_rect78 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect79 || (_rect79 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect80 || (_rect80 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect81 || (_rect81 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect82 || (_rect82 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect83 || (_rect83 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect84 || (_rect84 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect85 || (_rect85 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect86 || (_rect86 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect87 || (_rect87 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect88 || (_rect88 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect89 || (_rect89 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect90 || (_rect90 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect91 || (_rect91 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect92 || (_rect92 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect93 || (_rect93 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect94 || (_rect94 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect95 || (_rect95 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 207.96,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect96 || (_rect96 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect97 || (_rect97 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect98 || (_rect98 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect99 || (_rect99 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect100 || (_rect100 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect101 || (_rect101 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect102 || (_rect102 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect103 || (_rect103 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect104 || (_rect104 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect105 || (_rect105 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect106 || (_rect106 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect107 || (_rect107 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect108 || (_rect108 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect109 || (_rect109 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect110 || (_rect110 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect111 || (_rect111 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect112 || (_rect112 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect113 || (_rect113 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect114 || (_rect114 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect115 || (_rect115 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect116 || (_rect116 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect117 || (_rect117 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect118 || (_rect118 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect119 || (_rect119 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect120 || (_rect120 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect121 || (_rect121 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 240.28,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect122 || (_rect122 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect123 || (_rect123 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect124 || (_rect124 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect125 || (_rect125 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect126 || (_rect126 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect127 || (_rect127 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect128 || (_rect128 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect129 || (_rect129 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect130 || (_rect130 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect131 || (_rect131 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect132 || (_rect132 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect133 || (_rect133 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect134 || (_rect134 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect135 || (_rect135 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect136 || (_rect136 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect137 || (_rect137 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect138 || (_rect138 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect139 || (_rect139 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect140 || (_rect140 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect141 || (_rect141 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect142 || (_rect142 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect143 || (_rect143 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect144 || (_rect144 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect145 || (_rect145 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect146 || (_rect146 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.4\n })), _rect147 || (_rect147 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 272.59,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect148 || (_rect148 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.55,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect149 || (_rect149 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.42,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect150 || (_rect150 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 175.28,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect151 || (_rect151 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 210.15,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect152 || (_rect152 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 245.02,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.7\n })), _rect153 || (_rect153 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 279.88,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect154 || (_rect154 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 314.75,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect155 || (_rect155 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 349.61,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect156 || (_rect156 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 384.48,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect157 || (_rect157 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 419.35,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect158 || (_rect158 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 454.21,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect159 || (_rect159 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 489.08,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect160 || (_rect160 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 523.94,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect161 || (_rect161 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 558.81,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect162 || (_rect162 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 593.68,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect163 || (_rect163 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 628.54,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _rect164 || (_rect164 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 663.41,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect165 || (_rect165 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 698.28,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect166 || (_rect166 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 733.14,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect167 || (_rect167 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 768.01,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect168 || (_rect168 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 802.87,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect169 || (_rect169 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 837.74,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect170 || (_rect170 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 872.61,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect171 || (_rect171 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 907.47,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect172 || (_rect172 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 942.34,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\",\n opacity: 0.2\n })), _rect173 || (_rect173 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 977.2,\n y: 304.91,\n width: 25.51,\n height: 25.51,\n fill: \"#6c63ff\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 734.52,\n cy: 363.89,\n r: 34.87,\n fill: \"#767d9f\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M760.71,460.87q5.22,22.78,8.86,45.9c.73,4.58,1.38,9.41-.28,13.74-1.39,3.61-4.22,6.43-6.44,9.59s-3.9,7.21-2.55,10.83,5.29,5.6,9.05,6.62c10.76,2.9,22.23.79,32.94-2.35a53.29,53.29,0,0,0,13.81-5.72c4.54-2.88,8.26-6.88,11.68-11,15.61-18.93,25.83-41.65,35.45-64.23a39.12,39.12,0,0,1-33.11-13.34c-3.94-4.63-6.83-11.08-4.61-16.74-6.51,3.57-14.24,3.81-21.25,6.25a75.49,75.49,0,0,0-12.5,6.15q-7.18,4.15-14.28,8.46C772.07,458.29,767,461.19,760.71,460.87Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#ae6e79\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M833.64,487.05c-6.11,11.89-14.06,23.32-25.41,30.4s-26.63,9-38,2c-5.6-3.42-9.84-8.62-14.73-13s-11-8.13-17.57-7.56c-7.24.63-12.91,6.28-17.76,11.69-7.36,8.22-14.47,16.79-19.68,26.52-10,18.7-12.37,40.56-11.93,61.76s3.51,42.29,3.58,63.49c.1,26.08-4.32,51.95-8.79,77.64,41.1-5.06,82.25,6,123.44,10.19,26.36,2.71,52.92,2.65,79.42,2.58,4.66,0,9.62-.12,13.5-2.7a18.2,18.2,0,0,0,5.59-6.64c3.66-6.75,5.13-14.45,6.15-22.06,2.59-19.22,2.67-38.68,2.74-58.08.18-47,.35-94.17-5.62-140.8-1.47-11.47-3.35-23-7.75-33.73s-11.58-20.6-21.62-26.35c-6.45-3.7-21.4-10.14-29-6.41C841.67,460.15,837.73,479.09,833.64,487.05Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#767d9f\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M836.68,619.77c-1.55-29-7.86-59.95,5.57-85.69,3.3-6.32-8.54-14.21-4.88-20.33a92.08,92.08,0,0,0,10.06-23.93c.76-2.89,1.37-5.95.65-8.85-1.33-5.29-6.56-8.44-11-11.66-4.9-3.56-7.42-14.41-9-20.28s12.57,1.2,18.26-.89c7.9-2.89,17.94-1.07,25.82,1.86,4.4,1.62,9.18,1.76,13.87,1.88,9.11.24,18.25.47,27.29-.65,4.06-.51,8.13-1.28,12.21-1.05,10.41.59,19.46,7.71,25.62,16.13s10.08,18.23,15.13,27.35c4.21,7.6,9.23,14.78,12.82,22.69,3.18,7,5.19,14.52,7.18,22l5.13,19.19a25.58,25.58,0,0,1,1.26,8.51c-.26,3.07-1.62,5.93-3,8.66A164.12,164.12,0,0,1,971,603.2c-10.79,13.23-23.89,25.16-30.3,41-2.5,6.17-3.89,12.73-5.16,19.27a707.94,707.94,0,0,0-10.9,79.15,174.2,174.2,0,0,0-36.52-12.21,177.61,177.61,0,0,0-19-3c-5.59-.58-12.8.52-18.12-1-8.9-2.53-9.88-17.58-11.23-25.46-2.16-12.55-2.59-25.32-2.67-38C837,648.53,837.45,634.14,836.68,619.77Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M641.23,565.54c4.21,24,8.85,48.07,18,70.62-.23.22-.46.42-.69.62-.81.69-1.65,1.34-2.53,2-2.05,1.44-4.3,2.66-6,4.54a8,8,0,0,0-1.5,2.45,5.48,5.48,0,0,0,0,4.47c-4.77,2.11-10.31,1.46-15.66,1.26-4.61-.17-9.08,0-12.78,2.53-5.14,3.54-6.69,10.34-7.52,16.52q-.46,3.38-.79,6.77-.32,3.15-.52,6.32a188.61,188.61,0,0,0-.19,21q.08,1.92.21,3.84c-16.34-.39-31.23-8.91-45.32-17.19-3.22-1.89-6.54-3.88-8.63-7A15.8,15.8,0,0,1,555,674c0-.51.09-1,.16-1.52a41.58,41.58,0,0,1,2.29-8.68,107.2,107.2,0,0,1,19.19-32.65c3.58-4.18,7.61-8.27,9.28-13.52.73-2.29,1-4.72,1.74-7,3.32-9.88,15.3-14.55,19.4-24.14,1-2.29,1.46-4.8,2.7-7a17.63,17.63,0,0,1,4.25-4.75c.73-.61,1.49-1.2,2.24-1.79q10.54-8.26,20.31-17.45,1.82-1.71,3.6-3.46A59.48,59.48,0,0,0,641.23,565.54Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M742,494.56c-1.44,1.52-3,2.95-4.53,4.37l-.41.37-1.62,1.5a39,39,0,0,0-7.55,8.79l-.17.28c-5.1,9.13-3.21,20.37-1.79,30.74a261.55,261.55,0,0,1,2.37,39c-.26,18-2.38,35.88-2.42,53.86,0,4.08.09,8.15.27,12.23.29,6.63.79,13.25,1.39,19.87.65,7.26,1.43,14.51,2.16,21.76.58,5.61,1.13,11.21,1.59,16.81.23,2.9.45,5.79.63,8.69.21,3.4.38,6.81.48,10.21h0c.07,2.16.11,4.31.11,6.47,0,1.23,0,2.45,0,3.67q0,3.51-.19,7-.2,4.49-.61,9c-.31,3.27-.86,6.84-3.16,9.14-.14.14-.29.27-.44.4l-3.24-.4a332.72,332.72,0,0,0-67.3-1.2c.49-3.38.94-6.75,1.38-10.14.2-1.6.4-3.21.59-4.82q.33-2.76.63-5.52c.23-2,.44-4,.64-6q.78-7.73,1.37-15.47.87-11.29,1.32-22.62.22-5.41.34-10.83.17-6.72.16-13.45,0-6.54-.11-13.1c0-1.44-.06-2.88-.18-4.31a27.35,27.35,0,0,0-.53-3.83,49.87,49.87,0,0,0-3-8.48c-.22-.52-.43-1-.64-1.55-.12-.27-.23-.55-.34-.82,5.76-5.13,9.86-12,13.8-18.76,6.39-10.89,12.93-22.26,14-34.84s-5.18-26.71-17.2-30.55c-3.27-1-6.73-1.28-10.1-1.87-3.18-.56-9.81-1.83-13.49-4.11q-3,3.08-6,6.05a22.15,22.15,0,0,1,2.17-8.71l1.42.07a2.71,2.71,0,0,1-.16-1c0-1.07.74-2.28,2.32-3.62,4.71-4,12.12-4.89,15.09-10.3,1.24-2.25,1.45-4.93,2.45-7.29,2.87-6.73,11.11-9.21,16.07-14.59s6.2-13,10.21-19a28.62,28.62,0,0,1,12-10c.4-.19.81-.38,1.22-.55,8.3-3.55,18.16-4.36,26.76-4.34,3.34,0,12,.1,16.24,1.79a5.32,5.32,0,0,1,1.85,1.13C752.37,480.61,745.34,491,742,494.56Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M642.72,542.69a60.88,60.88,0,0,1,46.74,4.87c7.2,4,13.66,9.58,17.62,16.78,5.95,10.8,5.69,23.82,5.27,36.15-.21,6.17-.48,12.56-3.2,18.1C706,625,700.06,629.4,694,633a42.24,42.24,0,0,1-12.32,5.33c-6.72,1.46-13.7.22-20.47-1-7.36-1.36-15.26-3-20.37-8.48-3-3.18-4.64-7.31-6.26-11.35q-3.49-8.75-7-17.48c-4.05-10.11-5.42-18.52-.07-28.37,2.43-4.49,5.4-8.69,7.8-13.21C636.51,556.14,640.81,543.28,642.72,542.69Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1063,715.56v29.9a167.3,167.3,0,0,1-64.73,12.8H728.58c-.14.14-.29.27-.44.4l-3.24-.4H245.17c-40.25,0-77.55-10.86-108.14-29.36V683.25l230.72-26.63.18,0L502.29,668l34.77,3,18.06,1.53,37.38,3.17,19.23,1.63,28,2.38,3.94.33,20.18,1.71L691.23,684l38.5,3.26,64.18,5.45,45.15,3.83,74.14,6.29,14.1,1.19,1.52.13,1.32.11,18.62,1.58,20.44,1.74,2.37.2Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#504f60\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"764 573.12 474.86 523.77 463.65 580.46 596.19 596.33 637 601.44 749.26 579.33 764 573.12\",\n fill: \"#9c9ca1\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M642.33,739.94l144.86-27.23a5,5,0,0,1,5.94,4.93h0a5,5,0,0,1-4.09,4.93L647.57,749.06Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#9c9ca1\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M705.17,654.31c4.51-.42,9.08-1.13,13.14-3.13,5-2.49,8.89-6.78,13.52-9.94,10.18-7,23.8-7.94,35.47-3.92s21.41,12.63,28.23,22.91c4.53,6.85,7.93,15.59,4.73,23.15a30.51,30.51,0,0,1-4.12,6.44l-8.34,10.9a29,29,0,0,1-5.66,6.09c-3.12,2.27-7,3.2-10.82,3.76-10.15,1.48-20.48.64-30.71,1.32-17.57,1.17-34.73,6.83-52.34,6.64-10.12-.11-20.11-2.15-30-4.19l-43.77-9c-7.62-1.56-16.23-3.84-19.82-10.75-1.61-3.11-1.91-6.71-2.1-10.21-.52-9.64,0-20.36,6.68-27.31,6.28-6.52,16.21-8.58,23.71-13.4,9.18-5.91,12.21-4,21.89.44A120,120,0,0,0,705.17,654.31Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#ae6e79\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M705.17,654.31c4.51-.42,9.08-1.13,13.14-3.13,5-2.49,8.89-6.78,13.52-9.94,10.18-7,23.8-7.94,35.47-3.92s21.41,12.63,28.23,22.91c4.53,6.85,7.93,15.59,4.73,23.15a30.51,30.51,0,0,1-4.12,6.44l-8.34,10.9a29,29,0,0,1-5.66,6.09c-3.12,2.27-7,3.2-10.82,3.76-10.15,1.48-20.48.64-30.71,1.32-17.57,1.17-34.73,6.83-52.34,6.64-10.12-.11-20.11-2.15-30-4.19l-43.77-9c-7.62-1.56-16.23-3.84-19.82-10.75-1.61-3.11-1.91-6.71-2.1-10.21-.52-9.64,0-20.36,6.68-27.31,6.28-6.52,16.21-8.58,23.71-13.4,9.18-5.91,12.21-4,21.89.44A120,120,0,0,0,705.17,654.31Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.05\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M880.94,640.6c-12.28,4.75-24.63,9.52-37.49,12.35-21.56,4.75-44.12,4-65.51,9.43-11.3,2.88-22.53,7.52-34.14,6.58-5.19-.42-10.2-2-15.25-3.2-28.37-7-60.62-4.73-83.66,13.27-7.88,6.15-14.33,13.82-20.18,22a14.7,14.7,0,0,0,5.91,21.88A86.62,86.62,0,0,0,659,730.48c13.13,1.16,26.32-.7,39.38-2.56,19.38-2.75,38.77-5.51,58.1-8.6,6.94-1.11,13.88-2.26,20.86-3.14,50.23-6.35,101.37,1.37,151.73-3.93,5.09-.54,10.27-1.24,14.9-3.41,11.72-5.5,17.52-20,15.1-32.74s-11.76-23.33-23-29.83c-9.42-5.47-19.58-7.68-30.07-10C896.26,634,890.32,637,880.94,640.6Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#ae6e79\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M988.67,564.44c5.54,7.26,6.72,17,6.12,26.09s-2.76,18.08-3.08,27.21c-.44,12.52,2.58,25,2.07,37.48-.36,8.73-2.43,17.29-4.88,25.67-2.89,9.89-7.07,20.52-16.2,25.27-12.12,6.31-37.54,2.76-50.29,7.7,1.16-7.23,12.28-17.7,13.44-24.93.8-5,1.61-10.14.75-15.15-1.1-6.39-4.85-12.06-9.3-16.78-7.08-7.51-16.32-13.16-26.47-15s-35-.33-43.12,6.08c-1-6.62,17.6-13,24.14-14.43,3.26-.73,7-.32,9.61-2.39,5-3.92,1.37-11.73,1.61-18,.19-5,3.11-9.58,3.7-14.58,1-8-4.22-16.15-2.17-24,.76-2.9,2.45-5.45,3.62-8.21,3.56-8.45,2-18.09.1-27.07-1.18-5.64-2.33-12,.81-16.81,2.91-4.49,11.17,11.5,16.46,10.76,17.47-2.45,33.28-15.4,47.39-4.8,7.19,5.4,8.13,11,11,18.71C976.77,554.6,984,558.36,988.67,564.44Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.1\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M991.67,564.44c5.54,7.26,6.72,17,6.12,26.09s-2.76,18.08-3.08,27.21c-.44,12.52,2.58,25,2.07,37.48-.36,8.73-2.43,17.29-4.88,25.67-2.89,9.89-7.07,20.52-16.2,25.27-12.12,6.31-37.54,2.76-50.29,7.7,1.16-7.23,12.28-17.7,13.44-24.93.8-5,1.61-10.14.75-15.15-1.1-6.39-4.85-12.06-9.3-16.78-7.08-7.51-16.32-13.16-26.47-15s-35-.33-43.12,6.08c-1-6.62,17.6-13,24.14-14.43,3.26-.73,7-.32,9.61-2.39,5-3.92,1.37-11.73,1.61-18,.19-5,3.11-9.58,3.7-14.58,1-8-4.22-16.15-2.17-24,.76-2.9,2.45-5.45,3.62-8.21,3.56-8.45,2-18.09.1-27.07-1.18-5.64-2.33-12,.81-16.81,2.91-4.49,8.6-6.19,13.89-6.94a68.42,68.42,0,0,1,50,12.9c7.19,5.4,8.13,11,11,18.71C979.77,554.6,987,558.36,991.67,564.44Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#4c4981\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M330,517.06,384.37,718a12.55,12.55,0,0,0,10.91,9.21L640,750.72a12.54,12.54,0,0,0,13.38-15.48L593.84,492.86a12.54,12.54,0,0,0-13.12-9.51L341.13,501.27A12.54,12.54,0,0,0,330,517.06Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#9c9ca1\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 787.11,\n cy: 387.68,\n rx: 26.9,\n ry: 27.25,\n fill: \"#fff\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M837.2,479.31s5.67,16.86-11.06,23.95L824,507l10.48,10.34S847.4,493.77,846,485.4C846,485.4,844,476.9,837.2,479.31Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#fff\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 790.2,\n cy: 388.99,\n r: 25.94,\n fill: \"#6c63ff\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M846.13,489.23l-4.12-6.8-6-.85c1.28-22.39-4.53-29.06-4.53-29.06l-1.35-.13-5.88-.57-11.06-11.48v-3.26c15.54,1.85,24.13,9.23,28.77,17.88C850.16,470.14,846.13,489.23,846.13,489.23Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M830.18,448.27v4.12l-5.88-.57-11.06-11.48S830.35,444.17,830.18,448.27Z\",\n transform: \"translate(-28 -141.34)\",\n stroke: \"#4c4981\",\n strokeMiterlimit: 10,\n opacity: 0.1\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M846.13,489.23l-4.12-6.8V455C850.16,470.14,846.13,489.23,846.13,489.23Z\",\n transform: \"translate(-28 -141.34)\",\n stroke: \"#4c4981\",\n strokeMiterlimit: 10,\n opacity: 0.1\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 757.11,\n cy: 518.2,\n rx: 14.43,\n ry: 26.32,\n transform: \"translate(-185.67 306.64) rotate(-30)\",\n fill: \"#fff\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M761,516c7.27,12.59,16.19,21,9.29,25s-27,2-34.27-10.6-.67-30,6.23-34S753.72,503.38,761,516Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#6c63ff\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M825.73,425.3c0,40.23-27.53,79-67.76,79a72.85,72.85,0,0,1,0-145.7C798.2,358.64,825.73,385.06,825.73,425.3Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.1\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 729.97,\n cy: 288.15,\n r: 72.85,\n fill: \"#ae6e79\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M751.57,397.21c8.67,3.19,13.8,12.15,21.58,17.14,11,7,25.32,5.19,37.88,1.73,7-1.91,14.32-4.24,21.21-2.12a6,6,0,0,0,3.23.46c1.5-.43,2.24-2.09,2.73-3.57,8.52-25.4,4.69-54.17-8.17-77.67-3.32-6.06-7.3-11.92-12.78-16.13-4.32-3.31-9.4-5.48-14.52-7.33a145,145,0,0,0-28.88-7.13,17.94,17.94,0,0,0-5.27-.17c-2.41.39-4.57,1.69-6.72,2.85A68.78,68.78,0,0,1,732,313.38c-14,.53-30-2.77-40.79,6.21-13,10.77-9.76,31.78-18.19,46.4-5.58,9.67-16.34,16.69-18.11,27.7a25.57,25.57,0,0,0,.63,10.07c4.12,16.94,20.52,30.06,38,30.37a14.42,14.42,0,0,0,7.76-1.59,17.55,17.55,0,0,0,4.09-3.89C716.84,415.09,729.94,389.25,751.57,397.21Z\",\n transform: \"translate(-28 -141.34)\",\n fill: \"#444053\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M838.2,403.48c-.49,1.48-1.23,3.14-2.73,3.57a6,6,0,0,1-3.23-.46c-6.89-2.12-14.25.21-21.2,2.12-12.57,3.46-26.92,5.31-37.88-1.73-7.79-5-12.91-14-21.59-17.14-21.63-8-34.73,17.88-46.21,31.44a17.55,17.55,0,0,1-4.09,3.89,14.42,14.42,0,0,1-7.76,1.59c-17.42-.31-33.83-13.43-38-30.37-.23-1-.43-2-.58-3,0,.09,0,.17-.05.26a25.57,25.57,0,0,0,.63,10.07c4.12,16.94,20.53,30.06,38,30.37a14.42,14.42,0,0,0,7.76-1.59,17.55,17.55,0,0,0,4.09-3.89c11.48-13.56,24.58-39.4,46.21-31.44,8.68,3.19,13.8,12.15,21.59,17.14,11,7,25.31,5.19,37.88,1.73,7-1.91,14.31-4.24,21.2-2.12a6,6,0,0,0,3.23.46c1.5-.43,2.24-2.09,2.73-3.57a90.29,90.29,0,0,0,4.48-32.26A88.8,88.8,0,0,1,838.2,403.48Z\",\n transform: \"translate(-28 -141.34)\",\n opacity: 0.1\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeveloperActivity);\nexport default __webpack_public_path__ + \"static/media/developerActivity.2c0445cae86f4243433a2f5a22b2c031.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _polygon, _rect, _path7, _rect2, _polygon2, _path8, _path9, _path10, _path11, _path12, _path13, _rect3, _rect4, _rect5, _rect6, _rect7, _path14, _path15, _rect8, _rect9, _rect10, _path16, _path17, _rect11, _rect12, _rect13, _rect14, _rect15, _rect16, _rect17, _rect18, _rect19, _rect20, _rect21, _rect22, _rect23, _rect24, _rect25, _rect26, _polygon3, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _ellipse, _polygon4, _polygon5, _path26, _path27, _path28, _g, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _polygon6, _path36, _path37, _path38, _path39, _path40, _path41, _polygon7, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _circle, _path65, _circle2, _circle3, _path66, _rect27, _rect28, _circle4, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _circle5, _circle6, _circle7, _circle8, _circle9, _circle10, _path83, _path84, _path85, _g2, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _ellipse2, _path93, _path94, _path95, _path96, _path97, _path98, _path99, _path100, _path101, _path102, _path103, _path104, _path105, _path106, _path107, _path108, _path109, _path110, _path111, _rect29, _rect30, _rect31, _rect32, _rect33, _path112, _path113, _path114, _circle11, _circle12, _circle13, _circle14, _circle15, _circle16, _circle17, _circle18, _circle19, _circle20, _circle21, _circle22, _rect34, _rect35, _circle23, _circle24;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgManOnTable(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"bfc59778-adb9-4ded-81d5-12977ec092f3\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 996.46,\n height: 828.18,\n viewBox: \"0 0 996.46 828.18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"e507827f-2863-48fa-82fe-b741cb149057\",\n x1: -925.56,\n y1: 683.71,\n x2: -925.56,\n y2: 144.42,\n gradientTransform: \"matrix(-1, 0, 0, 1, -573.82, 0)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"gray\",\n stopOpacity: 0.25\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.54,\n stopColor: \"gray\",\n stopOpacity: 0.12\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"gray\",\n stopOpacity: 0.1\n })))), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"on the office\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1096.36,308.36h-91.94V419.81h85.22c.22,1.15.43,2.3.68,3.44h-85.9v89.86l.43-.14q3.64-1.28,7.23-2.72l1.54-.63q3.68-1.51,7.23-3.23c.85-.39,1.69-.8,2.52-1.22a149.83,149.83,0,0,0,36.17-25c.31-.27.6-.55.88-.82,1.47-1.42,2.91-2.85,4.31-4.32l1.54-1.64c1.65-1.79,3.24-3.64,4.79-5.51l.68-.82a116.4,116.4,0,0,0,15.58-25c.13-.27.24-.55.36-.82,1.25-2.82,2.38-5.68,3.36-8.59.42-1.23.82-2.46,1.17-3.69.12-.37.23-.73.33-1.09,5.1-17.85,5.69-36.4,5.69-54.85,0-2.15,0-4.31,0-6.45,0-7.45-.11-15-.25-22.45,0-1.94-.09-3.87-.14-5.82q-.18-7.43-.54-14.84c-.06-1.38-.12-2.75-.21-4.11,0-.79-.08-1.58-.13-2.37C1096.76,314.05,1096.58,311.21,1096.36,308.36Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,184.29h50.43A344.83,344.83,0,0,0,1028,151.45c-7.5-8.18-15.37-16.16-23.61-23.84Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,187.73V304.92h91.65c0-.34-.06-.69-.09-1-.08-.92-.16-1.84-.25-2.77s-.21-2.16-.33-3.25-.24-2.35-.38-3.51-.26-2.35-.41-3.52-.29-2.34-.45-3.5-.31-2.34-.49-3.5c-.14-1-.27-1.92-.42-2.89-.21-1.36-.43-2.73-.66-4.08a5.78,5.78,0,0,0-.11-.6,251.24,251.24,0,0,0-6.74-29.43A202.47,202.47,0,0,0,1074.37,217a216.88,216.88,0,0,0-17.11-29.3Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M786.08,308.36V419.81H982.46V308.36Zm0,114.89v75.47c22.86-7.31,49-4.36,72.7,1.64,18.35,4.66,36.23,11,54.55,15.56a200.08,200.08,0,0,0,24.87,4.7l2.06.22c1,.1,2,.2,3,.28l3,.21.31,0,1.34,0a3.55,3.55,0,0,0,.46,0l1.62.06h.05c.77,0,1.55,0,2.33.06h1c.77,0,1.55,0,2.33,0l1.71,0,1.38,0c.59,0,1.17,0,1.75-.06.94,0,1.88-.08,2.83-.15a0,0,0,0,0,0,0l1.75-.11,2.16-.17c1.53-.12,3-.28,4.55-.46.6-.07,1.21-.14,1.81-.23l.89-.11c1.51-.2,3-.44,4.51-.69,1.11-.17,2.22-.38,3.34-.58V423.25Zm146.06-239v3.44H786.08V304.92H982.46V187.73h-9.85v-3.44h9.85V108.55c-38.2-30.77-82.85-54.87-132.58-66a282,282,0,0,0-63.8-6.65V184.29Zm-449-.66.69.66H764.11V36.93c-49.9,4.15-98.56,20.91-137.79,48.68-18.85,13.33-35.78,29.13-56.93,39.36a89.15,89.15,0,0,1-35.6,9.2Zm-1.93-60.44v33.35l27.08-26.43C498.22,126.59,490.28,124.21,481.17,123.19Zm-.9,419.56.9,0v73.1q15.33-1.14,30.54-3.14A546.44,546.44,0,0,0,644,578.41h0q6.84-2.74,13.58-5.66,4.49-1.95,8.93-4,6.66-3.06,13.22-6.29A465.15,465.15,0,0,0,735.6,530c1.11-.75,2.23-1.51,3.33-2.28q3.32-2.3,6.59-4.64c1.09-.79,2.18-1.58,3.26-2.38L751,519c2.24-1.67,4.47-3.35,6.73-5h0c2.09-1.5,4.2-3,6.34-4.4v-86.4H538.92c.16-.51.31-1,.48-1.54-.18.52-.34,1-.49,1.54H481.17V542.69Zm.9-355V304.92H764.11V187.73Zm0,120.63V419.81H764.11V308.36ZM424.65,126.58l34.56,33.73V123Q441.84,124.08,424.65,126.58ZM184,308.36V419.81H459.21V308.36Zm66.52,275.25a511.15,511.15,0,0,0,129.73,30.78l.19,0q12.59,1.33,25.25,2.06l.31,0h0c17.69,1,35.45,1.23,53.18.57V423.25H184l1,128.32M107.77,419.81h54.28V308.36H140.58c-2.23,3.92-4.39,7.86-6.44,11.86q-1.65,3.19-3.21,6.45C116.8,356,107.82,388.24,107.77,419.81Zm0,3.44c.44,22.64,5.54,44.86,16.73,65.39,9.3,17.05,22.22,32,37.51,45V423.25Zm34.78-118.33h19.46v-29A309.35,309.35,0,0,0,142.59,304.92ZM264.48,184.29H452.72l.68-.66-1-1h0L399.47,131A429.83,429.83,0,0,0,353,143.45c-1.44.47-2.88,1-4.31,1.45A421.47,421.47,0,0,0,264.48,184.29ZM184,249.66v55.26H425.36l0,0,.05,0h33.83v-114l-3.86-3.14H258.94A377.73,377.73,0,0,0,184,249.66Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,246.84v58.08h91.65c0-.34-.06-.69-.09-1-.08-.92-.16-1.84-.25-2.77s-.21-2.16-.33-3.25-.24-2.35-.38-3.51-.26-2.35-.41-3.52-.29-2.34-.45-3.5-.31-2.34-.49-3.5c-.14-1-.27-1.92-.42-2.89-.21-1.36-.43-2.73-.66-4.08a5.78,5.78,0,0,0-.11-.6,251.24,251.24,0,0,0-6.74-29.43Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1096.36,308.36h-91.94V419.81h85.22c.22,1.15.43,2.3.68,3.44h-85.9v89.86l.43-.14q3.64-1.28,7.23-2.72l1.54-.63q3.68-1.51,7.23-3.23c.85-.39,1.69-.8,2.52-1.22a149.83,149.83,0,0,0,36.17-25c.31-.27.6-.55.88-.82,1.47-1.42,2.91-2.85,4.31-4.32l1.54-1.64c1.65-1.79,3.24-3.64,4.79-5.51l.68-.82a116.4,116.4,0,0,0,15.58-25c.13-.27.24-.55.36-.82,1.25-2.82,2.38-5.68,3.36-8.59.42-1.23.82-2.46,1.17-3.69.12-.37.23-.73.33-1.09,5.1-17.85,5.69-36.4,5.69-54.85,0-2.15,0-4.31,0-6.45,0-7.45-.11-15-.25-22.45,0-1.94-.09-3.87-.14-5.82q-.18-7.43-.54-14.84c-.06-1.38-.12-2.75-.21-4.11,0-.79-.08-1.58-.13-2.37C1096.76,314.05,1096.58,311.21,1096.36,308.36Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"811.56 168.6 811.56 269.01 880.69 269.01 880.69 168.6 870.84 168.6 870.84 134.6 830.37 134.6 830.37 168.6 811.56 168.6\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 811.56,\n y: 272.45,\n width: 69.13,\n height: 111.44,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M982.46,423.25H913.34v92.67a201.42,201.42,0,0,0,24.86,4.7l2.06.22c1,.11,2,.2,3,.28l3,.21c.1,0,.21,0,.31,0,.44,0,.89,0,1.34.06l.46,0c.54,0,1.08,0,1.63.06h0c.77,0,1.55,0,2.33.06h1c.78,0,1.55,0,2.33,0l1.71,0,1.38,0,1.76-.06c.93,0,1.88-.08,2.82-.15a0,0,0,0,0,0,0l1.74-.11,2.17-.17c1.52-.13,3-.28,4.54-.46l1.81-.23.89-.11c1.51-.21,3-.43,4.51-.69,1.12-.17,2.22-.38,3.34-.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 156.74,\n width: 57.01,\n height: 112.26,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"379.4 272.45 379.4 383.9 662.34 383.9 662.34 335.83 511.63 335.83 511.63 364.19 436.4 364.19 436.4 272.45 379.4 272.45\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M480.27,542.75l.9,0v73.11q15.33-1.16,30.54-3.14A547.41,547.41,0,0,0,644,578.41q18.24-7.32,35.73-15.94A465.15,465.15,0,0,0,735.6,530q6.69-4.54,13.17-9.29c3-2.21,6-4.46,9-6.65,2.09-1.5,4.2-3,6.34-4.41V423.25H538.93c.16-.51.31-1,.47-1.53-.17.51-.34,1-.49,1.53H481.17V542.7Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M332.5,184.29h37.14V174H353V143.45c-1.44.47-2.88,1-4.31,1.45V174H332.5Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M243,304.92H425.36l-.06,0,.09,0h33.82V192.65h-9.58v83h-43.8V226.53H369.64v-38.8H332.5v38.8H296.32v49.11H243Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M243,308.36V419.81H459.21V308.36Zm7.55,275.25a511.15,511.15,0,0,0,129.73,30.78l.19,0q12.59,1.33,25.25,2.06l.31,0h0c17.69,1,35.45,1.23,53.18.57V423.25H243v39.51H184l.31,88.21\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.24,423.25H107.81c.44,22.64,5.55,44.86,16.73,65.39,9.3,17.06,22.23,32,37.51,45V462.76h-3.81Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.77,419.81h50.47V326.67H130.93C116.8,356,107.82,388.24,107.77,419.81Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 187.95,\n width: 30.54,\n height: 35.2,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 260.91,\n width: 30.54,\n height: 8.1,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 272.45,\n width: 30.54,\n height: 23.65,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 333.86,\n width: 30.54,\n height: 35.2,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect7 || (_rect7 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 379.4,\n y: 406.82,\n width: 30.54,\n height: 35.2,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M481.17,542.7l-.9,0,.9,0v8.17h30.54v-35.2H481.17Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M481.17,588.63v27.19q15.33-1.16,30.54-3.14v-24Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect8 || (_rect8 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.46,\n y: 381.31,\n width: 130.88,\n height: 2.58,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect9 || (_rect9 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.46,\n y: 387.34,\n width: 130.88,\n height: 9.91,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect10 || (_rect10 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.46,\n y: 429.73,\n width: 130.88,\n height: 15.94,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M633.23,514.06V530H735.61q6.67-4.53,13.17-9.3c3-2.2,6-4.45,9-6.63Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M633.23,562.47v15.94H644q18.23-7.3,35.72-15.94Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect11 || (_rect11 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 319.16,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 625.33) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect12 || (_rect12 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 212.41,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 411.82) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect13 || (_rect13 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 265.63,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 518.26) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect14 || (_rect14 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 318.85,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 624.69) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect15 || (_rect15 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 372.07,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 731.13) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect16 || (_rect16 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 425.28,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 837.57) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect17 || (_rect17 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 938.14,\n y: 478.5,\n width: 25.76,\n height: 22.91,\n transform: \"translate(1800.26 944) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect18 || (_rect18 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 319.16,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 625.33) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect19 || (_rect19 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 375.68,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 738.35) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect20 || (_rect20 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 375.68,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 738.35) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect21 || (_rect21 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 432.19,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 851.37) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect22 || (_rect22 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 432.19,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 851.37) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect23 || (_rect23 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 488.7,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 964.39) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect24 || (_rect24 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 488.7,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 964.39) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect25 || (_rect25 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 380.26,\n y: 545.21,\n width: 25.76,\n height: 22.91,\n transform: \"translate(684.52 1077.42) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _rect26 || (_rect26 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 281.9,\n y: 545.21,\n width: 25.76,\n height: 22.91,\n transform: \"translate(487.8 1077.42) rotate(-180)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon3 || (_polygon3 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"304.25 580.58 304.25 565.81 278.5 565.81 278.5 578.48 304.25 580.58\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,276.26v13.11h88.17V276.26Zm79.39.83H1091v11.46h-7.23Zm-8.78,0h7.23v11.46H1075Zm-8.76,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0H1056v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,314.42v13.11h88.17V314.42Zm79.39.83H1091V326.7h-7.23Zm-8.78,0h7.23V326.7H1075Zm-8.76,0h7.23V326.7h-7.23Zm-8.78,0h7.23V326.7h-7.23Zm-8.77,0H1056V326.7h-7.23Zm-8.78,0h7.23V326.7h-7.23Zm-8.78,0h7.23V326.7h-7.23Zm-8.77,0h7.23V326.7h-7.23Zm-8.77,0h7.23V326.7h-7.23Zm-8.77,0h7.23V326.7h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,352.57v13.1h88.17v-13.1Zm79.39.82H1091v11.46h-7.23Zm-8.78,0h7.23v11.46H1075Zm-8.76,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0H1056v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,390.72v13.1h88.17v-13.1Zm79.39.82H1091V403h-7.23Zm-8.78,0h7.23V403H1075Zm-8.76,0h7.23V403h-7.23Zm-8.78,0h7.23V403h-7.23Zm-8.77,0H1056V403h-7.23Zm-8.78,0h7.23V403h-7.23Zm-8.78,0h7.23V403h-7.23Zm-8.77,0h7.23V403h-7.23Zm-8.77,0h7.23V403h-7.23Zm-8.77,0h7.23V403h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,428.87V442h82.9c.12-.27.24-.55.35-.82h-3.86V429.7H1091v2.85c.42-1.22.82-2.44,1.17-3.68Zm70.61.83h7.23v11.45H1075Zm-8.76,0h7.23v11.45h-7.23Zm-8.78,0h7.23v11.45h-7.23Zm-8.77,0H1056v11.45h-7.23Zm-8.78,0h7.23v11.45h-7.23Zm-8.78,0h7.23v11.45h-7.23Zm-8.77,0h7.23v11.45h-7.23Zm-8.77,0h7.23v11.45h-7.23Zm-8.77,0h7.23v11.45h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,467v13.1h55.11c.32-.27.6-.56.89-.82h-2.93V467.85h7.23V475l1.55-1.65v-5.5h4.79c.23-.28.45-.56.68-.82Zm44.3.82H1056v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.78,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Zm-8.77,0h7.23v11.46h-7.23Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.42,505.18v7.93a3.12,3.12,0,0,0,.43-.15v-7h7.23v4.26l1.54-.63V506h7.23v.4c.85-.39,1.69-.8,2.52-1.21Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M425.33,304.94l.05,0h0Zm54.94,237.81.9,0v0Zm58.64-119.5h0c.16-.51.31-1,.48-1.54C539.22,422.23,539.06,422.74,538.91,423.25ZM425.33,304.94l.05,0h0ZM932.14,184.29v3.44h40.47v-3.44ZM480.27,542.75l.9,0v0Zm58.64-119.5h0c.16-.51.31-1,.48-1.54C539.22,422.23,539.06,422.74,538.91,423.25ZM425.33,304.94l.05,0h0Zm54.94,237.81.9,0v0Zm58.64-119.5h0c.16-.51.31-1,.48-1.54C539.22,422.23,539.06,422.74,538.91,423.25Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 902.95,\n cy: 820.59,\n rx: 34.58,\n ry: 3.83,\n fill: \"#6c63ff\",\n opacity: 0.1\n })), _polygon4 || (_polygon4 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"668.32 535.25 651.04 534.3 649.87 484.67 649.6 472.85 667.83 469.49 667.95 484.73 668.32 535.25\",\n fill: \"#d48a9b\"\n })), _polygon5 || (_polygon5 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"654.87 526.61 566.07 581.82 564.15 598.62 573.75 599.1 573.75 587.1 631.83 554.46 561.75 641.34 561.75 654.78 573.27 654.78 572.31 639.9 653.43 547.74 663.51 548.7 748.96 645.66 750.88 661.99 762.4 662.47 760.48 645.66 692.8 561.18 737.92 592.38 738.88 605.82 748 606.3 747.04 589.98 661.11 523.73 654.87 526.61\",\n fill: \"#d48a9b\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M645.08,468.09A158.41,158.41,0,0,0,666,434c6.11-13.52,12.81-29.13,13.32-33.75,1-8.64,25.44-25.92,52.32-26.88,17.53-.63,44.84-14.31,61.74-23.76a125.67,125.67,0,0,1,51.8-16c19.77-1.49,38.36,2.39,29,25.33L748.48,511.16s-107.2,18.89-113.81-11.48a25.26,25.26,0,0,0-1.53-4.46C631.89,492.35,631.56,484.86,645.08,468.09Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M654.52,471.11a163.07,163.07,0,0,0,21.13-34.4c5.7-12.64,11.75-26.81,12.23-31.1.92-8.25,24.34-24.76,50.06-25.68,16.77-.6,42.9-13.66,59.06-22.69A120.41,120.41,0,0,1,846.58,342c18.91-1.42,36.7,2.29,27.78,24.2l-99.71,146s-123,17.45-129.51-11.42a28.87,28.87,0,0,0-1.53-4.48C642.47,493.44,642.31,486.43,654.52,471.11Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dda2a6\",\n opacity: 0.2\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M769.72,520.64c-5.78,0-11.87,0-18.08-.06l-.27-11.82,18.23-3.35Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"737.92 589.5 692.8 558.3 697.97 564.75 737.92 592.38 738.88 605.82 748 606.3 747.83 603.41 738.88 602.94 737.92 589.5\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"573.75 584.22 573.75 587.1 627.58 556.85 631.83 551.58 573.75 584.22\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"561.75 651.9 561.75 654.78 573.27 654.78 573.08 651.9 561.75 651.9\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"573.75 596.22 564.47 595.76 564.15 598.62 573.75 599.1 573.75 596.22\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"750.88 659.11 748.96 642.78 663.51 545.82 653.43 544.86 572.31 637.02 572.48 639.71 653.43 547.74 663.51 548.7 748.96 645.66 750.88 661.99 762.4 662.47 762.07 659.57 750.88 659.11\"\n }))), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M759.52,426.06S782,442.5,772.16,442.69,759.52,426.06,759.52,426.06Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M665.2,516s37.2-2.88,51.12-29.76c0,0,28.32-56.17,51.37-62.41s65.76-20.16,83.52-41.76,25.21-38.16,25.21-38.16S881,361.39,866.57,382,846.89,434.35,836.81,468s-13.92,47-32.16,49c-13.75,1.45-86.45.72-121.21,0C672.07,516.69,665.2,516,665.2,516Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M665.2,516s37.2-2.88,51.12-29.76c0,0,28.32-56.17,51.37-62.41s65.76-20.16,83.52-41.76,25.21-38.16,25.21-38.16S881,361.39,866.57,382,846.89,434.35,836.81,468s-13.92,47-32.16,49c-13.75,1.45-86.45.72-121.21,0C672.07,516.69,665.2,516,665.2,516Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dda2a6\",\n opacity: 0.2\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M674.56,516s35.56-2.79,48.86-28.82c0,0,27.08-54.38,49.1-60.42s62.86-19.53,79.84-40.44,24.09-36.95,24.09-36.95,4.35,17-9.41,36.95-18.81,50.66-28.45,83.2-13.3,45.55-30.74,47.41c-13.14,1.4-82.63.69-115.86,0C681.13,516.72,674.56,516,674.56,516Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M645.76,502s19.44,7.44,30.48,3.36,38.4-16.08,38.4-16.08S668.56,492.2,645.76,502Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M775.74,851.35s-55.88-3-69.5-11-32.9-8-33-8l-222.5-48.5-92.5-22-16.5-2.17,54.5-62.36,1.66-.72,80.34-34.75s36,2,43.11,25.46a28.33,28.33,0,0,1,1,5.06,29.36,29.36,0,0,1-5.68,20.54c-2.84,3.88-6.33,9.39-7.43,14.24-.62,2.74-.48,5.27,1,7.2a58.69,58.69,0,0,0,9.88,7.89c19.59,13,69.11,34.42,155.62,1.61,0,0,37-36.5,65-21S775.74,851.35,775.74,851.35Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#e1dee5\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M509.28,727.15c-.62,2.74-.48,5.27,1,7.2a58.69,58.69,0,0,0,9.88,7.89L351.74,754.85,397.9,696.6l80.34-34.75s36,2,43.11,25.46a28.33,28.33,0,0,1,1,5.06,29.36,29.36,0,0,1-5.68,20.54C513.87,716.79,510.38,722.3,509.28,727.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _polygon6 || (_polygon6 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"242.97 461.94 380.97 464.94 380.97 630.13 249.97 718.94 218.47 689.94 224.97 593.94 218.47 504.44 242.97 461.94\",\n fill: \"#a36468\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M266.24,470.85,427.36,421.2a24.41,24.41,0,0,1,8.95-1l384.9,28.09a181.82,181.82,0,0,1,91.66,32.33c24.91,17.57,49.58,44.54,61,85.38a163.05,163.05,0,0,1-1.65,91.83l-34,110s25.5-239-229-251Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d9d6df\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.74,494.35V759.68s-44.15-6.21-52-14.83c-6.44-7.07-43.75-27-59.94-47.53-3.55-4.5-6.09-9-7.06-13.47-5.42-24.68-27.5-83-27.5-83l6-57,25-37,48.5-22h37.5Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#b8797d\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M281.74,497.85s-71.76,45-56.06,117.41c1.28,5.9,2.39,11.83,3.12,17.83,2.87,23.42,20.09,90.72,122.94,121.76v7l-43.63-12.17-29.62-16.33-22.61-20.28-27.64-33.72-12.83-27.5-4.7-36.22L208,574.28l6.61-35.47,15.59-23.08,19-14.77Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d9d6df\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.74,494.35v42.21c-31.3,3.4-128.21,23-111,135l-.95,25.72c-3.55-4.5-6.09-9-7.06-13.47-5.42-24.68-27.5-83-27.5-83l6-57,25-37,48.5-22h37.5Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M516.71,712.91c-2.84,3.88-6.33,9.39-7.43,14.24-4.36-5-5.3-10.75,1-15.3,7.89-5.74,10.52-15.7,11.11-24.54a28.33,28.33,0,0,1,1,5.06A29.36,29.36,0,0,1,516.71,712.91Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#fff\",\n opacity: 0.1\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M920.74,739.85l-19,64.5-43,42-54,11-84-15V543.85s14.5-9.5,16-9.5,42,6.5,42,6.5l91.7,65.77,3.8,2.73,41,61Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#b8797d\"\n })), _polygon7 || (_polygon7 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"618.97 495.44 618.97 806.44 627.07 807.89 627.07 495.44 618.97 495.44\",\n fill: \"#a36468\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M872.24,627.35c-60-49.3-126.7-56.55-151.5-57.45v-26s14.5-9.5,16-9.5,42,6.5,42,6.5l91.7,65.77Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M708.07,511.35l-375.83-41L290,468.11a86.81,86.81,0,0,0-70.21,29.35c-22,25.3-38.63,69.93-14.34,146.56,0,0,25.33,99.33,148,120.67l356.44,80.77c7.9,1.79,15.7,4,23.4,6.51,32.36,10.63,142,38.17,193.65-55.45,17.7-32.1,23-69.53,16.18-105.56C930.69,625.06,883.76,513.23,708.07,511.35ZM892.2,792.24C844,870.76,744.68,847.39,714.82,838.17c-7.31-2.26-14.71-4.23-22.2-5.83L363.36,761.9C249.92,743.27,226.49,656.54,226.49,656.54c-19.15-57-10.78-93.78,4.7-117.06,16.21-24.37,44.43-38,73.67-36.52l38.92,2,336.16,44.91c6.8.91,13.65,1.51,20.51,1.74,149.49,5.07,196,87.27,207.82,143.92C915.21,728.64,909.93,763.38,892.2,792.24Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#e1dee5\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106,678.46c12.31,8.24,31,4.32,31,4.32s28.19-13.35,36.52-13.35,28.59-8.25,28.59-8.25l-.69-5.56-2.06-16.75c12.83,10,27.09,6.55,34.11,5.82,7.54-.78,47.83-24.73,51.71-26.31,1.05-.42,2.28-1.79,3.53-3.56h0a90.77,90.77,0,0,0,6.82-12.46h0c2.52-2.22,4.36-4,4.23-4.39s1-3.31,2.47-6.6c5.72-1,10.65-3.12,12.22-4.4a10.67,10.67,0,0,0,4-8.64s39.31-39.65,34.14-56.14,12.71-16.89,12.71-16.89,27.39-11.78,31.2-18.84c2.35-4.35,22.9-13.9,38.36-20.6l1.9-.82c6,13.15,36.48,3,42.48-2.53,6.35-5.89,25-8.64,25-8.64s.8-77,6.75-86.78c2.83-4.65,3.51-19.85,3.44-34.53,0-.52,0-1,0-1.56,8.34-1.63,28.18-5.4,37.39-6.31,5.84-.58,11.93-4.22,16.6-7.76l.55.69a11.4,11.4,0,0,0,5.07.83,7.76,7.76,0,0,0,4.45-.83c3.58-2,16.68-5.89,21.44-7.85s-.79-16.1-4.36-18.85-6-6.28-4-7.85-4.76-5.5-8.73-6.29-15.88-6.28-15.88-6.28-4.37-9-11.51-9-16.68-7.07-16.68-7.07c-.39-3.14-7.94-3.53-7.94-3.53s-28.58-22-33.35-19.24-17.86-4.32-17.86-4.32-16.07,1.8-19.85-1.16v0a4.46,4.46,0,0,0-1-2.66c-.85-2.66-5-6.3-9-9.33a35.4,35.4,0,0,0,.46-5.68c0-.82,0-1.64-.09-2.45,0-.14,0-.27,0-.41l.57-5.53a11.42,11.42,0,0,1,1.38-5.2c.67-1,1.66-1.85,2.41-2.84a7.06,7.06,0,0,0,.48-.73l.12-.21a6.54,6.54,0,0,0,.3-.59l.09-.2a9.6,9.6,0,0,0,.51-1.68l0-.13c.05-.26.09-.52.12-.79a.45.45,0,0,1,0-.11,16.75,16.75,0,0,0-.9-6.74c-1.19-3.71-3.05-7.29-3.25-11.16-.1-1.92.22-3.88-.2-5.76-1-4.29-5.37-7-9.62-8.8-5.87-2.46-8.83-5.15-13.54-8.81-4-3.1-10.62-1.54-15.66-1.22-11.52.74-22.89,4.21-33.73,7.79-4.21,1.4-8.5,3-11.78,5.85a13,13,0,0,0-4.31,7.28h0a9.52,9.52,0,0,0-.13,2c0,.06,0,.12,0,.17,0,.26,0,.51.09.76a1.87,1.87,0,0,0,0,.25,5.9,5.9,0,0,0,.22.9v0c.46,1.45,1.31,2.76,1.8,4.2a8.21,8.21,0,0,1,.27,1s0,.07,0,.1c.07.32.12.63.16,1h0c.44,3.57-.88,7.3-1.46,10.94-.08.51-.14,1-.18,1.56h0v0a18.64,18.64,0,0,0,.55,6.27.19.19,0,0,0,0,.07c.06.25.15.5.23.74a3,3,0,0,0,.1.32c.07.21.16.42.24.62l.17.42c.08.18.17.36.26.54s.15.3.23.44a5.46,5.46,0,0,0,.27.48c.09.16.19.31.29.46s.19.29.3.43.23.31.35.46l.31.38.42.44.33.33.49.42c.12.09.22.19.34.27s.41.29.62.42l.29.2c.32.19.66.36,1,.52,2.28,1,5.16,1.41,6.53,3.42a4.22,4.22,0,0,1,.67,1.56c0,.13,0,.27,0,.4v.35c0,1.16.08,2.31.2,3.44a12.73,12.73,0,0,0,.11,1.86,5.33,5.33,0,0,0,.38,1.35,35.68,35.68,0,0,0,12,20.22c.12.61.26,1.32.41,2.12a39.71,39.71,0,0,1-11.55,6c-9.53,2.79-23,15.66-23,15.66s-6.7,48.29-8.31,54.18-2.8,28.67-2.8,28.67-1.59,9.42-4,14.13c-1.69,3.32-1.38,17.59,3.32,26.26a21.9,21.9,0,0,1-2.92,4.76c-9.53,11-38.12,10.6-47.65,10.6-8.77,0-11.48,5.32-11.85,6.16-17.45,5-73.95,21.08-80.65,24-7.94,3.47-12.31,37.76-12.31,37.76S172.68,523,173.47,530.46s-5.56,28.24-5.56,28.24,0,23.49-2.69,25.08a.25.25,0,0,1-.08.05c-2.78,1.18-2.39,12.57-2.39,12.57s2.05.59,5.24,1.4c-.85,5.75-4,13.8-6.43,19.52-1.24-1.57-2.45-2.22-3.17-.4-2,5-31.76,40.34-39.31,40.34-3.59,0-9.53,2.94-13.44,6.91C101.36,668.54,99.54,674.15,106,678.46ZM242.55,473.89c33.75,3.14,69.88-2.39,69.88-2.39s-2.78,9.85-5.16,13.78-9.14,26.31-9.14,31-10.72,45.15-13.89,47.11c-1.33.83-2.52,2.89-3.46,5a46.94,46.94,0,0,0-2.1,6q.07,1.53.27,2.91c-2.37,2.17-4.88,4.45-7.11,6.47h0s-14.2,7.9-19,12.22-27,9.62-27,9.62a138.21,138.21,0,0,0-16,8.15c-6.89,4.15-13.78,9.43-15.58,14.64.78-8.78,2.05-19.35,2.9-26.07l1.26-.05c11.13-.69,9.47-11.31,8.88-13.94-.08-.38-.14-.59-.14-.59,7.94-8.64,25.8-73,23.42-80.1s2-13.35,2.93-13.35,2.23-7.85.25-12.17S242.55,473.89,242.55,473.89Zm272.9-173.22-2.11.52,0-.45S514.11,300.74,515.45,300.67ZM400.09,241.42c-.32.4-.64.78-1,1.15l-.41.42c0-.73,0-1.47,0-2.18C399.16,241,399.62,241.23,400.09,241.42ZM360.32,317.6l.14,2.21s-.21,1.35-.61,3.66Zm182.45-21.94-6.93,1.19c1-.37,1.95-.77,2.89-1.22a6.65,6.65,0,0,1,2.21-.6,12.69,12.69,0,0,1,2.58.55A4.78,4.78,0,0,0,542.77,295.66Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"url(#e507827f-2863-48fa-82fe-b741cb149057)\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M308.48,579.14s-8,16.51-7.59,17.68S283.74,612,283.74,612l-19.09-13.63,2-9.36s21.43-19.31,23-21.54S308.48,579.14,308.48,579.14Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.58,635c13.25,12.86,28.83,9,36.24,8.19s46.94-24.55,50.74-26.11c1-.42,2.25-1.78,3.47-3.54h0a89.92,89.92,0,0,0,6.69-12.37c-.26.07-13.22,3.78-16.49,0,0,0-5.46-6.69-6.63-6.69s-.09-11.74-.09-11.74-13.94,7.84-18.61,12.13-26.5,9.54-26.5,9.54a134,134,0,0,0-15.68,8.09C202.4,618.8,192,627.69,199.58,635Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.58,635c13.25,12.86,28.83,9,36.24,8.19s46.94-24.55,50.74-26.11c1-.42,2.25-1.78,3.47-3.54-4.61-2.75-34.73,16.4-43.16,19.91S217.11,635,205,629.94c-6-2.53.08-10.3,7.7-17.44C202.4,618.8,192,627.69,199.58,635Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201.14,594.48s-5.55,41.69-4.14,47.15-34.83-18.7-34.83-18.7,12.68-26.13,9-32.13S201.14,594.48,201.14,594.48Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.46,595.26s22.6,6.62,35.06,5.84c10.92-.68,9.29-11.22,8.72-13.83-.08-.37-.14-.58-.14-.58,7.79-8.58,25.33-72.48,23-79.49S235,494,236,494s2.19-7.8.24-12.08,8.58-8.18,8.58-8.18c33.12,3.11,68.58-2.38,68.58-2.38s-2.73,9.78-5.07,13.68-9,26.1-9,30.78-10.52,44.81-13.64,46.76c-1.3.82-2.47,2.86-3.39,5a46.75,46.75,0,0,0-2.06,6c1.17,26.11,30.78,16,35.07,12.47a11.5,11.5,0,0,0,1.66-1.7,10.9,10.9,0,0,0,2.23-6.88s38.58-39.35,33.51-55.72,12.47-16.75,12.47-16.75,26.89-11.69,30.63-18.71c2.31-4.31,22.47-13.78,37.65-20.44,9.51-4.17,17.06-7.22,17.06-7.22l-6.32-22.66-5-17.87-9.38-3.52-30-11.28L346,395.75l-4.93.64-52.29,6.77S212.44,425,204.64,428.42s-12.08,37.47-12.08,37.47S176.2,522.39,177,529.83s-5.46,28-5.46,28,0,23.31-2.65,24.89a.14.14,0,0,1-.08,0C166.07,584,166.46,595.26,166.46,595.26Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#444053\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M244.78,473.69c33.12,3.11,68.58-2.38,68.58-2.38,2.34-7.37,35.09-27.63,35.09-27.63C321.58,437.06,244.78,473.69,244.78,473.69Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M280.24,573.44c1.17,26.11,30.78,16,35.07,12.47a11.5,11.5,0,0,0,1.66-1.7c-10.35,3.81-28.7,6.76-34.67-16.73A46.75,46.75,0,0,0,280.24,573.44Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#444053\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.46,595.26s22.6,6.62,35.06,5.84c10.92-.68,9.29-11.22,8.72-13.83-11.44-.36-31.14-1.43-41.37-4.53a.14.14,0,0,1-.08,0C166.07,584,166.46,595.26,166.46,595.26Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#444053\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M280.24,573.44c1.17,26.11,30.78,16,35.07,12.47a11.5,11.5,0,0,0,1.66-1.7c-10.35,3.81-28.7,6.76-34.67-16.73A46.75,46.75,0,0,0,280.24,573.44Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.46,595.26s22.6,6.62,35.06,5.84c10.92-.68,9.29-11.22,8.72-13.83-11.44-.36-31.14-1.43-41.37-4.53a.14.14,0,0,1-.08,0C166.07,584,166.46,595.26,166.46,595.26Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.73,676.7c12.08,8.18,30.4,4.28,30.4,4.28s27.66-13.24,35.85-13.24S205,659.55,205,659.55l-.67-5.51-3.22-26.44s-30.35-.78-31.57-3.51c0,0-5.45-13.42-7.4-8.46s-31.17,40-38.58,40c-3.53,0-9.36,2.92-13.19,6.86C106.2,666.86,104.41,672.42,110.73,676.7Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.55,446.41s25.33,16,18.32,19.48S215.55,446.41,215.55,446.41Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205,477.19s21.82,20.72,13.64,21.27S205,477.19,205,477.19Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.65,543s11.08,20.83,6.91,24.44S181.65,543,181.65,543Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M303.62,564.09c-3.9,3.89,37-12.86,27.66-13.64S303.62,564.09,303.62,564.09Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.44,271.84l1.31-.19c4.84-.74,22.41-3.5,38.17-6.92,3.84-.84,7.56-1.71,11-2.61,12.07-3.16,20.17-6.57,15-9.37-6.84-3.71-10.44-10.45-12.34-16.25-.18-.57-.35-1.12-.51-1.67a43.31,43.31,0,0,1-1.57-9s-44-15.59-35.46,0c4.21,7.65,1.38,13.89-2.59,18.26a34.28,34.28,0,0,1-9.49,7.07Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M432.59,259.76s-15.75,11.3-31.84,1.95-37.13,82.61-37.13,82.61L341.8,398.09s-14.13,11.69,3.46,16.76,56.61-5.07,66.52,9.74,28.67,17.14,30.59,17.14S451.71,386,451.71,386l1.93-80.66Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,411.73c17.59,5.06,56.62-5.07,66.53,9.74A38.06,38.06,0,0,0,429.32,435a44,44,0,0,0,13.83,3.66c.25,0,.62-1,1.05-2.79,2.74-11.28,8.29-52.94,8.29-52.94l1.92-80.66L435.9,262.12l-2.53-5.48a33.39,33.39,0,0,1-8,3.91c-6.09,2.06-14.9,3.22-23.82-2-4.72-2.74-9.87,3.24-14.78,13.06-11.84,23.64-22.35,69.55-22.35,69.55L342.58,395a18.52,18.52,0,0,0-1.48,1.42C338,399.66,332.19,407.75,346,411.73Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#f3f5f9\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M429.84,414.44a102.22,102.22,0,0,0-.52,20.52,240.33,240.33,0,0,0,3.66,29,11.43,11.43,0,0,0,.48,1.77c9.51-4.17,17.06-7.22,17.06-7.22l-6.32-22.66c2.74-11.28,8.29-52.94,8.29-52.94l1.92-80.66L435.9,262.12c12.07-3.16,20.17-6.57,15-9.37-7.5-4.07-11.11-11.79-12.85-17.92A65.05,65.05,0,0,1,427,246.75l-.24.2-1.4,13.6-.43,4.18-.9,8.67s4.29,102.48,7.4,108.33,1.56,17.14-1.16,30.39C430.1,412.87,430,413.64,429.84,414.44Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M431.81,410.56c-2.72,13.25-.39,35.07,2.73,51.82s36.24,5.85,42.48,0,24.54-8.57,24.54-8.57.78-76.37,6.63-86.11c2.77-4.62,3.44-19.7,3.37-34.27-.05-13.08-.7-25.75-.94-30-.06-1-.09-1.55-.09-1.55s25.32-42.86,24.93-46-7.79-3.5-7.79-3.5-28-21.82-32.73-19.1S477.4,229,477.4,229s-16.29,1.85-19.66-1.3a1.72,1.72,0,0,1-.6-1.43c.38-5-16.6-15.64-17.13-16,14.32,12.88-8.83,32.73-11.46,34.91l-.24.2-2.73,26.45s4.29,102.48,7.4,108.33S434.54,397.31,431.81,410.56Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 331.55,\n cy: 263.33,\n r: 1.95,\n fill: \"#444053\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M429.33,246.75l11.84,11.45,17.35-29a1.72,1.72,0,0,1-.6-1.43c.38-5-16.61-15.64-17.13-16C455.11,224.72,432,244.57,429.33,246.75Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 325.67,\n r: 1.95,\n opacity: 0.1\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 324.89,\n r: 1.95,\n fill: \"#444053\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M428.55,245.19l11.84,11.45,17.35-29a1.72,1.72,0,0,1-.6-1.43c.38-5-16.6-15.64-17.13-16C454.33,223.16,431.18,243,428.55,245.19Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _rect27 || (_rect27 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 416.9,\n y: 297.32,\n width: 27.12,\n height: 57.3,\n rx: 1.7,\n ry: 1.7,\n transform: \"translate(751.61 625.75) rotate(-178.69)\",\n fill: \"#d1d9ec\"\n })), _rect28 || (_rect28 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 417.05,\n y: 298.58,\n width: 27.12,\n height: 57.3,\n rx: 1.7,\n ry: 1.7,\n transform: \"translate(751.87 628.28) rotate(-178.69)\",\n fill: \"#dfe6f5\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 329.56,\n cy: 279.43,\n r: 4.26,\n fill: \"#fff\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M284.52,407.05c9.74,4.29,73.65-7,83-9.74s23-23.77,16.37-39,2.33-30,2.33-30,14-30,17.15-35.85,9.62-22.86,10.52-25.71a2.34,2.34,0,0,0-.55-1.79C410.8,261.13,401,254.31,401,254.31c-2.75,1-3.09-6.89-3-12.68.06-3.24.25-5.82.25-5.82s-1.29,1.31-3.4,3.1c-.77.65-1.65,1.37-2.63,2.11A40.43,40.43,0,0,1,380,247.73c-9.35,2.77-22.6,15.54-22.6,15.54l3.9,59.84s-9,56.28-18.32,67.19-37.41,10.52-46.76,10.52S284.52,407.05,284.52,407.05Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M283.74,404.72c9.74,4.28,73.65-7,83-9.75s23-23.77,16.37-39,2.33-30,2.33-30,14-30,17.15-35.85,9.62-22.86,10.52-25.71a2.35,2.35,0,0,0-.55-1.79C410,258.8,400.25,252,400.25,252c-2.75,1-3.09-6.88-3-12.67.06-3.25.25-5.83.25-5.83s-1.29,1.31-3.4,3.11c-.77.64-1.65,1.36-2.63,2.1a40.43,40.43,0,0,1-12.28,6.71c-9.35,2.77-22.6,15.54-22.6,15.54l3.9,59.84s-9,56.28-18.32,67.19-37.4,10.52-46.76,10.52S283.74,404.72,283.74,404.72Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M389.73,235s.37,2.05,1,5.21c2.1,10.7,7.1,34.06,10.71,33.16,2.59-.65,7-5.23,10.36-9.19-2.53-3.86-12.31-10.68-12.31-10.68-2.75,1-3.09-6.88-3-12.67l-3.15-2.72Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.51,233.47s.37,2.05,1,5.21c2.1,10.7,7.1,34.06,10.71,33.16,2.59-.65,7-5.23,10.36-9.19C410,258.8,400.25,252,400.25,252c-2.75,1-3.09-6.88-3-12.67l-3.15-2.72Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M365.57,348.21s19.49-3.89,24.94-12.46,42.57-16,38-7-38,38.29-38,38.29L376,387.81l-19.38-4.92L348.45,367Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M411.67,370.45s-18.87,7-21.71,16.36S411.67,370.45,411.67,370.45Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M423.24,381.34s1.72,9.73-21.93,9Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M525.33,256.64l8.58-.78s9.35,7,16.36,7,11.3,9,11.3,9,11.69,5.46,15.59,6.24,10.52,4.67,8.57,6.23.39,5.07,3.9,7.79,9,16.76,4.28,18.71-17.53,5.84-21,7.79-7.79,0-7.79,0-20.64-26.89-31.17-21.82S509,301.84,509,301.84l-11.3-23.76Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,384.86c1.84,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1s-39.25-12.47-1.46-42.79H364.4L361,343.74l1.54-8.07,2.22-72.79-8.18-1.95s-6.59,47.93-8.16,53.77-2.75,28.45-2.75,28.45-1.56,9.35-3.9,14C340,360.69,340.49,376.54,346,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M347.59,384.86c1.83,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1S338.3,375.34,376.09,345H366l-3.37-1.28C357,353.57,348.3,371.06,347.59,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,384.86c1.84,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1s-39.25-12.47-1.46-42.79H364.4L361,343.74C355.48,353.57,346.74,371.06,346,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"none\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346,384.86c1.84,2.74,4.22,4.66,7.27,5.05a55,55,0,0,0,22.69-2.1s-39.25-12.47-1.46-42.79H364.4L361,343.74C355.48,353.57,346.74,371.06,346,384.86Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M398.44,244.12a35.47,35.47,0,0,0,40.13-7.62c-.18-.57-.35-1.12-.51-1.67a43.31,43.31,0,0,1-1.57-9s-44-15.59-35.46,0C405.24,233.51,402.41,239.75,398.44,244.12Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M377.65,210.27v.35c0,1.15.08,2.29.2,3.41s.28,2.14.48,3.19a35.47,35.47,0,0,0,68.32,4.58c.24-.69.45-1.38.64-2.08a35.06,35.06,0,0,0,1.28-9.45c0-.81,0-1.63-.09-2.43a35.46,35.46,0,0,0-70.83,2.43Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M377.65,210.62a15.27,15.27,0,0,1,.2,3.41,12.67,12.67,0,0,0,.1,1.85,5.25,5.25,0,0,0,.38,1.34c1.43,3.36,6.11,5.54,9.2,3.37a9.86,9.86,0,0,0,2.76-3.62c3.28-6.09,7.83-13.09,15-13.21,3.06-.06,5.93,1.23,8.89,2s6.46.84,8.66-1.17c1.7-1.55,2.5-4.19,4.77-4.73s4.37,1.54,5.41,3.58,1.87,4.44,4,5.5c.94.46,2,.6,3,1.1,4.24,2.32,2.29,10.45,6.69,11.77a3.2,3.2,0,0,0,.42.1c.07-.72.15-1.46.22-2.18q.6-5.94,1.19-11.88a35.46,35.46,0,0,0-70.83,2.43Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M440.64,157.34c4.17,1.77,8.51,4.49,9.44,8.74.41,1.87.1,3.81.2,5.71.2,3.84,2,7.4,3.19,11.08s1.59,8-.75,11.1c-.73,1-1.7,1.79-2.36,2.81A11.5,11.5,0,0,0,449,202l-1.93,19.18c-4.94-.93-2.74-9.5-7.12-11.88-.91-.5-2-.64-2.95-1.11-2.11-1-2.93-3.45-4-5.49s-3.1-4.13-5.41-3.58-3.07,3.19-4.76,4.73c-2.21,2-5.72,1.92-8.67,1.17s-5.83-2-8.88-2c-7.18.12-11.74,7.12-15,13.21a9.89,9.89,0,0,1-2.77,3.63c-3.48,2.44-9-.64-9.57-4.72-.34-2.29.38-4.84-.94-6.78s-4.18-2.35-6.41-3.39c-5.7-2.62-7.46-9.73-6.52-15.69.69-4.3,2.4-8.72,1-12.86-.49-1.43-1.32-2.73-1.77-4.16-1.25-4,.79-8.44,4-11.29s7.42-4.42,11.56-5.8c10.63-3.57,21.79-7,33.1-7.74,4.95-.32,11.44-1.87,15.37,1.22C432,152.23,434.88,154.9,440.64,157.34Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#585268\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 329.6,\n cy: 232.54,\n r: 1.95,\n opacity: 0.1\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 329.6,\n cy: 231.76,\n r: 1.95,\n fill: \"#444053\"\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 342.07,\n cy: 354.9,\n r: 1.95,\n opacity: 0.1\n })), _circle8 || (_circle8 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 342.07,\n cy: 354.12,\n r: 1.95,\n fill: \"#444053\"\n })), _circle9 || (_circle9 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 387.24,\n r: 1.95,\n opacity: 0.1\n })), _circle10 || (_circle10 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 335.45,\n cy: 386.46,\n r: 1.95,\n fill: \"#444053\"\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M370.25,299.24s-4.29,29.1,0,34.17S370.25,299.24,370.25,299.24Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M497.67,353.28s8.18,17.63,0,34.53-13.25,23.77-10.52,34.56S497.67,353.28,497.67,353.28Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.73,676.7c12.08,8.18,30.4,4.28,30.4,4.28s27.66-13.24,35.85-13.24S205,659.55,205,659.55l-.67-5.51c-8.07,1.55-26.43,5.26-28.55,7.07-2.73,2.34-36.24,13.64-36.24,13.64s-22.82-2.85-29.17-12.23C106.2,666.86,104.41,672.42,110.73,676.7Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M450.28,168.67c0-.42,0-.84,0-1.27,0,.49,0,1,0,1.46C450.3,168.8,450.28,168.74,450.28,168.67Z\",\n transform: \"translate(-101.77 -35.91)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M370.6,201.82c2.23,1,5,1.4,6.41,3.38s.6,4.49.94,6.78c.59,4.08,6.09,7.17,9.57,4.72a9.89,9.89,0,0,0,2.77-3.63c3.27-6.09,7.83-13.09,15-13.21,3.06-.05,5.93,1.24,8.89,2s6.46.84,8.67-1.17c1.69-1.54,2.49-4.19,4.76-4.73s4.36,1.54,5.41,3.58,1.87,4.44,4,5.5c.94.46,2,.6,2.95,1.1,4.38,2.39,2.18,11,7.12,11.88q1-9.6,1.93-19.18a11.46,11.46,0,0,1,1.36-5.16c.66-1,1.63-1.84,2.36-2.82a8.59,8.59,0,0,0,1.6-4.12,10,10,0,0,1-1.6,7.24c-.73,1-1.7,1.79-2.36,2.81A11.5,11.5,0,0,0,449,202q-1,9.59-1.93,19.18c-4.94-.93-2.74-9.5-7.12-11.88-.91-.5-2-.64-2.95-1.11-2.11-1-2.93-3.45-4-5.49s-3.1-4.13-5.41-3.58-3.07,3.19-4.76,4.73c-2.21,2-5.72,1.92-8.67,1.17s-5.83-2-8.89-2c-7.17.12-11.73,7.12-15,13.21a9.89,9.89,0,0,1-2.77,3.63c-3.48,2.44-9-.64-9.57-4.72-.34-2.29.38-4.84-.94-6.78s-4.18-2.35-6.41-3.39c-5.21-2.4-7.13-8.55-6.69-14.14C364.29,195.4,366.35,199.86,370.6,201.82Z\",\n transform: \"translate(-101.77 -35.91)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M363.31,169.1c.45,1.43,1.28,2.74,1.77,4.16a12,12,0,0,1,.44,5.13,10,10,0,0,0-.44-2c-.49-1.43-1.32-2.73-1.77-4.16a8.78,8.78,0,0,1-.23-4.07A8.2,8.2,0,0,0,363.31,169.1Z\",\n transform: \"translate(-101.77 -35.91)\"\n }))), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M583.14,490.05,502.82,480a3.07,3.07,0,0,1-1.83-5.18l33.69-35a3.06,3.06,0,0,1,2.56-.92l61.41,6.88a3.07,3.07,0,0,1,2.52,4.16l-14.78,38.19A3.08,3.08,0,0,1,583.14,490.05Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#746d83\"\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M583.14,490.05,502.82,480a3.07,3.07,0,0,1-1.83-5.18l33.69-35a3.06,3.06,0,0,1,2.56-.92l61.41,6.88a3.07,3.07,0,0,1,2.52,4.16l-14.78,38.19A3.08,3.08,0,0,1,583.14,490.05Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M582.23,489.15l-80.31-10.09a3.08,3.08,0,0,1-1.83-5.19l33.69-35a3.1,3.1,0,0,1,2.56-.93l61.4,6.88a3.08,3.08,0,0,1,2.53,4.17l-14.79,38.19A3.09,3.09,0,0,1,582.23,489.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#746d83\"\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M534.37,452.58l24.12,1.94,34.4-2.24-.59,0-31.87-3.08c-7.3-2.68-2.24-18.46-2.24-18.46l-24.41,1.24-1.95.1C523.2,452.28,534.37,452.58,534.37,452.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d1d9ec\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M534.37,452.58l24.12,1.94,34.4-2.24-.59,0-34.78,1.24-23.3-2.53c-6.62-1.74-2.83-13.22-.44-19l-1.95.1C523.2,452.28,534.37,452.58,534.37,452.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.12,309.15,499.5,415l1,13.89a6,6,0,0,0,6.06,5.61h2.24l111.1-.67a3.13,3.13,0,0,0,3.08-3.43l-1-13.9-7.82-93.08a6.39,6.39,0,0,0-4.27-5.4L504,302.14c-3.6-1.25-7.27-.81-9.56,1.1A6.72,6.72,0,0,0,492.12,309.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#4c4c56\"\n })), _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M499.5,415l1,13.89a6,6,0,0,0,6.06,5.61h2.24l111.1-.67a3.13,3.13,0,0,0,3.08-3.43l-1-13.9Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dfe6f5\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 472.21,\n cy: 390.61,\n rx: 1.49,\n ry: 2.98,\n fill: \"#fff\"\n })), _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M569.66,466.13s-30.38-11.47-38.57-3.13c0,0-1.34,2.54,4.17,3.13l22.26,1.79S566.68,468.81,569.66,466.13Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#d1d9ec\"\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M568.85,463.15c-6-2.44-23.93-8.75-35.43-1.77,0,0,12.72-1.41,19.71,2.63s16.53,2.12,16.53,2.12l.14-.25A1.93,1.93,0,0,0,568.85,463.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dfe6f5\"\n })), _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.12,309.15l8.34,119.76a6,6,0,0,0,6.06,5.61h2.24a21.34,21.34,0,0,1-3.88-5s-8.19-120.34-8.79-123.32a6.1,6.1,0,0,0-1.65-2.94A6.72,6.72,0,0,0,492.12,309.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#dfe6f5\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M492.12,309.15l8.34,119.76a6,6,0,0,0,6.06,5.61h2.24a21.34,21.34,0,0,1-3.88-5s-8.19-120.34-8.79-123.32a6.1,6.1,0,0,0-1.65-2.94A6.72,6.72,0,0,0,492.12,309.15Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M477.79,342.35c9-2,30-8.16,30-8.16l3.76-.76c-.05-13.08-.7-25.75-.94-30h-.09s-17.93,5.85-22.21,9-17.54,2.33-17.54,2.33S450.13,315.87,433,335,468.83,344.32,477.79,342.35Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M565.38,307.58a5.21,5.21,0,0,1,1.17,8.74c-4.75,3.93-11.68,8.63-18.3,9.29-11,1.11-37.6,6.44-40.24,7a3.2,3.2,0,0,0-.42.1c-2.19.64-21.35,6.25-29.8,8.1-9,2-62,11.71-44.81-7.38,15.78-17.58,34.53-20,37.42-20.23a4,4,0,0,1,.69,0c2,.09,13.32.48,17.23-2.35a36.81,36.81,0,0,1,6.44-3.21,123.2,123.2,0,0,1,26.35-7.6l18.33-3.2a5.26,5.26,0,0,1,3.08.4Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#efb7b9\"\n })), _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M526.89,256.64l8.57-.78s9.36,7,16.37,7,11.3,9,11.3,9,11.69,5.46,15.59,6.24,10.52,4.67,8.57,6.23.39,5.07,3.9,7.79,9,16.76,4.28,18.71-17.53,5.84-21,7.79-7.79,0-7.79,0S546,291.71,535.47,296.78s-24.94,5.06-24.94,5.06l-11.3-23.76Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#67647e\"\n })), _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1040,746.64a16.86,16.86,0,0,0-2.27,4.29c-.15.37-.28.8-.42,1.21a4.65,4.65,0,0,0-.79-.28,11,11,0,0,0-3.57-.3c0-.47,0-.95.07-1.47.14-5.27-.48-12.61-5.5-9.5-4.83,3-1.39,8,1.72,11.2l.8.79c-2.83,2-3.37,6.73-3.85,11.64s-4.64,10.28-7.4,13.33c-.28.32-.54.59-.78.85a10.15,10.15,0,0,0-8-2.07l-.37-1.35c-2.24-8.09-6.89-22.1-12.82-25.17.25-.31.51-.63.78-1,2.52-3.29,5.35-8.19,1.16-9.44s-4.56,4.25-4.33,8.36q0,.78.12,1.47a6.15,6.15,0,0,0-4.39,2.14l-.64-.77c-3.4-4-9.64-10.37-11.52-5.56-1.76,4.48,3.73,10.3,7.59,13.67l.24.21c-2.6,10.51,8.72,19.08,14.81,22.83l.78.48c-8.4,9.9-13.58,28.46-13.58,28.46l23.52,4.2s15.59-13.46,13.6-26.1l.16,0c15.58-3.12,19.13-19.74,16.7-29.6l.28-.12a17.69,17.69,0,0,0,7.21-5.46C1053.62,747.53,1044.47,740.69,1040,746.64Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1040,746.64a16.86,16.86,0,0,0-2.27,4.29c-.15.37-.28.8-.42,1.21a4.65,4.65,0,0,0-.79-.28,11,11,0,0,0-3.57-.3c0-.47,0-.95.07-1.47.14-5.27-.48-12.61-5.5-9.5-4.83,3-1.39,8,1.72,11.2l.8.79c-2.83,2-3.37,6.73-3.85,11.64s-4.64,10.28-7.4,13.33c-.28.32-.54.59-.78.85a10.15,10.15,0,0,0-8-2.07l-.37-1.35c-2.24-8.09-6.89-22.1-12.82-25.17.25-.31.51-.63.78-1,2.52-3.29,5.35-8.19,1.16-9.44s-4.56,4.25-4.33,8.36q0,.78.12,1.47a6.15,6.15,0,0,0-4.39,2.14l-.64-.77c-3.4-4-9.64-10.37-11.52-5.56-1.76,4.48,3.73,10.3,7.59,13.67l.24.21c-2.6,10.51,8.72,19.08,14.81,22.83l.78.48c-8.4,9.9-13.58,28.46-13.58,28.46l23.52,4.2s15.59-13.46,13.6-26.1l.16,0c15.58-3.12,19.13-19.74,16.7-29.6l.28-.12a17.69,17.69,0,0,0,7.21-5.46C1053.62,747.53,1044.47,740.69,1040,746.64Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M993.17,753.42l-2.75,8.05s-1.52-1.08-3.45-2.78c-3.86-3.37-9.35-9.19-7.59-13.67,1.88-4.81,8.12,1.54,11.52,5.56C992.27,752.18,993.17,753.42,993.17,753.42Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M999,748.82A38.1,38.1,0,0,1,996.3,752a39,39,0,0,1-.49-4.24c-.23-4.11.2-9.59,4.33-8.36S1001.5,745.53,999,748.82Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1034.45,750.09c-.09,2.65-.35,4.77-.35,4.77a34.68,34.68,0,0,1-3.43-3.07c-3.11-3.22-6.55-8.21-1.72-11.2C1034,737.48,1034.59,744.82,1034.45,750.09Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1050.69,753.56a17.69,17.69,0,0,1-7.21,5.46,19.38,19.38,0,0,1-2.42.88l-3.24-4.55a32.17,32.17,0,0,1,1.34-4.42,16.86,16.86,0,0,1,2.27-4.29C1045.91,740.69,1055.06,747.53,1050.69,753.56Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M990.9,750.58c1.37,1.6,2.27,2.84,2.27,2.84l-2.75,8.05s-1.52-1.08-3.45-2.78a15.68,15.68,0,0,1,3.09-7.07C990.34,751.24,990.63,750.9,990.9,750.58Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M999,748.82A38.1,38.1,0,0,1,996.3,752a39,39,0,0,1-.49-4.24A5.55,5.55,0,0,1,999,748.82Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1012.5,780.78l-6.84,3a41.38,41.38,0,0,1-3.64-2.06c-7.19-4.42-21.65-15.55-12-28.67s17.77,10.41,21,21.92C1012,778.42,1012.5,780.78,1012.5,780.78Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1030.67,751.79a5.67,5.67,0,0,1,3.78-1.7c-.09,2.65-.35,4.77-.35,4.77A34.68,34.68,0,0,1,1030.67,751.79Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1043.48,759a19.38,19.38,0,0,1-2.42.88l-3.24-4.55a32.17,32.17,0,0,1,1.34-4.42C1041.25,752.15,1042.79,755.19,1043.48,759Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path111 || (_path111 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1026.5,788.74c-.38.08-.76.15-1.15.21-22.93,3.48-7.56-8.89-7.56-8.89s1-.95,2.43-2.51c2.76-3,6.93-8.39,7.4-13.33.72-7.43,1.56-14.4,10.33-12.36C1046.56,753.88,1048.2,784.4,1026.5,788.74Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _rect29 || (_rect29 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 880.49,\n y: 809.92,\n width: 43.81,\n height: 11.52,\n fill: \"#d4dfec\"\n })), _rect30 || (_rect30 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 873.53,\n y: 772.48,\n width: 57.24,\n height: 40.2,\n fill: \"#d4dfec\"\n })), _rect31 || (_rect31 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 880.49,\n y: 809.92,\n width: 43.81,\n height: 11.52,\n opacity: 0.1\n })), _rect32 || (_rect32 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 873.53,\n y: 772.48,\n width: 57.24,\n height: 40.2,\n opacity: 0.1\n })), _rect33 || (_rect33 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 883.37,\n y: 809.92,\n width: 43.81,\n height: 11.52,\n fill: \"#d4dfec\"\n })), _path112 || (_path112 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1011,775c1,3.44,1.48,5.8,1.48,5.8l-6.84,3a41.38,41.38,0,0,1-3.64-2.06C1004.7,778.33,1007.72,775.77,1011,775Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path113 || (_path113 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1026.5,788.74c-.38.08-.76.15-1.15.21-22.93,3.48-7.56-8.89-7.56-8.89s1-.95,2.43-2.51C1024.5,781,1026.27,784.84,1026.5,788.74Z\",\n transform: \"translate(-101.77 -35.91)\",\n opacity: 0.1\n })), _path114 || (_path114 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M989.22,810.67s12.84-46,30.84-31.8-7.32,36-7.32,36Z\",\n transform: \"translate(-101.77 -35.91)\",\n fill: \"#6c63ff\"\n })), _circle11 || (_circle11 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 893.93,\n cy: 724.35,\n r: 1.44,\n opacity: 0.1\n })), _circle12 || (_circle12 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 893.81,\n cy: 731.07,\n r: 1.44,\n opacity: 0.1\n })), _circle13 || (_circle13 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 935.57,\n cy: 725.67,\n r: 1.44,\n opacity: 0.1\n })), _circle14 || (_circle14 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 901.97,\n cy: 760.12,\n r: 1.44,\n opacity: 0.1\n })), _circle15 || (_circle15 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 932.57,\n cy: 736.83,\n r: 1.44,\n opacity: 0.1\n })), _circle16 || (_circle16 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 917.69,\n cy: 751.72,\n r: 1.44,\n opacity: 0.1\n })), _circle17 || (_circle17 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 898.85,\n cy: 727.23,\n r: 1.44,\n opacity: 0.1\n })), _circle18 || (_circle18 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 931.61,\n cy: 729.99,\n r: 1.44,\n opacity: 0.1\n })), _circle19 || (_circle19 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 926.69,\n cy: 741.15,\n r: 1.44,\n opacity: 0.1\n })), _circle20 || (_circle20 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 911.57,\n cy: 759.04,\n r: 1.44,\n opacity: 0.1\n })), _circle21 || (_circle21 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 908.45,\n cy: 751.96,\n r: 1.44,\n opacity: 0.1\n })), _circle22 || (_circle22 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 901.01,\n cy: 735.99,\n r: 1.44,\n opacity: 0.1\n })), _rect34 || (_rect34 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 883.37,\n y: 809.92,\n width: 43.81,\n height: 4.21,\n opacity: 0.1\n })), _rect35 || (_rect35 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 876.41,\n y: 772.48,\n width: 57.24,\n height: 40.2,\n fill: \"#d4dfec\"\n })), _circle23 || (_circle23 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 913.49,\n cy: 765.52,\n r: 1.44,\n opacity: 0.1\n })), _circle24 || (_circle24 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 904.85,\n cy: 767.32,\n r: 1.44,\n opacity: 0.1\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgManOnTable);\nexport default __webpack_public_path__ + \"static/media/manOnTable.8f117eb207e57ed8f89d67d595aceb45.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _circle, _circle2, _circle3, _circle4, _rect, _ellipse, _ellipse2, _path7, _circle5, _path8, _circle6, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSkill(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"a36694c7-9e7e-4fa0-bd34-1ff06c34a584\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 1089.86663,\n height: 822.50661,\n viewBox: \"0 0 1089.86663 822.50661\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"certificate\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M988.80331,484.3133c0,126.51-74.17,238.43-187.87,306.56-72.9,43.69-162.06,69.38-258.33,69.38-128.25,0-226.08-48.47-299.67-122.72-67.83-68.42-115.06-158.75-146.53-253.22-140.49-421.79,94.2-536.86,446.2-375.94C766.72329,210.84327,988.80331,276.69331,988.80331,484.3133Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#6c63ff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M800.93331,263.50331v528.37c-72.9,43.69-162.06,69.38-258.33,69.38-128.25,0-226.08-48.47-299.67-122.72v-475.03Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#f2f2f2\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.60406,520.9551a349.10769,349.10769,0,0,1,90.1557-16.07316,282.15087,282.15087,0,0,1,45.97047,1.7986,287.56233,287.56233,0,0,1,44.61626,9.55207c14.4206,4.17522,28.64209,8.99849,43.01405,13.33329a401.17806,401.17806,0,0,0,44.45525,10.84819,376.87356,376.87356,0,0,0,45.16986,5.38371c15.00305.87194,30.15309,1.0421,45.11414-.55621a138.0256,138.0256,0,0,0,40.59011-10.28933A123.97053,123.97053,0,0,0,728.70055,513.779q3.67222-3.2781,7.06609-6.84515c1.33469-1.39522-.78353-3.51978-2.12132-2.12132-19.12461,19.99191-44.26195,32.38806-71.527,36.52762-14.853,2.25509-29.98981,2.38592-44.97348,1.80438a370.06082,370.06082,0,0,1-45.71483-4.619A382.03123,382.03123,0,0,1,527.155,528.4477c-14.28794-4.13931-28.38132-8.91171-42.61931-13.21479a320.72782,320.72782,0,0,0-43.87857-10.45407,275.93839,275.93839,0,0,0-45.01855-3.12473A344.20143,344.20143,0,0,0,306.666,514.82967q-5.45484,1.53164-10.85948,3.23259c-1.836.5756-1.05209,3.47271.79752,2.89284Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.60406,596.9551a349.10769,349.10769,0,0,1,90.1557-16.07316,282.15087,282.15087,0,0,1,45.97047,1.7986,287.56233,287.56233,0,0,1,44.61626,9.55207c14.4206,4.17522,28.64209,8.99849,43.01405,13.33329a401.17806,401.17806,0,0,0,44.45525,10.84819,376.87356,376.87356,0,0,0,45.16986,5.38371c15.00305.87194,30.15309,1.0421,45.11414-.55621a138.0256,138.0256,0,0,0,40.59011-10.28933A123.97053,123.97053,0,0,0,728.70055,589.779q3.67222-3.2781,7.06609-6.84515c1.33469-1.39522-.78353-3.51978-2.12132-2.12132-19.12461,19.99191-44.26195,32.38806-71.527,36.52762-14.853,2.25509-29.98981,2.38592-44.97348,1.80438a370.06082,370.06082,0,0,1-45.71483-4.619A382.03123,382.03123,0,0,1,527.155,604.4477c-14.28794-4.13931-28.38132-8.91171-42.61931-13.21479a320.72782,320.72782,0,0,0-43.87857-10.45407,275.93839,275.93839,0,0,0-45.01855-3.12473A344.20143,344.20143,0,0,0,306.666,590.82967q-5.45484,1.53164-10.85948,3.23259c-1.836.5756-1.05209,3.47271.79752,2.89284Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.60406,451.9551a349.10769,349.10769,0,0,1,90.1557-16.07316,282.15087,282.15087,0,0,1,45.97047,1.7986,287.56233,287.56233,0,0,1,44.61626,9.55207c14.4206,4.17522,28.64209,8.99849,43.01405,13.33329a401.17806,401.17806,0,0,0,44.45525,10.84819,376.87356,376.87356,0,0,0,45.16986,5.38371c15.00305.87194,30.15309,1.0421,45.11414-.55621a138.0256,138.0256,0,0,0,40.59011-10.28933A123.97053,123.97053,0,0,0,728.70055,444.779q3.67222-3.2781,7.06609-6.84515c1.33469-1.39522-.78353-3.51978-2.12132-2.12132-19.12461,19.99191-44.26195,32.38806-71.527,36.52762-14.853,2.25509-29.98981,2.38592-44.97348,1.80438A370.06082,370.06082,0,0,1,571.43,469.52557,382.03123,382.03123,0,0,1,527.155,459.4477c-14.28794-4.13931-28.38132-8.91171-42.61931-13.21479a320.72782,320.72782,0,0,0-43.87857-10.45407,275.93839,275.93839,0,0,0-45.01855-3.12473A344.20143,344.20143,0,0,0,306.666,445.82967q-5.45484,1.53163-10.85948,3.23259c-1.836.5756-1.05209,3.47271.79752,2.89284Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M293.02966,321.49617c7.25838-3.21556,15.5732-2.65483,23.1061-.79035,8.12236,2.01037,15.771,5.50661,23.76662,7.924a82.27145,82.27145,0,0,0,43.97788.83424,81.06329,81.06329,0,0,0,23.03191-9.8719c1.63065-1.025.12677-3.62188-1.51415-2.59041a79.4874,79.4874,0,0,1-42.31964,12.06472,77.64725,77.64725,0,0,1-22.15352-3.262c-7.93732-2.3799-15.52474-5.83513-23.56552-7.88447-8.51912-2.17125-17.65485-2.6421-25.84384.98574-1.76158.7804-.237,3.36618,1.51416,2.59041Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 460.86663,\n cy: 696.75661,\n r: 46,\n fill: \"#3f3d56\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 212.86663,\n cy: 105.75661,\n r: 25,\n fill: \"#f2f2f2\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 431.86663,\n cy: 176.75661,\n r: 17,\n fill: \"#f2f2f2\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 155.86663,\n cy: 339.75661,\n r: 17,\n fill: \"#f2f2f2\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 85.547,\n y: 213.46424,\n width: 1.8747,\n height: 335.24432,\n fill: \"#3f3d56\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 86.84593,\n cy: 436.55402,\n rx: 36.55673,\n ry: 83.42433,\n fill: \"#3f3d56\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 86.84593,\n cy: 246.27156,\n rx: 36.55673,\n ry: 83.42433,\n fill: \"#3f3d56\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M142.81061,216.86068l-1.796-.53824c.1135-.379,11.13471-38.14721-6.962-62.4607-10.22116-13.73165-27.76036-20.69451-52.13059-20.69451v-1.87471c24.9991,0,43.04588,7.21917,53.6396,21.457C154.21857,177.82509,142.92686,216.47347,142.81061,216.86068Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 26.8554,\n cy: 93.48318,\n r: 23.4338,\n fill: \"#3f3d56\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M825.8065,663.424,808.274,824.72309H929.24832l5.25976-12.27276,7.013,12.27276h113.96133s-8.76625-166.55887-24.54551-171.81863S825.8065,663.424,825.8065,663.424Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#2f2e41\"\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 874.18164,\n cy: 209.15673,\n r: 61.36379,\n fill: \"#ffb8b8\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M894.1833,286.475s5.25975,56.104,0,59.61054,84.15606,1.75326,84.15606,1.75326-12.27276-50.84429,0-75.38981Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#ffb8b8\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M925.74182,333.81273s45.11322,7.02643,48.85538-7.00629l23.02792,31.55181,1.75325,315.58523s-187.59788,22.79227-194.61089-14.026,71.88331-327.858,71.88331-327.858l19.86216-1.28572S922.23532,333.81273,925.74182,333.81273Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#d0cde1\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M896.21439,316.37533l-30.08311,10.4244-85.90931,21.039,3.5065,210.39015s-73.63655,210.39015-40.32478,226.16941,80.64956-21.039,94.67557-47.33779,63.117-390.975,63.117-397.988S896.21439,316.37533,896.21439,316.37533Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M973.47025,316.37533l11.88211,10.4244,84.15606,38.57153-42.078,212.1434s56.104,192.85764,35.065,203.37715-52.59754,40.32478-59.61054,22.79226S954.57513,335.7562,973.47025,316.37533Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1022.17064,596.80042s-78.89631-33.31177-80.64956-3.5065,89.41582,50.84429,89.41582,42.078S1022.17064,596.80042,1022.17064,596.80042Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#ffb8b8\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M829.313,584.52767s91.16907,68.37679,56.104,85.90931-80.64956-61.3638-80.64956-61.3638Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#ffb8b8\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M956.49132,158.01513a3.38451,3.38451,0,0,1,3.25676-1.93273c-28.09345-1.68046-57.68462,1.59391-81.18765,17.0753-6.58229,4.33573-12.72923,9.6376-20.22289,12.081l6.08267,4.77011-7.26763,2.21543,10.69544,6.91263a9.27045,9.27045,0,0,1-8.82861,2.95773c4.64818,1.358,8.07046,5.49439,9.80869,10.01416s2.05052,9.44217,2.34418,14.27575c1.79656-6.9743,9.408-11.07972,16.59785-11.49687s14.2019,1.95512,21.19907,3.66045a117.27154,117.27154,0,0,0,46.548,1.79065c-5.25649,10.54877-.82242,23.13119,3.63955,34.03981L968.066,276.1598c4.94626.49749,8.44239-4.42141,12.16886-7.71176,3.39641-2.99892-10.12543,23.37638-8.03185,22.41,2.71982-1.25539,31.42131-32.94373,32.76537-35.62084,6.13213-12.21409,9.81123-25.8377,9.25789-39.4935s-5.55-27.31832-14.96291-37.2275c-6.39033-6.72714-15.23132-7.90529-21.746-13.49635-2.56408-2.20055-2.57349-3.91969-6.09717-5.20273C970.24979,159.391,956.68486,157.58563,956.49132,158.01513Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#2f2e41\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M792.49472,353.0985,780.222,347.83875,682.0399,509.13786s-17.53252,42.078,14.026,61.3638S801.261,647.64471,801.261,647.64471l42.078-64.8703s-85.90931-40.32478-80.64956-56.104,33.31178-57.85729,33.31178-57.85729Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1046.71616,361.86476l22.79226,3.5065s94.67557,185.84463,71.88331,220.90966S1025.67714,670.437,1025.67714,670.437s-1.75325-57.85729-17.53251-78.89631l54.35079-21.039-29.80527-115.71459Z\",\n transform: \"translate(-55.06669 -38.74669)\",\n fill: \"#3f3d56\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSkill);\nexport default __webpack_public_path__ + \"static/media/skill.35a147662ab0a1d15e579690446e0258.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport \"./SocialMedia.scss\";\nimport {socialMediaLinks} from \"../../portfolio\";\n\nexport default function socialMedia() {\n if (!socialMediaLinks.display) {\n return null;\n }\n return (\n \n {socialMediaLinks.gmail ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.linkedin ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.twitter ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.instagram ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.facebook ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.github ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.telegram ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.gitlab ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.medium ? (\n
\n \n \n \n ) : null}\n\n {socialMediaLinks.stackoverflow ? (\n
\n \n \n \n ) : null}\n
\n );\n}\n","/* Change this file to get your personal Portfolio */\n\n// To change portfolio colors globally go to the _globalColor.scss file\n\nimport emoji from \"react-easy-emoji\";\nimport splashAnimation from \"./assets/lottie/splashAnimation\"; // Rename to your file name for custom animation\n\n// Splash Screen\n\nconst splashScreen = {\n enabled: true, // set false to disable splash screen\n animation: splashAnimation,\n duration: 2000 // Set animation duration as per your animation\n};\n\n// Summary And Greeting Section\n\nconst illustration = {\n animated: true // Set to false to use static SVG\n};\n\nconst greeting = {\n username: \"Pritish Barabde\",\n title: \"Hi, I'm Pritish Barabde\",\n subTitle: emoji(\n \"A Self-driven, Quick starter, Passionate programmer 🚀 with a curious mind who enjoys solving a complex and challenging real-world problems.\"\n ),\n subTitle1: emoji(\n \"I am a Computer Engineering Grad from University Of Mumbai.\",\n ),\n resumeLink:\n \"https://drive.google.com/uc?export=download&id=1DZaA1idzg5P7ilJx9n1crmsEzuGTTLvx\", // Set to empty to hide the button\n displayGreeting: true // Set false to hide this section, defaults to true\n};\n\n// Social Media Links\n\nconst socialMediaLinks = {\n github: \"https://github.com/pritishbarabde\",\n linkedin: \"https://www.linkedin.com/in/pritishbarabde/\",\n gmail: \"barabdepritish@gmail.com\",\n facebook: \"https://www.facebook.com/pritish.barabde\",\n twitter: \"https://twitter.com/PritishBarabde\",\n instagram: \"https://instagram.com/PritishBarabde\",\n telegram: \"https://t.me/pritishbarabde\",\n // github: \"https://github.com/saadpasta\",\n // linkedin: \"https://www.linkedin.com/in/saadpasta/\",\n // gmail: \"saadpasta70@gmail.com\",\n // gitlab: \"https://gitlab.com/saadpasta\",\n // facebook: \"https://www.facebook.com/saad.pasta7\",\n // medium: \"https://medium.com/@saadpasta\",\n // stackoverflow: \"https://stackoverflow.com/users/10422806/saad-pasta\",\n // Instagram, Twitter and Kaggle are also supported in the links!\n // To customize icons and social links, tweak src/components/SocialMedia\n display: true // Set true to display this section, defaults to false\n};\n\n// Skills Section\n\nconst skillsSection = {\n title: \"What I do\",\n subTitle: \"CRAZY FULL STACK DEVELOPER WHO WANTS TO EXPLORE EVERY TECH STACK\",\n skills: [\n emoji(\n \"⚡ I have studied basic software engineering subjects like DS, Algorithms, DBMS, OS, CN, AI etc.\"\n ),\n emoji(\"⚡ Apart from this, I have done courses on Deep Learning, Data Science, Computer Networking and Cyber Security.\"),\n emoji(\n \"⚡ Attended Workshop on Machine Learning and Artificial Intelligence.\"\n )\n ],\n\n /* Make Sure to include correct Font Awesome Classname to view your icon\nhttps://fontawesome.com/icons?d=gallery */\n\n softwareSkills: [\n {\n skillName: \"Python\",\n fontAwesomeClassname: \"fab fa-python\"\n },\n {\n skillName: \"HTML-5\",\n fontAwesomeClassname: \"fab fa-html5\"\n },\n {\n skillName: \"CSS-3\",\n fontAwesomeClassname: \"fab fa-css3-alt\"\n },\n {\n skillName: \"Bootstrap\",\n fontAwesomeClassname: \"fab fa-bootstrap\"\n },\n {\n skillName: \"C\",\n fontAwesomeClassname: \"fas fa-copyright\"\n },\n {\n skillName: \"SQL-Database\",\n fontAwesomeClassname: \"fas fa-database\"\n },\n {\n skillName: \"Java\",\n fontAwesomeClassname: \"fab fa-java\"\n },\n {\n skillName: \"JavaScript\",\n fontAwesomeClassname: \"fab fa-js-square\"\n },\n {\n skillName: \"GIT\",\n fontAwesomeClassname: \"fab fa-git-alt\"\n }\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Education Section\n\nconst educationInfo = {\n display: true, // Set false to hide this section, defaults to true\n schools: [\n {\n schoolName: \"St. Francis Institute Of Management and Research\",\n logo: require(\"./assets/images/sfimar-logo.png\"),\n subHeader: \"Master's in Management Studies in Information Technology\",\n duration: \"2024 - 2026\",\n desc: \"Mumbai. Maharashtra. India\",\n // descBullets: [\"\"]\n },\n {\n schoolName: \"St. John College of Engineering and Management\",\n logo: require(\"./assets/images/sjcem-logo.png\"),\n subHeader: \"Bachelor of Engineering in Computer Science\",\n duration: \"2018 - 2022\",\n desc: \"Mumbai. Maharashtra. India\",\n // descBullets: [\"\"]\n },\n {\n schoolName: \"Utkarsha Vidyalaya & Junior College\",\n logo: require(\"./assets/images/UtkarshaLogo.png\"),\n subHeader: \"HSC Maharashtra State Board: 11th - 12th\",\n duration: \"2016 - 2018\",\n desc:\n \"Mumbai. Maharashtra. India\",\n // descBullets: [\"\"]\n },\n {\n schoolName: \"N.G.Vartak English Medium High School & Junior College\",\n logo: require(\"./assets/images/ngvlogo.png\"),\n subHeader: \"SSC Maharashtra State Board: 1st - 10th\",\n duration: \"2002 - 2016\",\n desc:\n \"Mumbai. Maharashtra. India\",\n // descBullets: [\"\"]\n }\n ]\n};\n\n// Your top 3 proficient stacks/tech experience\n\nconst techStack = {\n viewSkillBars: true, //Set it to true to show Proficiency Section\n experience: [\n {\n Stack: \"Frontend/Design\", //Insert stack or technology you have experience in\n progressPercentage: \"80%\" //Insert relative proficiency in percentage\n },\n {\n Stack: \"Super Mario\",\n progressPercentage: \"100%\"\n },\n {\n Stack: \"Backend\",\n progressPercentage: \"50%\"\n },\n {\n Stack: \"Programming\",\n progressPercentage: \"60%\"\n }\n ],\n displayCodersrank: false // Set true to display codersrank badges section need to changes your username in src/containers/skillProgress/skillProgress.js:17:62, defaults to false\n};\n\n// Work experience section\n\nconst workExperiences = {\n display: true, //Set it to true to show workExperiences Section\n experience: [\n {\n role: \"Project Engineer\",\n company: \"Wipro\",\n companylogo: require(\"./assets/images/Wipro_logo.png\"),\n date: \"March 2023 – August 2023\",\n // desc:\n // \"Predicted the percentage of an student based on the no. of study hours.\",\n descBullets: [\n \"Actively participated in Wipro's comprehensive corporate training programs, specializing in corporate ethics, soft skills, punctuality, and discipline.\",\n \"Immersed in a curriculum fostering integrity, responsibility, and transparency, shaping my professional identity.\",\n \"Championed Wipro's core values, ensuring adherence to high ethical standards and transparency.\",\n \"Acquired soft skills for effective communication, collaboration, and adaptability.\",\n ]\n },\n {\n role: \"Branding & Opreations Intern\",\n company: \"Synergina Pvt Ltd\",\n companylogo: require(\"./assets/images/Synerginalogo.png\"),\n date: \"June 2021 – December 2021\",\n // desc:\n // \"Increased the brand recognition through various social media.\",\n descBullets: [\n \"Utilized creative and operational skills to implement online activities, significantly boosting brand visibility.\",\n \"Executed strategic campaigns on social media platforms, resulting in a substantial increase in brand recognition.\",\n \"Led interactive quiz coordination, cultivating audience engagement and amplifying the brand's appeal.\",\n \"Produced high-quality visual content with Photoshop and Canva for a cohesive and visually appealing online presence.\",\n ]\n \n },\n {\n role: \"Data Science & Business Analytics Intern\",\n company: \"The Sparks Foundation\",\n companylogo: require(\"./assets/images/tsflogo.png\"),\n date: \"April 2021 – May 2021\",\n // desc:\n // \"Predicted the percentage of an student based on the no. of study hours.\",\n descBullets: [\n \"Predicted the percentage of an student based on the no. of study hours.\",\n \"Used simple linear regression model for forecasting the marks of a student based on the numbers of hours studied per day.\",\n \"Tools: Python, Google Colab\",\n ]\n }\n ]\n};\n\n/* Your Open Source Section to View Your Github Pinned Projects\nTo know how to get github key look at readme.md */\n\nconst openSource = {\n showGithubProfile: \"true\", // Set true or false to show Contact profile using Github, defaults to true\n display: true // Set false to hide this section, defaults to true\n};\n\n// Some big projects you have worked on\n\nconst bigProjects = {\n title: \"Big Projects\",\n subtitle: \"SOME STARTUPS AND COMPANIES THAT I HELPED TO CREATE THEIR TECH\",\n projects: [\n {\n image: require(\"./assets/images/airmouse.gif\"),\n projectName: \"Air Mouse\",\n projectDesc:\"Made a system which uses hand gestures to controll the mouse functions.\",\n projectDesc1:\"It was built to replace a physical mouse with a virtual hand gesture controlled mouse.\",\n footerLink: [\n {\n name: \"Visit Website\",\n url: \"https://github.com/pritishbarabde/Air_Mouse\"\n }\n // you can add extra buttons here.\n ]\n },\n {\n image: require(\"./assets/images/system.gif\"),\n projectName: \"Employee Management System\",\n projectDesc:\"Made a system which manages employees in an IT Company.\",\n projectDesc1:\"It was built by using HTML, CSS, Javascript & PHP.\",\n footerLink: [\n {\n name: \"Visit Website\",\n url: \"https://github.com/pritishbarabde/Employee_Management_System\"\n }\n // you can add extra buttons here.\n ]\n },\n {\n image: require(\"./assets/images/form.gif\"),\n projectName: \"Seminar Attendance & Feedback Portal\",\n projectDesc: \"Made a portal which records attendance and feedback of students who attended the seminar.\",\n projectDesc1:\"It was built by using HTML, CSS, Javascript & PHP.\",\n footerLink: [\n {\n name: \"Visit Website\",\n url: \"https://github.com/pritishbarabde/Seminar_Attendance_And_Feedback_Portal\"\n }\n ]\n }\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Achievement Section\n// Include certificates, talks etc\n\nconst achievementSection = {\n title: emoji(\"Achievements And Certifications 🏆 \"),\n subtitle:\n \"Achievements, Certifications, Award Letters and Some Cool Stuff that I have done !\",\n\n achievementsCards: [\n {\n title: \"Google Data Analytics\",\n subtitle:\n \"Google\",\n image: require(\"./assets/images/googleanalytics.png\"),\n footerLink: [\n {\n name: \"Certification\",\n url:\"https://www.coursera.org/account/accomplishments/professional-cert/DM66M55SR6EZ\"\n }\n ]\n },\n\n {\n title: \"Introduction to Cybersecurity\",\n subtitle: \"Cisco\",\n image: require(\"./assets/images/cyber.png\"),\n footerLink: [\n {name: \"Certification\", url: \"https://drive.google.com/file/d/19pw1gduEb4xzBQL1TarCEP6dXH8V3WjQ/view?usp=sharing\"},\n // {\n // name: \"Final Project\",\n // url: \"https://\"\n // }\n ]\n },\n\n {\n title: \"Design Thinking for Innovation\",\n subtitle:\n \"University of Virginia\",\n image: require(\"./assets/images/design_think_innovation.png\"),\n footerLink: [\n {\n name: \"Certification\",\n url:\n \"https://www.coursera.org/account/accomplishments/verify/JYPWYGE4VE2J\"\n },\n \n ]\n },\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Blogs Section\n\nconst blogSection = {\n title: \"Blogs\",\n subtitle:\n \"With Love for Developing cool stuff, I love to write and teach others what I have learnt.\",\n displayMediumBlogs: \"true\", // Set true to display fetched medium blogs instead of hardcoded ones\n blogs: [\n {\n url:\n \"https://medium.com/@pritishbarabde/best-cashback-credit-cards-in-india-4e53a5a363db\",\n title: \"Best Cashback Credit Cards in India.\",\n description:\n \"Credit cards have become an integral part of our financial life. They offer convenience, ease of payment, and several rewards and benefits.\"\n },\n {\n url: \"https://medium.com/@pritishbarabde/tableau-vs-power-bi-8af409e838ee\",\n title: \"Tableau vs Power BI\",\n description:\n \"In the world of data visualization tools, Tableau and Power BI are two of the most popular options available.\"\n }\n ],\n display: true // Set false to hide this section, defaults to true\n};\n\n// Talks Sections\n\nconst talkSection = {\n title: \"TALKS\",\n subtitle: emoji(\n \"I LOVE TO SHARE MY LIMITED KNOWLEDGE AND GET A SPEAKER BADGE 😅\"\n ),\n\n talks: [\n {\n title: \"Build Actions For Google Assistant\",\n subtitle: \"Codelab at GDG DevFest Karachi 2019\",\n slides_url: \"https://bit.ly/saadpasta-slides\",\n event_url: \"https://www.facebook.com/events/2339906106275053/\"\n }\n ],\n display: false // Set false to hide this section, defaults to true\n};\n\n// Podcast Section\n\nconst podcastSection = {\n title: emoji(\"Podcast 🎙️\"),\n subtitle: \"I LOVE TO TALK ABOUT MYSELF AND TECHNOLOGY\",\n\n // Please Provide with Your Podcast embeded Link\n podcast: [\n \"https://anchor.fm/codevcast/embed/episodes/DevStory---Saad-Pasta-from-Karachi--Pakistan-e9givv/a-a15itvo\"\n ],\n display: false // Set false to hide this section, defaults to true\n};\n\nconst contactInfo = {\n title: emoji(\"Contact Me ☎️\"),\n subtitle:\n \"Discuss a project or just want to say hi? My Inbox is open for all.\",\n location: \"Mumbai,Maharashtra,India\",\n // number: \"+91-XXXXXXXXXX\",\n email_address: \"barabdepritish@gmail.com\",\n designation: \"Software Engineer\"\n};\n\n// Twitter Section\n\nconst twitterDetails = {\n userName: \"twitter\", //Replace \"twitter\" with your twitter username without @\n display: false // Set true to display this section, defaults to false\n};\n\nconst isHireable = false; // Set false if you are not looking for a job. Also isHireable will be display as Open for opportunities: Yes/No in the GitHub footer\n\nexport {\n illustration,\n greeting,\n socialMediaLinks,\n splashScreen,\n skillsSection,\n educationInfo,\n techStack,\n workExperiences,\n openSource,\n bigProjects,\n achievementSection,\n blogSection,\n talkSection,\n podcastSection,\n contactInfo,\n twitterDetails,\n isHireable\n};\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","import lottie from \"lottie-web\";\nimport React, { useEffect, useRef, useState, } from \"react\";\nconst useLottie = (props, style) => {\n const { animationData, loop, autoplay, initialSegment, onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy, \n // Specified here to take them out from the 'rest'\n lottieRef, renderer, name, assetsPath, rendererSettings, \n // TODO: find a better way to extract the html props to avoid specifying\n // all the props that we want to exclude (as you can see above)\n ...rest } = props;\n const [animationLoaded, setAnimationLoaded] = useState(false);\n const animationInstanceRef = useRef();\n const animationContainer = useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n const play = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n const stop = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n const pause = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n const setSpeed = (speed) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n const goToAndPlay = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n const goToAndStop = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n const setDirection = (direction) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n const playSegments = (segments, forceFlag) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n const setSubframe = (useSubFrames) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n const getDuration = (inFrames) => { var _a; return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames); };\n /**\n * Destroy animation\n */\n const destroy = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n const loadAnimation = (forcedConfigs = {}) => {\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n const config = {\n ...props,\n ...forcedConfigs,\n container: animationContainer.current,\n };\n // Save the animation instance\n animationInstanceRef.current = lottie.loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n useEffect(() => {\n const onUnmount = loadAnimation();\n // Clean up on unmount\n return () => onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] ||\n animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n useEffect(() => {\n const partialListeners = [\n { name: \"complete\", handler: onComplete },\n { name: \"loopComplete\", handler: onLoopComplete },\n { name: \"enterFrame\", handler: onEnterFrame },\n { name: \"segmentStart\", handler: onSegmentStart },\n { name: \"config_ready\", handler: onConfigReady },\n { name: \"data_ready\", handler: onDataReady },\n { name: \"data_failed\", handler: onDataFailed },\n { name: \"loaded_images\", handler: onLoadedImages },\n { name: \"DOMLoaded\", handler: onDOMLoaded },\n { name: \"destroy\", handler: onDestroy },\n ];\n const listeners = partialListeners.filter((listener) => listener.handler != null);\n if (!listeners.length) {\n return;\n }\n const deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n (listener) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return () => {\n deregisterList.forEach((deregister) => deregister());\n };\n }, [\n onComplete,\n onLoopComplete,\n onEnterFrame,\n onSegmentStart,\n onConfigReady,\n onDataReady,\n onDataFailed,\n onLoadedImages,\n onDOMLoaded,\n onDestroy,\n ]);\n /**\n * Build the animation view\n */\n const View = React.createElement(\"div\", { style: style, ref: animationContainer, ...rest });\n return {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef: animationContainer,\n animationLoaded,\n animationItem: animationInstanceRef.current,\n };\n};\nexport default useLottie;\n","import { useEffect } from \"react\";\n// helpers\nexport function getContainerVisibility(container) {\n const { top, height } = container.getBoundingClientRect();\n const current = window.innerHeight - top;\n const max = window.innerHeight + height;\n return current / max;\n}\nexport function getContainerCursorPosition(container, cursorX, cursorY) {\n const { top, left, width, height } = container.getBoundingClientRect();\n const x = (cursorX - left) / width;\n const y = (cursorY - top) / height;\n return { x, y };\n}\nexport const useInitInteractivity = ({ wrapperRef, animationItem, mode, actions, }) => {\n useEffect(() => {\n const wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n const scrollModeHandler = () => {\n let assignedSegment = null;\n const scrollHandler = () => {\n const currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ visibility }) => visibility &&\n currentPercent >= visibility[0] &&\n currentPercent <= visibility[1]);\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" &&\n action.visibility &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const frameToGo = action.frames[0] +\n Math.ceil(((currentPercent - action.visibility[0]) /\n (action.visibility[1] - action.visibility[0])) *\n action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return () => {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n const cursorModeHandler = () => {\n const handleCursor = (_x, _y) => {\n let x = _x;\n let y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n const pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ position }) => {\n if (position &&\n Array.isArray(position.x) &&\n Array.isArray(position.y)) {\n return (x >= position.x[0] &&\n x <= position.x[1] &&\n y >= position.y[0] &&\n y <= position.y[1]);\n }\n if (position &&\n !Number.isNaN(position.x) &&\n !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" &&\n action.position &&\n Array.isArray(action.position.x) &&\n Array.isArray(action.position.y) &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const xPercent = (x - action.position.x[0]) /\n (action.position.x[1] - action.position.x[0]);\n const yPercent = (y - action.position.y[0]) /\n (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil(((xPercent + yPercent) / 2) *\n (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n const mouseMoveHandler = (ev) => {\n handleCursor(ev.clientX, ev.clientY);\n };\n const mouseOutHandler = () => {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return () => {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n};\nconst useLottieInteractivity = ({ actions, mode, lottieObj, }) => {\n const { animationItem, View, animationContainerRef } = lottieObj;\n useInitInteractivity({\n actions,\n animationItem,\n mode,\n wrapperRef: animationContainerRef,\n });\n return View;\n};\nexport default useLottieInteractivity;\n","import { useEffect } from \"react\";\nimport useLottie from \"../hooks/useLottie\";\nimport useLottieInteractivity from \"../hooks/useLottieInteractivity\";\nconst Lottie = (props) => {\n var _a, _b, _c;\n const { style, interactivity, ...lottieProps } = props;\n /**\n * Initialize the 'useLottie' hook\n */\n const { View, play, stop, pause, setSpeed, goToAndStop, goToAndPlay, setDirection, playSegments, setSubframe, getDuration, destroy, animationContainerRef, animationLoaded, animationItem, } = useLottie(lottieProps, style);\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n useEffect(() => {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play,\n stop,\n pause,\n setSpeed,\n goToAndPlay,\n goToAndStop,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\",\n });\n};\nexport default Lottie;\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n ' ',\r\n ' ',\r\n ' ',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\" \";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime 0 && protocol.charAt(protocol.length - 1) !== ':') {\n\t\treturn protocol + ':'\n\t}\n\treturn protocol\n}\n\nmodule.exports = function makeTwemojiRenderer(options) {\n\toptions = merge({\n\t\tprotocol: pageProtocol,\n\t\tbaseUrl: '//cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/',\n\t\tsize: '72x72',\n\t\text: '.png',\n\t\tprops: null\n\t}, options)\n\n\treturn function renderTwemoji (icon, match, offset) {\n\t\tvar src = ''\n\t\tif (options.baseUrl.indexOf('http') !== 0) {\n\t\t\tsrc += normalizeProtocol(options.protocol)\n\t\t}\n\n\t\tsrc += options.baseUrl + options.size + '/' + icon + options.ext\n\n\t\treturn createElement(\n\t\t\t'img',\n\t\t\tmerge({\n\t\t\t\tkey: offset,\n\t\t\t\talt: match,\n\t\t\t\tdraggable: false,\n\t\t\t\tsrc: src,\n\t\t\t\tstyle: emojiStyle\n\t\t\t}, options.props)\n\t\t)\n\t}\n}\n\nfunction merge() {\n\tvar out = {}, len = arguments.length\n\tfor(var i = 0; i < len; ++i) {\n\t\tvar source = arguments[i]\n\t\tif (source) {\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\tout[key] = source[key]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n }\n return out\n}","var replaceStringToArray = require('string-replace-to-array')\n\n// This is based off of https://github.com/twitter/twemoji/blob/gh-pages/2/twemoji.js\n//\n// Ideally we'd use twemoji instead of replicating its logic.\n// The reason we can't is that we need to run our own replace.\n//\n// We could use it for most things (by essentially running twemoji.parse for each\n// regex match, and reading the code from the callback), but the one thing we'd always need\n// to copy and paste into this file is the regex since we need it to run the replace.\n//\n// Another option is to fork twemoji and expose a method in it that could help us, then\n// ask them to pull it in.\n//\n\n// RegExp based on emoji's official Unicode standards\n// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt\nvar re = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\udef1\\ud83c\\udffb\\u200d\\ud83e\\udef2\\ud83c[\\udffc-\\udfff]|\\ud83e\\udef1\\ud83c\\udffc\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\udef1\\ud83c\\udffd\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\udef1\\ud83c\\udffe\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\udef1\\ud83c\\udfff\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83e\\udd1d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91]|\\ud83e\\udd1d)|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd\\udec3-\\udec5\\udef0-\\udef6]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udedd-\\udedf\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb\\udff0]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcc\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7c\\ude80-\\ude86\\ude90-\\udeac\\udeb0-\\udeba\\udec0-\\udec2\\uded0-\\uded9\\udee0-\\udee7]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g\n\nfunction toCodePoint(unicodeSurrogates, sep) {\n var\n\t\tr = [],\n\t\tc = 0,\n\t\tp = 0,\n\t\ti = 0\n\t\t\n\twhile (i < unicodeSurrogates.length) {\n\t\tc = unicodeSurrogates.charCodeAt(i++)\n\t\tif (p) {\n\t\t\tr.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16))\n\t\t\tp = 0\n\t\t} else if (0xD800 <= c && c <= 0xDBFF) {\n\t\t\tp = c\n\t\t} else {\n\t\t\tr.push(c.toString(16))\n\t\t}\n\t}\n\treturn r.join(sep || '-')\n}\n\n// avoid runtime RegExp creation for not so smart,\n// not JIT based, and old browsers / engines\nvar UFE0Fg = /\\uFE0F/g\n\n// avoid using a string literal like '\\u200D' here because minifiers expand it inline\nvar U200D = String.fromCharCode(0x200D)\n\n/**\n* Used to both remove the possible variant\n* and to convert utf16 into code points.\n* If there is a zero-width-joiner (U+200D), leave the variants in.\n* @param string the raw text of the emoji match\n*/\nfunction grabTheRightIcon(rawText) {\n\t// if variant is present as \\uFE0F\n\treturn toCodePoint(rawText.indexOf(U200D) < 0 ?\n\t\trawText.replace(UFE0Fg, '') :\n\t\trawText\n\t);\n}\n\nmodule.exports = function replaceEmoji (string, render) {\n\t// Note: the latest regex added an empty matching group, so we ignore it.\n\treturn replaceStringToArray(string, re, function emojiReplacer (match, _, offset) {\n\t\tvar icon = grabTheRightIcon(match)\n\t\treturn render(icon, match, offset)\n\t})\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldUpdate2 = require('./shouldUpdate');\n\nvar _shouldUpdate3 = _interopRequireDefault(_shouldUpdate2);\n\nvar _supportsPassiveEvents = require('./supportsPassiveEvents');\n\nvar _supportsPassiveEvents2 = _interopRequireDefault(_supportsPassiveEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // eslint-disable-line import/no-unresolved\n\n\nvar noop = function noop() {};\n\nvar Headroom = function (_Component) {\n _inherits(Headroom, _Component);\n\n _createClass(Headroom, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n if (props.disable && state.state !== 'unfixed') {\n return {\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false,\n state: 'unfixed'\n };\n }\n\n return null;\n }\n }]);\n\n function Headroom(props) {\n _classCallCheck(this, Headroom);\n\n // Class variables.\n var _this = _possibleConstructorReturn(this, (Headroom.__proto__ || Object.getPrototypeOf(Headroom)).call(this, props));\n\n _this.setRef = function (ref) {\n return _this.inner = ref;\n };\n\n _this.setHeightOffset = function () {\n _this.setState({\n height: _this.inner ? _this.inner.offsetHeight : ''\n });\n _this.resizeTicking = false;\n };\n\n _this.getScrollY = function () {\n if (_this.props.parent().pageYOffset !== void 0) {\n return _this.props.parent().pageYOffset;\n } else if (_this.props.parent().scrollTop !== void 0) {\n return _this.props.parent().scrollTop;\n } else {\n return (document.documentElement || document.body.parentNode || document.body).scrollTop;\n }\n };\n\n _this.getViewportHeight = function () {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n };\n\n _this.getDocumentHeight = function () {\n var body = document.body;\n var documentElement = document.documentElement;\n\n return Math.max(body.scrollHeight, documentElement.scrollHeight, body.offsetHeight, documentElement.offsetHeight, body.clientHeight, documentElement.clientHeight);\n };\n\n _this.getElementPhysicalHeight = function (elm) {\n return Math.max(elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getElementHeight = function (elm) {\n return Math.max(elm.scrollHeight, elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getScrollerPhysicalHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getViewportHeight() : _this.getElementPhysicalHeight(parent);\n };\n\n _this.getScrollerHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getDocumentHeight() : _this.getElementHeight(parent);\n };\n\n _this.isOutOfBound = function (currentScrollY) {\n var pastTop = currentScrollY < 0;\n\n var scrollerPhysicalHeight = _this.getScrollerPhysicalHeight();\n var scrollerHeight = _this.getScrollerHeight();\n\n var pastBottom = currentScrollY + scrollerPhysicalHeight > scrollerHeight;\n\n return pastTop || pastBottom;\n };\n\n _this.handleScroll = function () {\n if (!_this.scrollTicking) {\n _this.scrollTicking = true;\n (0, _raf2.default)(_this.update);\n }\n };\n\n _this.handleResize = function () {\n if (!_this.resizeTicking) {\n _this.resizeTicking = true;\n (0, _raf2.default)(_this.setHeightOffset);\n }\n };\n\n _this.unpin = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned',\n animation: true,\n state: 'unpinned'\n });\n };\n\n _this.unpinSnap = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned headroom-disable-animation',\n animation: false,\n state: 'unpinned'\n });\n };\n\n _this.pin = function () {\n _this.props.onPin();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--pinned',\n animation: true,\n state: 'pinned'\n });\n };\n\n _this.unfix = function () {\n _this.props.onUnfix();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false\n }, function () {\n setTimeout(function () {\n _this.setState({ state: 'unfixed' });\n }, 0);\n });\n };\n\n _this.update = function () {\n _this.currentScrollY = _this.getScrollY();\n\n if (!_this.isOutOfBound(_this.currentScrollY)) {\n var _shouldUpdate = (0, _shouldUpdate3.default)(_this.lastKnownScrollY, _this.currentScrollY, _this.props, _this.state),\n action = _shouldUpdate.action;\n\n if (action === 'pin') {\n _this.pin();\n } else if (action === 'unpin') {\n _this.unpin();\n } else if (action === 'unpin-snap') {\n _this.unpinSnap();\n } else if (action === 'unfix') {\n _this.unfix();\n }\n }\n\n _this.lastKnownScrollY = _this.currentScrollY;\n _this.scrollTicking = false;\n };\n\n _this.currentScrollY = 0;\n _this.lastKnownScrollY = 0;\n _this.scrollTicking = false;\n _this.resizeTicking = false;\n _this.eventListenerOptions = false;\n _this.state = {\n state: 'unfixed',\n translateY: 0,\n className: 'headroom headroom--unfixed'\n };\n return _this;\n }\n\n _createClass(Headroom, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.setHeightOffset();\n\n this.eventListenerOptions = (0, _supportsPassiveEvents2.default)() ? { passive: true, capture: false } : false;\n\n if (!this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state, nextState);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // If children have changed, remeasure height.\n if (prevProps.children !== this.props.children) {\n this.setHeightOffset();\n }\n\n // Add/remove event listeners when re-enabled/disabled\n if (!prevProps.disable && this.props.disable) {\n this.props.parent().removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n this.props.parent().removeEventListener('resize', this.handleResize, this.eventListenerOptions);\n\n if (prevState.state !== 'unfixed' && this.state.state === 'unfixed') {\n this.props.onUnfix();\n }\n } else if (prevProps.disable && !this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n }\n\n if (prevProps.pin !== this.props.pin) {\n this.handleScroll();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.parent()) {\n this.props.parent().removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n this.props.parent().removeEventListener('resize', this.handleResize, this.eventListenerOptions);\n }\n window.removeEventListener('scroll', this.handleScroll, this.eventListenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n userClassName = _props.className,\n Tag = _props.tag,\n divProps = _objectWithoutProperties(_props, ['className', 'tag']);\n\n delete divProps.onUnpin;\n delete divProps.onPin;\n delete divProps.onUnfix;\n delete divProps.disableInlineStyles;\n delete divProps.disable;\n delete divProps.pin;\n delete divProps.parent;\n delete divProps.children;\n delete divProps.upTolerance;\n delete divProps.downTolerance;\n delete divProps.pinStart;\n delete divProps.calcHeightOnResize;\n\n var style = divProps.style,\n wrapperStyle = divProps.wrapperStyle,\n rest = _objectWithoutProperties(divProps, ['style', 'wrapperStyle']);\n\n var innerStyle = {\n position: this.props.disable || this.state.state === 'unfixed' ? 'relative' : 'fixed',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n WebkitTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n MsTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n transform: 'translate3D(0, ' + this.state.translateY + ', 0)'\n };\n\n var className = this.state.className;\n\n // Don't add css transitions until after we've done the initial\n // negative transform when transitioning from 'unfixed' to 'unpinned'.\n // If we don't do this, the header will flash into view temporarily\n // while it transitions from 0 — -100%.\n if (this.state.animation) {\n innerStyle = _extends({}, innerStyle, {\n WebkitTransition: 'all .2s ease-in-out',\n MozTransition: 'all .2s ease-in-out',\n OTransition: 'all .2s ease-in-out',\n transition: 'all .2s ease-in-out'\n });\n className += ' headroom--scrolled';\n }\n\n if (!this.props.disableInlineStyles) {\n innerStyle = _extends({}, innerStyle, style);\n } else {\n innerStyle = style;\n }\n\n var wrapperStyles = _extends({}, wrapperStyle, {\n height: this.state.height ? this.state.height : null\n });\n\n var wrapperClassName = userClassName ? userClassName + ' headroom-wrapper' : 'headroom-wrapper';\n\n return _react2.default.createElement(\n Tag,\n { style: wrapperStyles, className: wrapperClassName },\n _react2.default.createElement(\n 'div',\n _extends({\n ref: this.setRef\n }, rest, {\n style: innerStyle,\n className: className\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return Headroom;\n}(_react.Component);\n\nHeadroom.propTypes = {\n className: _propTypes2.default.string,\n parent: _propTypes2.default.func,\n children: _propTypes2.default.any.isRequired,\n disableInlineStyles: _propTypes2.default.bool,\n disable: _propTypes2.default.bool,\n pin: _propTypes2.default.bool,\n upTolerance: _propTypes2.default.number,\n downTolerance: _propTypes2.default.number,\n onPin: _propTypes2.default.func,\n onUnpin: _propTypes2.default.func,\n onUnfix: _propTypes2.default.func,\n wrapperStyle: _propTypes2.default.object,\n pinStart: _propTypes2.default.number,\n style: _propTypes2.default.object,\n calcHeightOnResize: _propTypes2.default.bool,\n tag: _propTypes2.default.string\n};\nHeadroom.defaultProps = {\n parent: function parent() {\n return window;\n },\n disableInlineStyles: false,\n disable: false,\n pin: false,\n upTolerance: 5,\n downTolerance: 0,\n onPin: noop,\n onUnpin: noop,\n onUnfix: noop,\n wrapperStyle: {},\n pinStart: 0,\n calcHeightOnResize: true,\n tag: 'div'\n};\nexports.default = Headroom;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var lastKnownScrollY = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n var currentScrollY = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var props = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var state = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};\n\n var scrollDirection = currentScrollY >= lastKnownScrollY ? 'down' : 'up';\n var distanceScrolled = Math.abs(currentScrollY - lastKnownScrollY);\n\n // We're disabled\n if (props.disable) {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're pinned\n };\n } else if (props.pin) {\n return {\n action: state.state !== 'pinned' ? 'pin' : 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're at the top and not fixed yet.\n };\n } else if (currentScrollY <= props.pinStart && state.state !== 'unfixed') {\n return {\n action: 'unfix',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're unfixed and headed down. Carry on.\n };\n } else if (currentScrollY <= state.height && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else if (currentScrollY > state.height + props.pinStart && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'unpin-snap',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're past the header and scrolling down.\n // We transition to \"unpinned\" if necessary.\n };\n } else if (scrollDirection === 'down' && ['pinned', 'unfixed'].indexOf(state.state) >= 0 && currentScrollY > state.height + props.pinStart && distanceScrolled > props.downTolerance) {\n return {\n action: 'unpin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, we transition to \"pinned\"\n };\n } else if (scrollDirection === 'up' && distanceScrolled > props.upTolerance && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, and inside the header.\n // We transition to pin regardless of upTolerance\n };\n } else if (scrollDirection === 'up' && currentScrollY <= state.height && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = supportsPassiveEvents;\n/**\n * Used to detect browser support for adding an event listener with options\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners\n * @returns Boolean\n */\nfunction supportsPassiveEvents() {\n var passiveSupported = false;\n\n try {\n var options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n passiveSupported = true;\n return false;\n }\n };\n\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}","const VALIDATOR_ARG_ERROR_MESSAGE =\n 'The typeValidator argument must be a function ' +\n 'with the signature function(props, propName, componentName).';\n\nconst MESSAGE_ARG_ERROR_MESSAGE =\n 'The error message is optional, but must be a string if provided.';\n\nconst propIsRequired = (condition, props, propName, componentName) => {\n if (typeof condition === 'boolean') {\n return condition;\n } else if (typeof condition === 'function') {\n return condition(props, propName, componentName);\n } else if (Boolean(condition) === true) {\n return Boolean(condition);\n }\n\n return false;\n};\n\nconst propExists = (props, propName) => Object.hasOwnProperty.call(props, propName);\n\nconst missingPropError = (props, propName, componentName, message) => {\n if (message) {\n return new Error(message);\n }\n\n return new Error(\n `Required ${props[propName]} \\`${propName}\\`` +\n ` was not specified in \\`${componentName}\\`.`,\n );\n};\n\nconst guardAgainstInvalidArgTypes = (typeValidator, message) => {\n if (typeof typeValidator !== 'function') {\n throw new TypeError(VALIDATOR_ARG_ERROR_MESSAGE);\n }\n\n if (Boolean(message) && typeof message !== 'string') {\n throw new TypeError(MESSAGE_ARG_ERROR_MESSAGE);\n }\n};\n\nconst isRequiredIf = (typeValidator, condition, message) => {\n guardAgainstInvalidArgTypes(typeValidator, message);\n\n return (props, propName, componentName, ...rest) => {\n if (propIsRequired(condition, props, propName, componentName)) {\n if (propExists(props, propName)) {\n return typeValidator(props, propName, componentName, ...rest);\n }\n\n return missingPropError(props, propName, componentName, message);\n }\n\n // Is not required, so just run typeValidator.\n return typeValidator(props, propName, componentName, ...rest);\n };\n};\n\nexport default isRequiredIf;\n","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,n){var r={};for(var t in o)n.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,n){var r=n.left,t=n.right,e=n.up,a=n.down,p=n.top,i=n.bottom,s=n.mirror,l=n.opposite,u=(r?1:0)|(t?2:0)|(p||a?4:0)|(i||e?8:0)|(s?16:0)|(l?32:0)|(o?64:0);if(lookup.hasOwnProperty(u))return lookup[u];if(!s!=!(o&&l)){var d=[t,r,i,p,a,e];r=d[0],t=d[1],p=d[2],i=d[3],e=d[4],a=d[5]}var f=r||t,c=p||i||e||a,m=f||c,y=void 0,v=void 0,_=void 0,b=void 0,x=void 0,T=void 0,g=void 0,h=void 0,k=void 0,w=void 0,q=void 0,O=void 0,P=void 0,j=void 0;return o?(b=f?(t?\"-\":\"\")+\"20px\":0,x=c?(e||i?\"\":\"-\")+\"10px\":\"0\",T=(a||p?\"\":\"-\")+\"20px\",P=f?(r?\"-\":\"\")+\"2000px\":\"0\",j=c?(a||p?\"-\":\"\")+\"2000px\":\"0\"):(v=f?(r?\"-\":\"\")+\"3000px\":\"0\",_=c?(a||p?\"-\":\"\")+\"3000px\":\"0\",g=f?(t?\"-\":\"\")+\"25px\":\"0\",h=c?(e||i?\"-\":\"\")+\"25px\":\"0\",k=f?(r?\"-\":\"\")+\"10px\":\"0\",w=c?(a||p?\"-\":\"\")+\"10px\":\"0\",q=f?(t?\"-\":\"\")+\"5px\":\"0\",O=c?(e||i?\"-\":\"\")+\"5px\":\"0\"),y=m?o?\"\\n 20% {\\n transform: translate3d(\"+b+\", \"+x+\", 0);\\n }\\n \"+(c?\"40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, \"+T+\", 0);\\n }\":\"\")+\"\\n to {\\n opacity: 0;\\n transform: translate3d(\"+P+\", \"+j+\", 0);\\n }\\n \":\"from, 60%, 75%, 90%, to {\\n animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\\n }\\n from {\\n opacity: 0;\\n transform: translate3d(\"+v+\", \"+_+\", 0);\\n }\\n 60% {\\n opacity: 1;\\n transform: translate3d(\"+g+\", \"+h+\", 0);\\n }\\n 75% {\\n transform: translate3d(\"+k+\", \"+w+\", 0);\\n }\\n 90% {\\n transform: translate3d(\"+q+\", \"+O+\", 0);\\n }\\n to {\\n transform: none;\\n }\":o?\"20% {\\n transform: scale3d(.9, .9, .9);\\n }\\n 50%, 55% {\\n opacity: 1;\\n transform: scale3d(1.1, 1.1, 1.1);\\n }\\n to {\\n opacity: 0;\\n transform: scale3d(.3, .3, .3);\\n }\":\"from, 20%, 40%, 60%, 80%, to {\\n animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\\n }\\n 0% {\\n opacity: 0;\\n transform: scale3d(.3, .3, .3);\\n }\\n 20% {\\n transform: scale3d(1.1, 1.1, 1.1);\\n }\\n 40% {\\n transform: scale3d(.9, .9, .9);\\n }\\n 60% {\\n opacity: 1;\\n transform: scale3d(1.03, 1.03, 1.03);\\n }\\n 80% {\\n transform: scale3d(.97, .97, .97);\\n }\\n to {\\n opacity: 1;\\n transform: scale3d(1, 1, 1);\\n }\",lookup[u]=(0,_globals.animation)(y),lookup[u]}function Bounce(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,n=o.children,r=(o.out,o.forever),t=o.timeout,e=o.duration,a=void 0===e?_globals.defaults.duration:e,p=o.delay,i=void 0===p?_globals.defaults.delay:p,s=o.count,l=void 0===s?_globals.defaults.count:s,u=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?a:t,delay:i,forever:r,count:l,style:{animationFillMode:\"both\"},reverse:u.left};return(0,_wrap2.default)(u,d,d,n)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Bounce.propTypes=propTypes,exports.default=Bounce,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.distance,t=e.left,p=e.right,a=e.up,l=e.down,i=e.top,u=e.bottom,n=e.big,s=e.mirror,d=e.opposite,_=(r?r.toString():0)+((t?1:0)|(p?2:0)|(i||l?4:0)|(u||a?8:0)|(s?16:0)|(d?32:0)|(o?64:0)|(n?128:0));if(lookup.hasOwnProperty(_))return lookup[_];var f=t||p||a||l||i||u,y=void 0,b=void 0;if(f){if(!s!=!(o&&d)){var v=[p,t,u,i,l,a];t=v[0],p=v[1],i=v[2],u=v[3],a=v[4],l=v[5]}var c=r||(n?\"2000px\":\"100%\");y=t?\"-\"+c:p?c:\"0\",b=l||i?\"-\"+c:a||u?c:\"0\"}return lookup[_]=(0,_globals.animation)((o?\"to\":\"from\")+\" {opacity: 0;\"+(f?\" transform: translate3d(\"+y+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none;} \"),lookup[_]}function Fade(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=o.children,t=(o.out,o.forever),p=o.timeout,a=o.duration,l=void 0===a?_globals.defaults.duration:a,i=o.delay,u=void 0===i?_globals.defaults.delay:i,n=o.count,s=void 0===n?_globals.defaults.count:n,d=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),_={make:make,duration:void 0===p?l:p,delay:u,forever:t,count:s,style:{animationFillMode:\"both\"},reverse:d.left};return e?(0,_wrap2.default)(d,_,_,r):_}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,distance:_propTypes.string,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Fade.propTypes=propTypes,exports.default=Fade,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,o){var t={};for(var r in e)o.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}function make(e,o){var t=o.left,r=o.right,n=o.top,p=o.bottom,i=o.x,a=o.y,s=o.mirror,l=o.opposite,u=(t?1:0)|(r||a?2:0)|(n||i?4:0)|(p?8:0)|(s?16:0)|(l?32:0)|(e?64:0);if(lookup.hasOwnProperty(u))return lookup[u];if(!s!=!(e&&l)){var d=[r,t,p,n,a,i];t=d[0],r=d[1],n=d[2],p=d[3],i=d[4],a=d[5]}var f=void 0;if(i||a||t||r||n||p){var m=i||n||p?(p?\"-\":\"\")+\"1\":\"0\",c=a||r||t?(t?\"-\":\"\")+\"1\":\"0\";f=e?\"from {\\n transform: perspective(400px);\\n }\\n 30% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -15deg);\\n opacity: 1;\\n }\\n to {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 90deg);\\n opacity: 0;\\n }\":\"from {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 90deg);\\n animation-timing-function: ease-in;\\n opacity: 0;\\n }\\n 40% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -20deg);\\n animation-timing-function: ease-in;\\n }\\n 60% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 10deg);\\n opacity: 1;\\n }\\n 80% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -5deg);\\n }\\n to {\\n transform: perspective(400px);\\n }\"}else f=\"from {\\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n animation-timing-function: ease-out;\\n opacity: \"+(e?\"1\":\"0\")+\";\\n }\\n 40% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n animation-timing-function: ease-out;\\n }\\n 50% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n animation-timing-function: ease-in;\\n }\\n to {\\n transform: perspective(400px);\\n animation-timing-function: ease-in;\\n opacity: \"+(e?\"0\":\"1\")+\";\\n }\";return lookup[u]=(0,_globals.animation)(f),lookup[u]}function Flip(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,o=e.children,t=(e.out,e.forever),r=e.timeout,n=e.duration,p=void 0===n?_globals.defaults.duration:n,i=e.delay,a=void 0===i?_globals.defaults.delay:i,s=e.count,l=void 0===s?_globals.defaults.count:s,u=_objectWithoutProperties(e,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===r?p:r,delay:a,forever:t,count:l,style:{animationFillMode:\"both\",backfaceVisibility:\"visible\"}};return(0,_wrap2.default)(u,d,d,o)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Flip.propTypes=propTypes,exports.default=Flip,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.mirror,n=e.opposite,a=(r?1:0)|(t?2:0)|(p?16:0)|(n?32:0)|(o?64:0);if(lookup.hasOwnProperty(a))return lookup[a];if(!p!=!(o&&n)){var i=[t,r];r=i[0],t=i[1]}var l=r?\"-100%\":t?\"100%\":\"0\",u=o?\"from {\\n opacity: 1;\\n }\\n to {\\n transform: translate3d(\"+l+\", 0, 0) skewX(30deg);\\n opacity: 0;\\n }\\n \":\"from {\\n transform: translate3d(\"+l+\", 0, 0) skewX(-30deg);\\n opacity: 0;\\n }\\n 60% {\\n transform: skewX(20deg);\\n opacity: 1;\\n }\\n 80% {\\n transform: skewX(-5deg);\\n opacity: 1;\\n }\\n to {\\n transform: none;\\n opacity: 1;\\n }\";return lookup[a]=(0,_globals.animation)(u),lookup[a]}function LightSpeed(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,n=void 0===p?_globals.defaults.duration:p,a=o.delay,i=void 0===a?_globals.defaults.delay:a,l=o.count,u=void 0===l?_globals.defaults.count:l,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?n:t,delay:i,forever:r,count:u,style:{animationFillMode:\"both\"}};s.left,s.right,s.mirror,s.opposite;return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};LightSpeed.propTypes=propTypes,exports.default=LightSpeed,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){var r={};for(var o in e)t.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}function Reveal(e){function t(e){return e?_?{duration:n,delay:f,count:s,forever:d,className:_,style:{}}:y:i?{duration:void 0===o?u:o,delay:p,count:a,forever:l,className:i,style:{}}:c}var r=e.children,o=e.timeout,u=e.duration,p=e.delay,a=e.count,l=e.forever,n=e.durationOut,f=e.delayOut,s=e.countOut,d=e.foreverOut,i=e.effect,_=e.effectOut,c=e.inEffect,y=e.outEffect,O=_objectWithoutProperties(e,[\"children\",\"timeout\",\"duration\",\"delay\",\"count\",\"forever\",\"durationOut\",\"delayOut\",\"countOut\",\"foreverOut\",\"effect\",\"effectOut\",\"inEffect\",\"outEffect\"]);return(0,_wrap2.default)(O,t(!1),t(!0),r)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t>2,l=a>>1;n=a,r=i.delay+(this.isOn?0:s-a-l),e.style.animationDuration=s-a+(this.isOn?l:-l)+\"ms\",e.style.animationDelay=i.delay+(this.isOn?a-l:0)+\"ms\"}return e.collapse={height:o,transition:\"height \"+n+\"ms ease \"+r+\"ms\",overflow:t.collapseOnly?\"hidden\":void 0},e}},{key:\"animate\",value:function(e){if(this&&this.el&&(this.unlisten(),this.isShown!==this.isOn)){this.isShown=this.isOn;var t=!this.isOn&&e.outEffect,i=e[t?\"outEffect\":\"inEffect\"],s=\"style\"in i&&i.style.animationName||void 0,o=void 0;e.collapseOnly?o={hasAppeared:!0,hasExited:!1,style:{opacity:1}}:((e.outEffect||this.isOn)&&i.make&&(s=i.make),o={hasAppeared:!0,hasExited:!1,collapse:void 0,style:_extends({},i.style,{animationDuration:i.duration+\"ms\",animationDelay:i.delay+\"ms\",animationIterationCount:i.forever?\"infinite\":i.count,opacity:1,animationName:s}),className:i.className}),this.setState(e.collapse?this.collapse(o,e,i):o),t?(this.savedChild=_react2.default.cloneElement(this.getChild()),this.animationEnd(this.invisible,e.cascade,i)):this.savedChild=!1,this.onReveal(e)}}},{key:\"onReveal\",value:function(e){e.onReveal&&this.isOn&&(this.onRevealTimeout&&(this.onRevealTimeout=window.clearTimeout(this.onRevealTimeout)),e.wait?this.onRevealTimeout=window.setTimeout(e.onReveal,e.wait):e.onReveal())}},{key:\"componentWillUnmount\",value:function(){this.unlisten(),_globals.ssr&&(0,_globals.disableSsr)()}},{key:\"handleObserve\",value:function(e,t){_slicedToArray(e,1)[0].intersectionRatio>0&&(t.disconnect(),this.observer=null,this.reveal(this.props,!0))}},{key:\"observe\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.el&&_globals.observerMode){if(this.observer){if(!t)return;this.observer.disconnect()}else if(t)return;this.observer=new IntersectionObserver(this.handleObserve,{threshold:e.fraction}),this.observer.observe(this.el)}}},{key:\"reveal\",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];_globals.globalHide||(0,_globals.hideAll)(),this&&this.el&&(e||(e=this.props),_globals.ssr&&(0,_globals.disableSsr)(),this.isOn&&this.isShown&&void 0!==e.spy?(this.isShown=!1,this.setState({style:{}}),window.setTimeout(function(){return t.reveal(e)},200)):i||this.inViewport(e)||e.force?this.animate(e):_globals.observerMode?this.observe(e):this.listen())}},{key:\"componentDidMount\",value:function(){var e=this;if(this.el&&!this.props.disabled){this.props.collapseOnly||(\"make\"in this.props.inEffect&&this.props.inEffect.make(!1,this.props),void 0!==this.props.when&&this.props.outEffect&&\"make\"in this.props.outEffect&&this.props.outEffect.make(!0,this.props));var i=this.context.transitionGroup,s=i&&!i.isMounting?!(\"enter\"in this.props&&!1===this.props.enter):this.props.appear;return this.isOn&&((void 0!==this.props.when||void 0!==this.props.spy)&&!s||_globals.ssr&&!_globals.fadeOutEnabled&&!this.props.ssrFadeout&&this.props.outEffect&&!this.props.ssrReveal&&t.getTop(this.el)o-window.innerHeight&&s=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,l=e.down,a=e.top,u=e.bottom,i=e.big,n=e.mirror,s=e.opposite,d=(r?1:0)|(t?2:0)|(a||l?4:0)|(u||p?8:0)|(n?16:0)|(s?32:0)|(o?64:0)|(i?128:0);if(lookup.hasOwnProperty(d))return lookup[d];if(!n!=!(o&&s)){var _=[t,r,u,a,l,p];r=_[0],t=_[1],a=_[2],u=_[3],p=_[4],l=_[5]}var y=i?\"2000px\":\"100%\",b=r?\"-\"+y:t?y:\"0\",f=l||a?\"-\"+y:p||u?y:\"0\";return lookup[d]=(0,_globals.animation)(\"\\n \"+(o?\"to\":\"from\")+\" {opacity: 0;transform: translate3d(\"+b+\", \"+f+\", 0) rotate3d(0, 0, 1, -120deg);}\\n\\t \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none}\\n \"),lookup[d]}function Roll(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,l=void 0===p?_globals.defaults.duration:p,a=o.delay,u=void 0===a?_globals.defaults.delay:a,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?l:t,delay:u,forever:r,count:n,style:{animationFillMode:\"both\"}};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Roll.propTypes=propTypes,exports.default=Roll,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,a=e.down,l=e.top,u=e.bottom,i=e.mirror,n=e.opposite,s=(r?1:0)|(t?2:0)|(l||a?4:0)|(u||p?8:0)|(i?16:0)|(n?32:0)|(o?64:0);if(lookup.hasOwnProperty(s))return lookup[s];if(!i!=!(o&&n)){var d=[t,r,u,l,a,p];r=d[0],t=d[1],l=d[2],u=d[3],p=d[4],a=d[5]}var f=\"-200deg\",_=\"center\";return(a||l)&&r&&(f=\"-45deg\"),((a||l)&&t||(p||u)&&r)&&(f=\"45deg\"),(p||u)&&t&&(f=\"-90deg\"),(r||t)&&(_=(r?\"left\":\"right\")+\" bottom\"),lookup[s]=(0,_globals.animation)(\"\\n \"+(o?\"to\":\"from\")+\" { opacity: 0; transform-origin: \"+_+\"; transform: rotate3d(0, 0, 1, \"+f+\");}\\n \"+(o?\"from\":\"to\")+\" { opacity: 1; transform-origin: \"+_+\"; transform: none;}\\n \"),lookup[s]}function Rotate(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,a=void 0===p?_globals.defaults.duration:p,l=o.delay,u=void 0===l?_globals.defaults.delay:l,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?a:t,delay:u,forever:r,count:n,style:{animationFillMode:\"both\"}};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Rotate.propTypes=propTypes,exports.default=Rotate,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,l=e.down,u=e.top,a=e.bottom,i=e.big,n=e.mirror,s=e.opposite,d=(r?1:0)|(t?2:0)|(u||l?4:0)|(a||p?8:0)|(n?16:0)|(s?32:0)|(o?64:0)|(i?128:0);if(lookup.hasOwnProperty(d))return lookup[d];var _=r||t||p||l||u||a,f=void 0,b=void 0;if(_){if(!n!=!(o&&s)){var y=[t,r,a,u,l,p];r=y[0],t=y[1],u=y[2],a=y[3],p=y[4],l=y[5]}var m=i?\"2000px\":\"100%\";f=r?\"-\"+m:t?m:\"0\",b=l||u?\"-\"+m:p||a?m:\"0\"}return lookup[d]=(0,_globals.animation)((o?\"to\":\"from\")+\" {\"+(_?\" transform: translate3d(\"+f+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {transform: none;} \"),lookup[d]}function Slide(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,l=void 0===p?_globals.defaults.duration:p,u=o.delay,a=void 0===u?_globals.defaults.delay:u,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?l:t,delay:a,forever:r,count:n,style:{animationFillMode:\"both\"},reverse:s.left};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Slide.propTypes=propTypes,exports.default=Slide,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,n=e.down,a=e.top,i=e.bottom,l=e.mirror,u=e.opposite,s=(r?1:0)|(t?2:0)|(a||n?4:0)|(i||p?8:0)|(l?16:0)|(u?32:0)|(o?64:0);if(lookup.hasOwnProperty(s))return lookup[s];if(!l!=!(o&&u)){var d=[t,r,i,a,n,p];r=d[0],t=d[1],a=d[2],i=d[3],p=d[4],n=d[5]}var f=r||t,c=a||i||p||n,m=f||c,y=void 0,b=void 0,_=void 0,v=void 0,T=void 0;return m?o?(b=f?(r?\"\":\"-\")+\"42px\":\"0\",_=c?(n||a?\"-\":\"\")+\"60px\":\"0\",v=f?(t?\"\":\"-\")+\"2000px\":\"0\",T=c?(p||i?\"\":\"-\")+\"2000px\":\"0\",y=\"40% {\\n opacity: 1;\\n transform: scale3d(.475, .475, .475) translate3d(\"+b+\", \"+_+\", 0);\\n }\\n to {\\n opacity: 0;\\n transform: scale(.1) translate3d(\"+v+\", \"+T+\", 0);\\n transform-origin: \"+(c?\"center bottom\":(r?\"left\":\"right\")+\" center\")+\";\\n }\"):(b=f?(r?\"-\":\"\")+\"1000px\":\"0\",_=c?(n||a?\"-\":\"\")+\"1000px\":\"0\",v=f?(t?\"-\":\"\")+\"10px\":\"0\",T=c?(p||i?\"-\":\"\")+\"60px\":\"0\",y=\"from {\\n opacity: 0;\\n transform: scale3d(.1, .1, .1) translate3d(\"+b+\", \"+_+\", 0);\\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\\n }\\n 60% {\\n opacity: 1;\\n transform: scale3d(.475, .475, .475) translate3d(\"+v+\", \"+T+\", 0);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\\n }\"):y=(o?\"to\":\"from\")+\" {opacity: 0; transform: scale3d(.1, .1, .1);} \"+(o?\"from\":\"to\")+\" { opacity: 1; transform: none;}\",lookup[s]=(0,_globals.animation)(y),lookup[s]}function Zoom(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,n=void 0===p?_globals.defaults.duration:p,a=o.delay,i=void 0===a?_globals.defaults.delay:a,l=o.count,u=void 0===l?_globals.defaults.count:l,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?n:t,delay:i,forever:r,count:u,style:{animationFillMode:\"both\"},reverse:s.left};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Zoom.propTypes=propTypes,exports.default=Zoom,module.exports=exports.default;","\"use strict\";function insertRule(e){try{return sheet.insertRule(e,sheet.cssRules.length)}catch(e){console.warn(\"react-reveal - animation failed\")}}function cascade(e,n,t,o,r){var s=Math.log(o),i=Math.log(r),a=(i-s)/(t-n);return Math.exp(s+a*(e-n))}function animation(e){if(!sheet)return\"\";var n=\"@keyframes \"+(name+counter)+\"{\"+e+\"}\",t=effectMap[e];return t?\"\"+name+t:(sheet.insertRule(n,sheet.cssRules.length),effectMap[e]=counter,\"\"+name+counter++)}function hideAll(){globalHide||(exports.globalHide=globalHide=!0,window.removeEventListener(\"scroll\",hideAll,!0),insertRule(\".\"+namespace+\" { opacity: 0; }\"),window.removeEventListener(\"orientationchange\",hideAll,!0),window.document.removeEventListener(\"visibilitychange\",hideAll))}function config(e){var n=e.ssrFadeout;exports.fadeOutEnabled=fadeOutEnabled=n}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.insertRule=insertRule,exports.cascade=cascade,exports.animation=animation,exports.hideAll=hideAll,exports.default=config;var namespace=exports.namespace=\"react-reveal\",defaults=exports.defaults={duration:1e3,delay:0,count:1},ssr=exports.ssr=!0,observerMode=exports.observerMode=!1,raf=exports.raf=function(e){return window.setTimeout(e,66)},disableSsr=exports.disableSsr=function(){return exports.ssr=ssr=!1},fadeOutEnabled=exports.fadeOutEnabled=!1,ssrFadeout=exports.ssrFadeout=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return exports.fadeOutEnabled=fadeOutEnabled=e},globalHide=exports.globalHide=!1,ie10=exports.ie10=!1,collapseend=exports.collapseend=void 0,counter=1,effectMap={},sheet=!1,name=namespace+\"-\"+Math.floor(1e15*Math.random())+\"-\";if(\"undefined\"!=typeof window&&\"nodejs\"!==window.name&&window.document&&\"undefined\"!=typeof navigator){exports.observerMode=observerMode=\"IntersectionObserver\"in window&&\"IntersectionObserverEntry\"in window&&\"intersectionRatio\"in window.IntersectionObserverEntry.prototype&&/\\{\\s*\\[native code\\]\\s*\\}/.test(\"\"+IntersectionObserver),exports.raf=raf=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||raf,exports.ssr=ssr=window.document.querySelectorAll(\"div[data-reactroot]\").length>0,-1!==navigator.appVersion.indexOf(\"MSIE 10\")&&(exports.ie10=ie10=!0),ssr&&\"performance\"in window&&\"timing\"in window.performance&&\"domContentLoadedEventEnd\"in window.performance.timing&&window.performance.timing.domLoading&&Date.now()-window.performance.timing.domLoading<300&&(exports.ssr=ssr=!1),ssr&&window.setTimeout(disableSsr,1500),observerMode||(exports.collapseend=collapseend=document.createEvent(\"Event\"),collapseend.initEvent(\"collapseend\",!0,!0));var element=document.createElement(\"style\");document.head.appendChild(element),element.sheet&&element.sheet.cssRules&&element.sheet.insertRule&&(sheet=element.sheet,window.addEventListener(\"scroll\",hideAll,!0),window.addEventListener(\"orientationchange\",hideAll,!0),window.document.addEventListener(\"visibilitychange\",hideAll))}","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,\"__esModule\",{value:!0});var _Reveal=require(\"./Reveal\");Object.defineProperty(exports,\"default\",{enumerable:!0,get:function(){return _interopRequireDefault(_Reveal).default}});var _Fade=require(\"./Fade\");Object.defineProperty(exports,\"Fade\",{enumerable:!0,get:function(){return _interopRequireDefault(_Fade).default}});var _Bounce=require(\"./Bounce\");Object.defineProperty(exports,\"Bounce\",{enumerable:!0,get:function(){return _interopRequireDefault(_Bounce).default}});var _Roll=require(\"./Roll\");Object.defineProperty(exports,\"Roll\",{enumerable:!0,get:function(){return _interopRequireDefault(_Roll).default}});var _Slide=require(\"./Slide\");Object.defineProperty(exports,\"Slide\",{enumerable:!0,get:function(){return _interopRequireDefault(_Slide).default}});var _Flip=require(\"./Flip\");Object.defineProperty(exports,\"Flip\",{enumerable:!0,get:function(){return _interopRequireDefault(_Flip).default}}),Object.defineProperty(exports,\"Reveal\",{enumerable:!0,get:function(){return _interopRequireDefault(_Reveal).default}});var _Rotate=require(\"./Rotate\");Object.defineProperty(exports,\"Rotate\",{enumerable:!0,get:function(){return _interopRequireDefault(_Rotate).default}});var _LightSpeed=require(\"./LightSpeed\");Object.defineProperty(exports,\"LightSpeed\",{enumerable:!0,get:function(){return _interopRequireDefault(_LightSpeed).default}});var _Zoom=require(\"./Zoom\");Object.defineProperty(exports,\"Zoom\",{enumerable:!0,get:function(){return _interopRequireDefault(_Zoom).default}});","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function wrap(e,t,a,r){return\"in\"in e&&(e.when=e.in),_react2.default.Children.count(r)<2?_react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r})):(r=_react2.default.Children.map(r,function(r){return _react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r}))}),\"Fragment\"in _react2.default?_react2.default.createElement(_react2.default.Fragment,null,r):_react2.default.createElement(\"span\",null,r))}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;tQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 0) {\n\t\tvar arr = []\n\t\tvar endIndex = index + patternString.length\n\n\t\tif (index > 0) {\n\t\t\tarr.push(string.substring(0, index))\n\t\t}\n\n\t\tarr.push(\n\t\t\t(typeof newValueOrFn === 'function') ?\n\t\t\t\tnewValueOrFn(\n\t\t\t\t\tstring.substring(index, endIndex),\n\t\t\t\t\tindex + globalOffset,\n\t\t\t\t\tstring\n\t\t\t\t) :\n\t\t\t\tnewValueOrFn\n\t\t)\n\n\t\tif (endIndex < string.length) {\n\t\t\tarr.push(string.substring(endIndex))\n\t\t}\n\n\t\treturn arr\n\t} else {\n\t\treturn [string]\n\t}\n}\n\nfunction replaceUsingRegexp (string, regexp, newValueOrFn, globalOffset) {\n\tvar output = []\n\n\tvar replacerIsFn = (typeof newValueOrFn === 'function')\n\n\tvar storedLastIndex = regexp.lastIndex\n\tregexp.lastIndex = 0\n\n\tvar result\n\tvar lastIndex = 0\n\twhile (result = regexp.exec(string)) {\n\t\tvar index = result.index\n\n\t\tif (result[0] === '') {\n\t\t\t// When the regexp is an empty string\n\t\t\t// we still want to advance our cursor to the next item.\n\t\t\t// This is the behavior of String.replace.\n\t\t\tregexp.lastIndex++\n\t\t}\n\n\t\tif (index !== lastIndex) {\n\t\t\toutput.push(string.substring(lastIndex, index))\n\t\t}\n\n\t\tvar match = result[0]\n\t\tlastIndex = index + match.length\n\t\t\n\t\tvar out = replacerIsFn ?\n\t\t\tnewValueOrFn.apply(this, result.concat(index + globalOffset, result.input)) :\n\t\t\tnewValueOrFn\n\t\toutput.push(out)\n\n\t\tif (!regexp.global) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif (lastIndex < string.length) {\n\t\toutput.push(string.substring(lastIndex))\n\t}\n\n\tregexp.lastIndex = storedLastIndex\n\treturn output\n}\n\nmodule.exports = function stringReplaceToArray (stringOrArray, regexpOrSubstr, newSubStrOrFn) {\n\tif (typeof stringOrArray === 'string') {\n\t\treturn replace(stringOrArray, regexpOrSubstr, newSubStrOrFn, 0)\n\t} else if (!Array.isArray(stringOrArray) || !stringOrArray[0]) {\n\t\tthrow new TypeError('First argument must be an array or non-empty string')\n\t} else {\n\t\tvar len = stringOrArray.length\n\t\tvar output = []\n\t\tvar globalOffset = 0\n\t\tfor (var i = 0; i < len; ++i) {\n\t\t\tvar arrayItem = stringOrArray[i]\n\t\t\tif (typeof arrayItem === 'string') {\n\t\t\t\toutput.push.apply(output, replace(arrayItem, regexpOrSubstr, newSubStrOrFn, globalOffset))\n\t\t\t\tglobalOffset += arrayItem.length\n\t\t\t} else {\n\t\t\t\toutput.push(arrayItem)\n\t\t\t}\n\t\t}\n\t\treturn output\n\t}\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"64\":\"56dc6704\",\"769\":\"bda0d7b7\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + {\"64\":\"bba8fa55\",\"769\":\"b3cbb36b\"}[chunkId] + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"developerfolio:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"64\":1,\"769\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdeveloperfolio\"] = self[\"webpackChunkdeveloperfolio\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import React from \"react\";\n\nconst StyleContext = React.createContext();\n\nexport const StyleProvider = StyleContext.Provider;\nexport const StyleConsumer = StyleContext.Consumer;\n\nexport default StyleContext;\n","import React, {useState, useContext} from \"react\";\nimport emoji from \"react-easy-emoji\";\nimport StyleContext from \"../../contexts/StyleContext\";\nimport \"./ToggleSwitch.scss\";\n\nconst ToggleSwitch = () => {\n const {isDark} = useContext(StyleContext);\n const [isChecked, setChecked] = useState(isDark);\n const styleContext = useContext(StyleContext);\n\n return (\n \n {\n styleContext.changeTheme();\n setChecked(!isChecked);\n }}\n />\n \n {isChecked ? emoji(\"🌜\") : emoji(\"☀️\")} \n \n \n );\n};\nexport default ToggleSwitch;\n","import React, {useContext} from \"react\";\nimport Headroom from \"react-headroom\";\nimport \"./Header.scss\";\nimport ToggleSwitch from \"../ToggleSwitch/ToggleSwitch\";\nimport StyleContext from \"../../contexts/StyleContext\";\nimport {\n greeting,\n workExperiences,\n skillsSection,\n openSource,\n blogSection,\n talkSection,\n achievementSection\n} from \"../../portfolio\";\n\nfunction Header() {\n const {isDark} = useContext(StyleContext);\n const viewExperience = workExperiences.display;\n const viewOpenSource = openSource.display;\n const viewSkills = skillsSection.display;\n const viewAchievement = achievementSection.display;\n const viewBlog = blogSection.display;\n const viewTalks = talkSection.display;\n\n return (\n \n \n \n );\n}\nexport default Header;\n","import React from \"react\";\nimport \"./loading.scss\";\n\nexport default function Loading() {\n return (\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n}\n","import React, {Component, Suspense} from \"react\";\nimport Lottie from \"lottie-react\";\nimport Loading from \"../../containers/loading/Loading\";\n\nexport default class DisplayLottie extends Component {\n render() {\n const animationData = this.props.animationData;\n const defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData\n };\n\n return (\n }>\n \n \n );\n }\n}\n","import React from \"react\";\nimport \"./Button.scss\";\n\nexport default function Button({text, className, href, newTab}) {\n return (\n \n );\n}\n","import React, {useContext} from \"react\";\nimport {Fade} from \"react-reveal\";\nimport emoji from \"react-easy-emoji\";\nimport \"./Greeting.scss\";\nimport landingPerson from \"../../assets/lottie/landingPerson\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport SocialMedia from \"../../components/socialMedia/SocialMedia\";\nimport Button from \"../../components/button/Button\";\n\nimport {illustration, greeting} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Greeting() {\n const {isDark} = useContext(StyleContext);\n if (!greeting.displayGreeting) {\n return null;\n }\n return (\n \n \n
\n
\n
\n
\n {\" \"}\n {greeting.title}{\" \"}\n {emoji(\"👋\")} \n \n
\n {greeting.subTitle1}\n
\n
\n {greeting.subTitle}\n
\n
\n
\n
\n {greeting.resumeLink && (\n
\n \n \n )}\n
\n
\n
\n
\n {illustration.animated ? (\n
\n ) : (\n
\n )}\n
\n
\n
\n \n );\n}\n","import React from \"react\";\nimport \"./SoftwareSkill.scss\";\nimport {skillsSection} from \"../../portfolio\";\n\nexport default function SoftwareSkill() {\n return (\n \n
\n
\n {skillsSection.softwareSkills.map((skills, i) => {\n return (\n \n \n {skills.skillName}
\n \n );\n })}\n \n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Skills.scss\";\nimport SoftwareSkill from \"../../components/softwareSkills/SoftwareSkill\";\nimport {illustration, skillsSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport codingPerson from \"../../assets/lottie/codingPerson\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Skills() {\n const {isDark} = useContext(StyleContext);\n if (!skillsSection.display) {\n return null;\n }\n return (\n \n
\n
\n \n {illustration.animated ? (\n
\n ) : (\n
\n )}\n
\n \n
\n \n
\n {skillsSection.title}{\" \"}\n \n
\n {skillsSection.subTitle}\n
\n
\n
\n {skillsSection.skills.map((skills, i) => {\n return (\n
\n {skills}\n
\n );\n })}\n
\n
\n \n
\n
\n );\n}\n","import React from \"react\";\nimport \"./Progress.scss\";\nimport {illustration, techStack} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport Build from \"../../assets/lottie/build\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\n\nexport default function StackProgress() {\n if (techStack.viewSkillBars) {\n return (\n \n \n
\n
Proficiency \n {techStack.experience.map((exp, i) => {\n const progressStyle = {\n width: exp.progressPercentage\n };\n return (\n
\n
{exp.Stack}
\n
\n \n
\n
\n );\n })}\n
\n\n
\n {illustration.animated ? (\n
\n ) : (\n
\n )}\n
\n
\n \n );\n }\n return null;\n}\n","if(!t)var t={map:function(t,r){var n={};return r?t.map(function(t,o){return n.index=o,r.call(n,t)}):t.slice()},naturalOrder:function(t,r){return tr?1:0},sum:function(t,r){var n={};return t.reduce(r?function(t,o,e){return n.index=e,t+r.call(n,o)}:function(t,r){return t+r},0)},max:function(r,n){return Math.max.apply(null,n?t.map(r,n):r)}};var r=function(){var r=5,n=8-r,o=1e3;function e(t,n,o){return(t<<2*r)+(n<h/2){for(e=n.copy(),u=n.copy(),a=(r=i-n[c])<=(o=n[f]-i)?Math.min(n[f]-1,~~(i+o/2)):Math.max(n[c],~~(i-1-r/2));!v[a];)a++;for(s=l[a];!s&&v[a-1];)s=l[--a];return e[f]=a,u[c]=e[f]+1,[e,u]}}(a==o?\"r\":a==u?\"g\":\"b\")}}return a.prototype={volume:function(t){var r=this;return r._volume&&!t||(r._volume=(r.r2-r.r1+1)*(r.g2-r.g1+1)*(r.b2-r.b1+1)),r._volume},count:function(t){var r=this,n=r.histo;if(!r._count_set||t){var o,u,a,i=0;for(o=r.r1;o<=r.r2;o++)for(u=r.g1;u<=r.g2;u++)for(a=r.b1;a<=r.b2;a++)i+=n[e(o,u,a)]||0;r._count=i,r._count_set=!0}return r._count},copy:function(){var t=this;return new a(t.r1,t.r2,t.g1,t.g2,t.b1,t.b2,t.histo)},avg:function(t){var n=this,o=n.histo;if(!n._avg||t){var u,a,i,c,f=0,s=1<<8-r,h=0,v=0,l=0;for(a=n.r1;a<=n.r2;a++)for(i=n.g1;i<=n.g2;i++)for(c=n.b1;c<=n.b2;c++)f+=u=o[e(a,i,c)]||0,h+=u*(a+.5)*s,v+=u*(i+.5)*s,l+=u*(c+.5)*s;n._avg=f?[~~(h/f),~~(v/f),~~(l/f)]:[~~(s*(n.r1+n.r2+1)/2),~~(s*(n.g1+n.g2+1)/2),~~(s*(n.b1+n.b2+1)/2)]}return n._avg},contains:function(t){var r=this,o=t[0]>>n;return gval=t[1]>>n,bval=t[2]>>n,o>=r.r1&&o<=r.r2&&gval>=r.g1&&gval<=r.g2&&bval>=r.b1&&bval<=r.b2}},i.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n251&&e[1]>251&&e[2]>251&&(r[o].color=[255,255,255])}},{quantize:function(f,s){if(!f.length||s<2||s>256)return!1;var h=function(t){var o,u=new Array(1<<3*r);return t.forEach(function(t){o=e(t[0]>>n,t[1]>>n,t[2]>>n),u[o]=(u[o]||0)+1}),u}(f);h.forEach(function(){});var v=function(t,r){var o,e,u,i=1e6,c=0,f=1e6,s=0,h=1e6,v=0;return t.forEach(function(t){(o=t[0]>>n)c&&(c=o),(e=t[1]>>n)s&&(s=e),(u=t[2]>>n)v&&(v=u)}),new a(i,c,f,s,h,v,r)}(f,h),l=new u(function(r,n){return t.naturalOrder(r.count(),n.count())});function g(t,r){for(var n,e=t.size(),u=0;u=r)return;if(u++>o)return;if((n=t.pop()).count()){var a=c(h,n),i=a[0],f=a[1];if(!i)return;t.push(i),f&&(t.push(f),e++)}else t.push(n),u++}}l.push(v),g(l,.75*s);for(var p=new u(function(r,n){return t.naturalOrder(r.count()*r.volume(),n.count()*n.volume())});l.size();)p.push(l.pop());g(p,s);for(var b=new i;p.size();)b.push(p.pop());return b}}}().quantize,n=function(t){this.canvas=document.createElement(\"canvas\"),this.context=this.canvas.getContext(\"2d\"),this.width=this.canvas.width=t.naturalWidth,this.height=this.canvas.height=t.naturalHeight,this.context.drawImage(t,0,0,this.width,this.height)};n.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var o=function(){};o.prototype.getColor=function(t,r){return void 0===r&&(r=10),this.getPalette(t,5,r)[0]},o.prototype.getPalette=function(t,o,e){var u=function(t){var r=t.colorCount,n=t.quality;if(void 0!==r&&Number.isInteger(r)){if(1===r)throw new Error(\"colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()\");r=Math.max(r,2),r=Math.min(r,20)}else r=10;return(void 0===n||!Number.isInteger(n)||n<1)&&(n=10),{colorCount:r,quality:n}}({colorCount:o,quality:e}),a=new n(t),i=function(t,r,n){for(var o,e,u,a,i,c=t,f=[],s=0;s=125)&&(e>250&&u>250&&a>250||f.push([e,u,a]));return f}(a.getImageData().data,a.width*a.height,u.quality),c=r(i,u.colorCount);return c?c.palette():null},o.prototype.getColorFromUrl=function(t,r,n){var o=this,e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var u=o.getPalette(e,5,n);r(u[0],t)}),e.src=t},o.prototype.getImageData=function(t,r){var n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=\"arraybuffer\",n.onload=function(){if(200==this.status){var t=new Uint8Array(this.response);i=t.length;for(var n=new Array(i),o=0;o {\n return descBullets\n ? descBullets.map((item, i) => (\n \n {item}\n \n ))\n : null;\n };\n\n return (\n \n
\n
\n
\n
{cardInfo.company} \n \n\n
getColorArrays()}\n />\n
\n
\n
\n {cardInfo.role}\n \n
\n {cardInfo.date}\n \n
\n {cardInfo.desc}\n
\n
\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./WorkExperience.scss\";\nimport ExperienceCard from \"../../components/experienceCard/ExperienceCard\";\nimport {workExperiences} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function WorkExperience() {\n const {isDark} = useContext(StyleContext);\n if (workExperiences.display) {\n return (\n \n
\n \n
\n
Experiences \n
\n {workExperiences.experience.map((card, i) => {\n return (\n \n );\n })}\n
\n
\n
\n \n
\n );\n }\n return null;\n}\n","import React, {useState, useEffect, useContext, Suspense, lazy} from \"react\";\nimport \"./Project.scss\";\nimport Button from \"../../components/button/Button\";\nimport {openSource, socialMediaLinks} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\nimport Loading from \"../../containers/loading/Loading\";\nexport default function Projects() {\n const GithubRepoCard = lazy(() =>\n import(\"../../components/githubRepoCard/GithubRepoCard\")\n );\n const FailedLoading = () => null;\n const renderLoader = () => ;\n const [repo, setrepo] = useState([]);\n // todo: remove useContex because is not supported\n const {isDark} = useContext(StyleContext);\n\n useEffect(() => {\n const getRepoData = () => {\n fetch(\"/profile.json\")\n .then(result => {\n if (result.ok) {\n return result.json();\n }\n throw result;\n })\n .then(response => {\n setrepoFunction(response.data.user.pinnedItems.edges);\n })\n .catch(function (error) {\n console.error(\n `${error} (because of this error, nothing is shown in place of Projects section. Also check if Projects section has been configured)`\n );\n setrepoFunction(\"Error\");\n });\n };\n getRepoData();\n }, []);\n\n function setrepoFunction(array) {\n setrepo(array);\n }\n if (\n !(typeof repo === \"string\" || repo instanceof String) &&\n openSource.display\n ) {\n return (\n \n \n
Open Source Projects \n
\n {repo.map((v, i) => {\n if (!v) {\n console.error(\n `Github Object for repository number : ${i} is undefined`\n );\n }\n return (\n \n );\n })}\n
\n
\n
\n \n );\n } else {\n return ;\n }\n}\n","import React, {useContext} from \"react\";\nimport \"./StartupProjects.scss\";\nimport {bigProjects} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function StartupProject() {\n function openUrlInNewTab(url) {\n if (!url) {\n return;\n }\n var win = window.open(url, \"_blank\");\n win.focus();\n }\n\n const {isDark} = useContext(StyleContext);\n if (!bigProjects.display) {\n return null;\n }\n return (\n \n \n
\n
{bigProjects.title} \n
\n {bigProjects.subtitle}\n
\n\n
\n {bigProjects.projects.map((project, i) => {\n return (\n
\n {project.image ? (\n
\n
\n
\n ) : null}\n
\n
\n {project.projectName}\n \n
\n {project.projectDesc}\n
\n {project.footerLink ? (\n
\n {project.footerLink.map((link, i) => {\n return (\n openUrlInNewTab(link.url)}\n >\n {link.name}\n \n );\n })}\n
\n ) : null}\n
\n
\n );\n })}\n
\n
\n
\n \n );\n}\n","import React from \"react\";\nimport \"./AchievementCard.scss\";\n\nexport default function AchievementCard({cardInfo, isDark}) {\n function openUrlInNewTab(url, name) {\n if (!url) {\n console.log(`URL for ${name} not found`);\n return;\n }\n var win = window.open(url, \"_blank\");\n win.focus();\n }\n\n return (\n \n
\n
\n
\n
\n
\n {cardInfo.title}\n \n
\n {cardInfo.description}\n
\n
\n
\n {cardInfo.footer.map((v, i) => {\n return (\n openUrlInNewTab(v.url, v.name)}\n >\n {v.name}\n \n );\n })}\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Achievement.scss\";\nimport AchievementCard from \"../../components/achievementCard/AchievementCard\";\nimport {achievementSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\nexport default function Achievement() {\n const {isDark} = useContext(StyleContext);\n if (!achievementSection.display) {\n return null;\n }\n return (\n \n \n
\n
\n
\n {achievementSection.title}\n \n
\n {achievementSection.subtitle}\n
\n
\n
\n {achievementSection.achievementsCards.map((card, i) => {\n return (\n
\n );\n })}\n
\n
\n
\n \n );\n}\n","import React from \"react\";\nimport \"./BlogCard.scss\";\n\nexport default function BlogCard({blog, isDark}) {\n function openUrlInNewTab(url, name) {\n if (!url) {\n console.log(`URL for ${name} not found`);\n return;\n }\n var win = window.open(url, \"_blank\");\n win.focus();\n }\n\n return (\n openUrlInNewTab(blog.url, blog.title)}>\n
\n
\n );\n}\n","import React, {useState, useEffect, useContext} from \"react\";\nimport \"./Blog.scss\";\nimport BlogCard from \"../../components/blogCard/BlogCard\";\nimport {blogSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\nexport default function Blogs() {\n const {isDark} = useContext(StyleContext);\n const [mediumBlogs, setMediumBlogs] = useState([]);\n function setMediumBlogsFunction(array) {\n setMediumBlogs(array);\n }\n //Medium API returns blogs' content in HTML format. Below function extracts blogs' text content within paragraph tags\n function extractTextContent(html) {\n return typeof html === \"string\"\n ? html\n .split(\"p>\")\n .filter(el => !el.includes(\">\"))\n .map(el => el.replace(\"\", \".\").replace(\"<\", \"\"))\n .join(\" \")\n : NaN;\n }\n useEffect(() => {\n if (blogSection.displayMediumBlogs === \"true\") {\n const getProfileData = () => {\n fetch(\"/blogs.json\")\n .then(result => {\n if (result.ok) {\n return result.json();\n }\n })\n .then(response => {\n setMediumBlogsFunction(response.items);\n })\n .catch(function (error) {\n console.error(\n `${error} (because of this error Blogs section could not be displayed. Blogs section has reverted to default)`\n );\n setMediumBlogsFunction(\"Error\");\n blogSection.displayMediumBlogs = \"false\";\n });\n };\n getProfileData();\n }\n }, []);\n if (!blogSection.display) {\n return null;\n }\n return (\n \n \n
\n
{blogSection.title} \n
\n {blogSection.subtitle}\n
\n
\n
\n
\n {blogSection.displayMediumBlogs !== \"true\" ||\n mediumBlogs === \"Error\"\n ? blogSection.blogs.map((blog, i) => {\n return (\n \n );\n })\n : mediumBlogs.map((blog, i) => {\n return (\n \n );\n })}\n
\n
\n
\n \n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Footer.scss\";\nimport {Fade} from \"react-reveal\";\nimport emoji from \"react-easy-emoji\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Footer() {\n const {isDark} = useContext(StyleContext);\n return (\n \n \n
\n {emoji(\"Made with ❤️ by Pritish Barabde\")}\n
\n
\n \n );\n}\n","import React from \"react\";\nimport \"./TalkCard.scss\";\n\nexport default function TalkCard({talkDetails}) {\n return (\n \n
\n
\n
\n
{talkDetails.title}
\n
{talkDetails.subtitle}
\n\n
\n
\n
\n
\n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Talks.scss\";\nimport TalkCard from \"../../components/talkCard/TalkCard\";\nimport {talkSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Talks() {\n const {isDark} = useContext(StyleContext);\n if (!talkSection.display) {\n return null;\n }\n return (\n \n \n
\n
{talkSection.title} \n
\n {talkSection.subtitle}\n
\n {talkSection.talks.map((talk, i) => {\n return (\n
\n );\n })}\n
\n
\n \n );\n}\n","import React, {useContext} from \"react\";\nimport \"./Podcast.scss\";\nimport {podcastSection} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Podcast() {\n const {isDark} = useContext(StyleContext);\n\n if (!podcastSection)\n console.error(\"podcastSection object for Podcast section is missing\");\n\n if (!podcastSection.display) {\n return null;\n }\n return (\n \n \n
\n
{podcastSection.title} \n
\n {podcastSection.subtitle}\n
\n
\n
\n {podcastSection.podcast.map((podcastLink, i) => {\n if (!podcastLink) {\n console.log(\n `Podcast link for ${podcastSection.title} is missing`\n );\n }\n return (\n
\n \n
\n );\n })}\n
\n
\n \n );\n}\n","import React, {createRef, useContext} from \"react\";\nimport {Fade, Slide} from \"react-reveal\";\nimport \"./EducationCard.scss\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function EducationCard({school}) {\n const imgRef = createRef();\n\n const GetDescBullets = ({descBullets}) => {\n return descBullets\n ? descBullets.map((item, i) => (\n \n {item}\n \n ))\n : null;\n };\n const {isDark} = useContext(StyleContext);\n\n if (!school.logo)\n console.error(`Image of ${school.name} is missing in education section`);\n return (\n \n
\n \n {school.logo && (\n
\n
\n
\n )}\n
\n
{school.schoolName} \n\n
\n
\n {school.subHeader}\n \n
\n {school.duration}\n
\n
{school.desc}
\n
\n
\n
\n
\n \n
\n
\n \n
\n );\n}\n","import React from \"react\";\nimport \"./Education.scss\";\nimport EducationCard from \"../../components/educationCard/EducationCard\";\nimport {educationInfo} from \"../../portfolio\";\n\nexport default function Education() {\n if (educationInfo.display) {\n return (\n \n
Education \n
\n {educationInfo.schools.map((school, index) => (\n \n ))}\n
\n
\n );\n }\n return null;\n}\n","import React from \"react\";\nimport \"./Top.scss\";\n\nexport default function Top() {\n function TopEvent() {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n // When the user scrolls down 20px from the top of the document, show the button\n function scrollFunction() {\n if (\n document.body.scrollTop > 20 ||\n document.documentElement.scrollTop > 20\n ) {\n document.getElementById(\"topButton\").style.visibility = \"visible\";\n } else {\n document.getElementById(\"topButton\").style.visibility = \"hidden\";\n }\n }\n window.onscroll = function () {\n scrollFunction();\n };\n window.onload = function () {\n scrollFunction();\n }; //To make sure that this button is not visible at starting.\n // When the user clicks on the button, scroll to the top of the document\n return (\n \n \n \n );\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","const twitterWidgetJs = 'https://platform.twitter.com/widgets.js'\nexport default twitterWidgetJs\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport isRequiredIf from 'react-proptype-conditional-require'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterTimelineEmbed extends Component {\n static propTypes = {\n /**\n * This can be either of profile, likes, list, collection, URL, widget\n */\n sourceType: PropTypes.oneOf(['profile', 'likes', 'list', 'collection', 'url', 'widget']).isRequired,\n /**\n * username of twitter handle as String\n */\n screenName: isRequiredIf(PropTypes.string, props => !props.hasOwnProperty('userId') && (props.sourceType === 'profile' || props.sourceType === 'likes')),\n /**\n * UserId of twitter handle as number\n */\n userId: isRequiredIf(PropTypes.number, props => !props.hasOwnProperty('screenName') && (props.sourceType === 'profile' || props.sourceType === 'likes')),\n /**\n * To show list, used along with slug\n */\n ownerScreenName: isRequiredIf(PropTypes.string, props => props.sourceType === 'list' && !props.hasOwnProperty('id')),\n /**\n * To show list, used along with ownerScreenName\n */\n slug: isRequiredIf(PropTypes.string, props => props.sourceType === 'list' && !props.hasOwnProperty('id')),\n /**\n * To show list, unique list id\n * Also used with collections, in that case its valid collection id\n */\n id: isRequiredIf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), props => (props.sourceType === 'list' && !props.hasOwnProperty('ownerScreenName') && !props.hasOwnProperty('slug')) || props.sourceType === 'collection'),\n /**\n * To show twitter content with url.\n * Supported content includes profiles, likes, lists, and collections.\n */\n url: isRequiredIf(PropTypes.string, props => props.sourceType === 'url'),\n /**\n * To show custom widget\n */\n widgetId: isRequiredIf(PropTypes.string, props => props.sourceType === 'widget'),\n /**\n * Additional options to pass to twitter widget plugin\n */\n options: PropTypes.object,\n /**\n * Automatically fit into parent container height\n */\n autoHeight: PropTypes.bool,\n /**\n * With dark or light theme\n */\n theme: PropTypes.oneOf(['dark', 'light']),\n /**\n * With custom link colors. Note: Only Hex colors are supported.\n */\n linkColor: PropTypes.string,\n /**\n * With custom border colors. Note: Only Hex colors are supported.\n */\n borderColor: PropTypes.string,\n /**\n * Hide the header from timeline\n */\n noHeader: PropTypes.bool,\n /**\n * Hide the footer from timeline\n */\n noFooter: PropTypes.bool,\n /**\n * Hide the border from timeline\n */\n noBorders: PropTypes.bool,\n /**\n * Hide the scrollbars\n */\n noScrollbar: PropTypes.bool,\n /**\n * Enable Transparancy\n */\n transparent: PropTypes.bool,\n /**\n * Custom language code. Supported codes here: https://developer.twitter.com/en/docs/twitter-for-websites/twitter-for-websites-supported-languages/overview.html\n */\n lang: PropTypes.string,\n\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n buildChromeOptions(options) {\n options.chrome = ''\n if (this.props.noHeader) { options.chrome = options.chrome + ' noheader' }\n\n if (this.props.noFooter) { options.chrome = options.chrome + ' nofooter' }\n\n if (this.props.noBorders) { options.chrome = options.chrome + ' noborders' }\n\n if (this.props.noScrollbar) { options.chrome = options.chrome + ' noscrollbar' }\n\n if (this.props.transparent) { options.chrome = options.chrome + ' transparent' }\n\n return options\n }\n\n buildOptions() {\n let options = Object.assign({}, this.props.options)\n if (this.props.autoHeight) { options.height = this.refs.embedContainer.parentNode.offsetHeight }\n\n options = Object.assign({}, options, {\n theme: this.props.theme,\n linkColor: this.props.linkColor,\n borderColor: this.props.borderColor,\n lang: this.props.lang\n })\n\n return options\n }\n\n renderWidget(options) {\n const { onLoad } = this.props\n if (!this.isMountCanceled) {\n window.twttr.widgets.createTimeline(\n {\n sourceType: this.props.sourceType,\n screenName: this.props.screenName,\n userId: this.props.userId,\n ownerScreenName: this.props.ownerScreenName,\n slug: this.props.slug,\n id: this.props.id || this.props.widgetId,\n url: this.props.url\n },\n this.refs.embedContainer,\n options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n }\n\n componentDidMount() {\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterTimelineEmbed, aborting load.')\n return\n }\n\n let options = this.buildOptions()\n /** Append chrome options */\n options = this.buildChromeOptions(options)\n this.renderWidget(options)\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterShareButton extends Component {\n static propTypes = {\n /**\n * Url for sharing\n */\n url: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config. Details at : https://dev.twitter.com/web/tweet-button/parameters\n */\n options: PropTypes.object,\n\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterShareButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createShareButton(\n this.props.url,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterFollowButton extends Component {\n static propTypes = {\n /**\n * Username of twitter user which will be followed on click\n */\n screenName: PropTypes.string.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterFollowButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createFollowButton(\n this.props.screenName,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterHashtagButton extends Component {\n static propTypes = {\n /**\n * Tag name for hashtag button\n */\n tag: PropTypes.string.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterHashtagButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createHashtagButton(\n this.props.tag,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterMentionButton extends Component {\n static propTypes = {\n /**\n * Username to which you will need to tweet\n */\n screenName: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterMentionButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createMentionButton(\n this.props.screenName,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterTweetEmbed extends Component {\n static propTypes = {\n /**\n * Tweet id that needs to be shown\n */\n tweetId: PropTypes.string.isRequired,\n /**\n * Additional options to pass to twitter widget plugin\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n renderWidget() {\n const { onLoad } = this.props\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterTweetEmbed, aborting load.')\n return\n }\n if (!this.isMountCanceled) {\n window.twttr.widgets.createTweet(\n this.props.tweetId,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n }\n\n componentDidMount() {\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n this.renderWidget()\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterMomentShare extends Component {\n static propTypes = {\n /**\n * id of Twitter moment to show\n */\n momentId: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterMomentShare, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createMoment(\n this.props.momentId,\n this.refs.shareMoment,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterDMButton extends Component {\n static propTypes = {\n /**\n * Twitter user id for DM button\n */\n id: PropTypes.number.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterDMButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createDMButton(\n this.props.id,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterVideoEmbed extends Component {\n static propTypes = {\n /**\n * Id of video tweet.\n */\n id: PropTypes.string.isRequired,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterVideoEmbed, aborting load.')\n return\n }\n if (!this.isMountCanceled) {\n window.twttr.widgets.createVideo(\n this.props.id,\n this.refs.embedContainer\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterOnAirButton extends Component {\n static propTypes = {\n /**\n * Username for which you require periscope on air button\n */\n username: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterOnAirButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createPeriscopeOnAirButton(\n this.props.username,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, {Suspense, useContext} from \"react\";\nimport \"./twitter.scss\";\nimport Loading from \"../loading/Loading\";\nimport {TwitterTimelineEmbed} from \"react-twitter-embed\";\nimport {twitterDetails} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nconst renderLoader = () => ;\nconst cantDisplayError =\n \"
Can't load? Check privacy protection settings \";\n\nfunction timeOut() {\n setTimeout(function () {\n if (!document.getElementById(\"twitter\").innerHTML.includes(\"iframe\")) {\n document.getElementById(\"twitter\").innerHTML = cantDisplayError;\n }\n }, 10000);\n}\nvar widthScreen = window.screen.width;\n\nexport default function Twitter() {\n const {isDark} = useContext(StyleContext);\n\n if (!twitterDetails.display) {\n return null;\n }\n if (!twitterDetails.userName) {\n console.error(\"Twitter username for twitter section is missing\");\n }\n if (twitterDetails.userName) {\n return (\n \n \n \n );\n } else {\n return null;\n }\n}\n","import React, {useContext} from \"react\";\nimport \"./Contact.scss\";\nimport SocialMedia from \"../../components/socialMedia/SocialMedia\";\nimport {illustration, contactInfo} from \"../../portfolio\";\nimport {Fade} from \"react-reveal\";\nimport email from \"../../assets/lottie/email\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function Contact() {\n const {isDark} = useContext(StyleContext);\n return (\n \n \n \n );\n}\n","import React, {useState, useEffect, lazy, Suspense} from \"react\";\nimport {openSource} from \"../../portfolio\";\nimport Contact from \"../contact/Contact\";\nimport Loading from \"../loading/Loading\";\n\nconst renderLoader = () => ;\nconst GithubProfileCard = lazy(() =>\n import(\"../../components/githubProfileCard/GithubProfileCard\")\n);\nexport default function Profile() {\n const [prof, setrepo] = useState([]);\n function setProfileFunction(array) {\n setrepo(array);\n }\n\n useEffect(() => {\n if (openSource.showGithubProfile === \"true\") {\n const getProfileData = () => {\n fetch(\"/profile.json\")\n .then(result => {\n if (result.ok) {\n return result.json();\n }\n })\n .then(response => {\n setProfileFunction(response.data.user);\n })\n .catch(function (error) {\n console.error(\n `${error} (because of this error GitHub contact section could not be displayed. Contact section has reverted to default)`\n );\n setProfileFunction(\"Error\");\n openSource.showGithubProfile = \"false\";\n });\n };\n getProfileData();\n }\n }, []);\n if (\n openSource.display &&\n openSource.showGithubProfile === \"true\" &&\n !(typeof prof === \"string\" || prof instanceof String)\n ) {\n return (\n \n \n \n );\n } else {\n return ;\n }\n}\n","import React, {useContext} from \"react\";\nimport \"./SplashScreen.css\";\nimport DisplayLottie from \"../../components/displayLottie/DisplayLottie\";\nimport {greeting, splashScreen} from \"../../portfolio\";\nimport StyleContext from \"../../contexts/StyleContext\";\n\nexport default function SplashScreen() {\n const {isDark} = useContext(StyleContext);\n return (\n \n
\n \n
\n
\n < \n {greeting.username} \n /> \n
\n
\n );\n}\n","import {useState} from \"react\";\n\nexport const useLocalStorage = (key, initialValue) => {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState(() => {\n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key);\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n // If error also return initialValue\n console.log(error);\n return initialValue;\n }\n });\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue = value => {\n try {\n // Allow value to be a function so we have same API as useState\n const valueToStore =\n value instanceof Function ? value(storedValue) : value;\n // Save state\n setStoredValue(valueToStore);\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.log(error);\n }\n };\n\n return [storedValue, setValue];\n};\n","import React, {useEffect, useState} from \"react\";\nimport Header from \"../components/header/Header\";\nimport Greeting from \"./greeting/Greeting\";\nimport Skills from \"./skills/Skills\";\nimport StackProgress from \"./skillProgress/skillProgress\";\nimport WorkExperience from \"./workExperience/WorkExperience\";\nimport Projects from \"./projects/Projects\";\nimport StartupProject from \"./StartupProjects/StartupProject\";\nimport Achievement from \"./achievement/Achievement\";\nimport Blogs from \"./blogs/Blogs\";\nimport Footer from \"../components/footer/Footer\";\nimport Talks from \"./talks/Talks\";\nimport Podcast from \"./podcast/Podcast\";\nimport Education from \"./education/Education\";\nimport ScrollToTopButton from \"./topbutton/Top\";\nimport Twitter from \"./twitter-embed/twitter\";\nimport Profile from \"./profile/Profile\";\nimport SplashScreen from \"./splashScreen/SplashScreen\";\nimport {splashScreen} from \"../portfolio\";\nimport {StyleProvider} from \"../contexts/StyleContext\";\nimport {useLocalStorage} from \"../hooks/useLocalStorage\";\nimport \"./Main.scss\";\n\nconst Main = () => {\n const darkPref = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const [isDark, setIsDark] = useLocalStorage(\"isDark\", darkPref.matches);\n const [isShowingSplashAnimation, setIsShowingSplashAnimation] =\n useState(true);\n\n useEffect(() => {\n if (splashScreen.enabled) {\n const splashTimer = setTimeout(\n () => setIsShowingSplashAnimation(false),\n splashScreen.duration\n );\n return () => {\n clearTimeout(splashTimer);\n };\n }\n }, []);\n\n const changeTheme = () => {\n setIsDark(!isDark);\n };\n\n return (\n \n
\n {isShowingSplashAnimation && splashScreen.enabled ? (\n \n ) : (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n >\n )}\n \n
\n );\n};\n\nexport default Main;\n","import React from \"react\";\nimport \"./App.scss\";\nimport Main from \"./containers/Main\";\n\nfunction App() {\n return (\n \n \n
\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render( , document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"names":["_defs","_path","_ellipse","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","_path21","_path22","_path23","_path24","_path25","_path26","_path27","_path28","_path29","_path30","_path31","_path32","_path33","_path34","_path35","_path36","_path37","_path38","_path39","_path40","_path41","_path42","_path43","_path44","_path45","_path46","_path47","_path48","_path49","_path50","_path51","_path52","_path53","_path54","_path55","_path56","_path57","_path58","_path59","_path60","_path61","_path62","_path63","_path64","_path65","_path66","_path67","_path68","_path69","_path70","_path71","_path72","_path73","_path74","_path75","_path76","_path77","_path78","_path79","_path80","_path81","_path82","_path83","_g","_circle","_ellipse2","_path84","_path85","_path86","_path87","_path88","_path89","_path90","_path91","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgContactMailDark","_ref","svgRef","title","titleId","props","id","xmlns","xmlnsXlink","width","height","viewBox","ref","x1","y1","x2","y2","gradientUnits","offset","stopColor","stopOpacity","undefined","d","transform","fill","opacity","cx","cy","rx","ry","stroke","strokeMiterlimit","strokeWidth","r","ForwardRef","_rect","_rect2","_rect3","_rect4","_rect5","_rect6","_rect7","_rect8","_rect9","_rect10","_rect11","_rect12","_rect13","_rect14","_rect15","_rect16","_rect17","_rect18","_rect19","_rect20","_rect21","_rect22","_rect23","_rect24","_rect25","_rect26","_rect27","_rect28","_rect29","_rect30","_rect31","_rect32","_rect33","_rect34","_rect35","_rect36","_rect37","_rect38","_rect39","_rect40","_rect41","_rect42","_rect43","_rect44","_rect45","_polygon","_rect46","_rect47","_rect48","_rect49","_rect50","_rect51","_rect52","_rect53","_rect54","_rect55","_rect56","_rect57","_rect58","_rect59","_rect60","_rect61","_rect62","_rect63","_rect64","_rect65","_rect66","_rect67","_rect68","_rect69","_rect70","_rect71","_rect72","_rect73","_rect74","_rect75","_rect76","_rect77","_rect78","_rect79","_rect80","_rect81","_rect82","_rect83","_rect84","_rect85","_rect86","_rect87","_rect88","_rect89","_rect90","_rect91","_rect92","_rect93","_rect94","_rect95","_rect96","_rect97","_rect98","_rect99","_rect100","_rect101","_rect102","_rect103","_rect104","_rect105","_rect106","_rect107","_rect108","_rect109","_rect110","_rect111","_rect112","_rect113","_rect114","_rect115","_rect116","_rect117","_rect118","_rect119","_rect120","_rect121","_rect122","_rect123","_rect124","_rect125","_rect126","_rect127","_rect128","_rect129","_rect130","_rect131","_rect132","_rect133","_rect134","_rect135","_rect136","_rect137","_rect138","_rect139","_rect140","_rect141","_rect142","_rect143","_rect144","_rect145","_rect146","_rect147","_rect148","_rect149","_rect150","_rect151","_rect152","_rect153","_rect154","_rect155","_rect156","_rect157","_rect158","_rect159","_rect160","_rect161","_rect162","_rect163","_rect164","_rect165","_rect166","_rect167","_rect168","_rect169","_rect170","_rect171","_rect172","_rect173","_polygon2","_circle2","_circle3","SvgDeveloperActivity","x","y","points","_polygon3","_polygon4","_polygon5","_polygon6","_polygon7","_circle4","_circle5","_circle6","_circle7","_circle8","_circle9","_circle10","_g2","_path92","_path93","_path94","_path95","_path96","_path97","_path98","_path99","_path100","_path101","_path102","_path103","_path104","_path105","_path106","_path107","_path108","_path109","_path110","_path111","_path112","_path113","_path114","_circle11","_circle12","_circle13","_circle14","_circle15","_circle16","_circle17","_circle18","_circle19","_circle20","_circle21","_circle22","_circle23","_circle24","SvgManOnTable","gradientTransform","SvgSkill","socialMedia","socialMediaLinks","display","_jsxs","className","children","gmail","href","rel","_jsx","class","linkedin","twitter","instagram","facebook","github","telegram","gitlab","medium","stackoverflow","splashScreen","enabled","animation","duration","illustration","animated","greeting","username","subTitle","emoji","subTitle1","resumeLink","displayGreeting","skillsSection","skills","softwareSkills","skillName","fontAwesomeClassname","educationInfo","schools","schoolName","logo","require","subHeader","desc","techStack","viewSkillBars","experience","Stack","progressPercentage","displayCodersrank","workExperiences","role","company","companylogo","date","descBullets","openSource","showGithubProfile","bigProjects","subtitle","projects","image","projectName","projectDesc","projectDesc1","footerLink","name","url","achievementSection","achievementsCards","blogSection","displayMediumBlogs","blogs","description","talkSection","talks","slides_url","event_url","podcastSection","podcast","contactInfo","location","email_address","designation","twitterDetails","userName","isHireable","canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","define","useLottie","style","animationData","loop","autoplay","initialSegment","onComplete","onLoopComplete","onEnterFrame","onSegmentStart","onConfigReady","onDataReady","onDataFailed","onLoadedImages","onDOMLoaded","onDestroy","lottieRef","renderer","assetsPath","rendererSettings","rest","_objectWithoutProperties","_excluded$1","_useState2","_slicedToArray","React","useState","animationLoaded","setAnimationLoaded","animationInstanceRef","useRef","animationContainer","play","_a","current","stop","pause","setSpeed","speed","goToAndPlay","value","isFrame","goToAndStop","setDirection","direction","playSegments","segments","forceFlag","setSubframe","useSubFrames","getDuration","inFrames","destroy","loadAnimation","forcedConfigs","config","_objectSpread2","container","lottie__default","useEffect","onUnmount","Array","isArray","currentRawFrame","setSegment","resetSegments","listeners","handler","filter","listener","deregisterList","map","removeEventListener","forEach","deregister","View","React__default","animationContainerRef","animationItem","getContainerVisibility","_container$getBoundin","getBoundingClientRect","top","innerHeight","getContainerCursorPosition","cursorX","cursorY","_container$getBoundin2","left","useInitInteractivity","wrapperRef","mode","actions","wrapper","scrollModeHandler","assignedSegment","scrollHandler","currentPercent","action","find","_ref2","visibility","type","frames","frameToGo","Math","ceil","firstFrame","isPaused","cursorModeHandler","handleCursor","_x","_y","pos","_ref3","position","Number","isNaN","xPercent","yPercent","mouseMoveHandler","ev","clientX","clientY","mouseOutHandler","useLottieInteractivity","_ref4","lottieObj","Lottie","_b","_c","interactivity","lottieProps","_excluded","_useLottie","factory","navigator","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","flag","getWebWorker","setLocationHref","getLocationHref","createTag","extendPrototype","sources","destination","sourcePrototype","len","attr","getDescriptor","object","prop","getOwnPropertyDescriptor","createProxyFunction","ProxyFunction","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","push","resume","setRate","rateValue","createAudio","assetPath","Howl","src","isPlaying","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","createRegularArray","arr","Uint8ClampedArray","Float32Array","Int16Array","createSizedArray","_typeof$6","obj","Symbol","iterator","constructor","subframeEnabled","expressionsPlugin","expressionsInterfaces","idPrefix$1","isSafari","test","userAgent","_shouldRoundValues","bmPow","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface$1","propertyNames","random","abs","val","absArr","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","bmRnd","round","styleDiv","element","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","h","s","v","g","b","f","p","q","t","RGBtoHSV","addSaturationToRGB","color","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","toString","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setExpressionInterfaces","getExpressionInterfaces","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","getIdPrefix","createNS","createElementNS","_typeof$5","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","onmessage","postMessage","path","data","_workerSelf","setupWorker","fn","Blob","blob","URL","createObjectURL","createWorker","e","completeLayers","layers","comps","layerData","j","jLen","k","kLen","completed","hasMask","maskProps","masksProperties","pt","convertPathsToAbsoluteValues","ty","findCompLayers","refId","completeShapes","shapes","completeText","comp","findComp","__used","JSON","parse","stringify","ks","it","o","checkVersion","minimum","animVersionString","animVersion","split","checkText","minimumVersion","updateTextLayer","textLayer","documentData","iterateLayers","assets","checkChars","chars","charData","ip","op","st","sr","a","sk","sa","checkPathProperties","pathData","checkColors","iterateShapes","c","checkShapes","completeClosingShapes","closed","cl","moduleOb","__complete","completeChars","dataFunctionManager","assetLoader","formatResponse","xhr","contentTypeHeader","getResponseHeader","responseType","indexOf","response","responseText","load","fullPath","callback","errorCallback","XMLHttpRequest","err","onreadystatechange","readyState","status","open","join","error","send","completeData","payload","event","process","onError","createProcess","processId","origin","pathname","loadData","completeAnimation","anim","ImagePreloader","proxyImage","canvas","ctx","getContext","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","originalPath","imagePath","u","testImageLoaded","img","intervalId","setInterval","getBBox","_imageLoaded","clearInterval","createFootageData","ob","footageData","_footageLoaded","ImagePreloaderFactory","images","loadAssets","cb","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","append","appendChild","setCacheType","elementHelper","BaseEvent","triggerEvent","eventName","args","_cbs","callbacks","splice","markerParser","parsePayloadLines","line","lines","keys","keysCount","trim","Error","_markers","markers","_marker","markerData","time","tm","dr","cm","_","__","ProjectInterface","registerComposition","compositions","_thisProjectFunction","nm","prepareFrame","xt","currentFrame","compInterface","renderers","registerRenderer","getRenderer","getRegisteredRenderer","_typeof$4","AnimationItem","isLoaded","frameRate","frameMult","playSpeed","playDirection","playCount","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","projectInterface","imagePreloader","audioController","configAnimation","onSetupError","onSegmentComplete","drawnFrameEvent","setParams","params","animType","RendererClass","globalData","defs","setProjectInterface","parseInt","autoloadSegments","setupAnimation","lastIndexOf","substr","fileName","trigger","setData","wrapperAttributes","attributes","getNamedItem","prerender","includeLayers","newLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","segment","shift","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","animData","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","setTimeout","rendererType","initItems","gotoFrame","resize","_width","_height","updateContainerSize","renderFrame","resetFrame","triggerRenderFrameError","togglePause","setCurrentRawFrameValue","getMarkerData","markerName","marker","numValue","frameModifier","advanceTime","nextValue","_isComplete","checkSegments","adjustSegment","init","end","pendingFrame","setLoop","isLooping","getPath","getAssetData","hide","show","updateDocumentData","index","getElementByPath","animationManager","registeredAnimations","initTime","playingAnimationsNum","_stopped","_isFrozen","removeElement","animItem","subtractPlayingCount","registerAnimation","elem","addPlayingCount","activate","nowTime","elapsedTime","requestAnimationFrame","first","searchAnimations","standalone","animElements","concat","slice","getElementsByClassName","lenAnims","setAttribute","body","getElementsByTagName","innerText","div","freeze","unfreeze","getRegisteredAnimations","animations","BezierFactory","str","replace","beziers","bezEasing","BezierEasing","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","C","calcBezier","aT","getSlope","_p","_mSampleValues","_precomputed","get","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","pooling","poolFactory","initialLength","_create","_release","_length","_maxLength","pool","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","math","pointOnLine2D","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","point","lastPoint","lengthData","BezierData","segmentLength","PointData","partial","partialLength","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","dir","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","pathV","pathO","pathI","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","bez","initFrame","mathAbs","interpolateValue","frameNum","caching","newValue","offsetTime","propType","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","lastIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","to","ti","ind","__fnct","getBezierEasing","n","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","quaternionToEuler","slerp","createQuaternion","omega","cosom","sinom","scale0","scale1","out","ax","ay","az","aw","bx","by","bz","bw","acos","sin","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","values","c1","cos","c2","c3","s1","s2","s3","getValueAtCurrentTime","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","addDynamicProperty","ValueProperty","vel","getValue","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","PropertyFactory","getProp","sid","slotManager","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","cnt","shapePool","shapePath","clone","shape","cloned","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","shapeCollection","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shape1","shape2","shapesEqual","ShapeProperty","reset","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","p0","p1","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","rad","roundness","perimSegment","numPts","angle","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","v1","Matrix","_cos","_sin","_tan","tan","_rnd","rotate","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","skew","skewFromAxis","scale","sz","setTransform","l","m","translate","tx","tz","a2","b2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_identityCalculated","a1","b1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","multiply","matrix","matrixProps","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_typeof$3","lottie","setLocation","setSubframeRendering","setPrefix","prefix","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","pair","decodeURIComponent","useWebWorker","setIDPrefix","__getFactory","version","scripts","myScript","exports","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","_s","totalShapeLength","edges","newShapesData","addShapes","lastShape","pop","addPaths","newPaths","addSegment","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","amount","processPath","centerPoint","pathLength","clonedPath","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rz","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v2","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","floatEqual","floatZero","lerp","lerpPoint","quadRoots","singleRoot","delta","polynomialCoefficients","p3","singlePoint","PolynomialBezier","linearize","pointEqual","coeffx","coeffy","extrema","intersectData","t2","box","boundingBox","splitData","boxIntersect","intersectsImpl","depth","tolerance","intersections","maxRecursion","d1s","d2s","crossProduct","lineIntersection","start1","end1","start2","end2","v3","v4","polarOffset","pointDistance","hypot","ZigZagModifier","setPoint","outputBezier","amplitude","outAmplitude","inAmplitude","angO","angI","getPerpendicularVector","vector","rot","getProjectingAngle","cur","prevIndex","nextIndex","pVector","zigZagCorner","frequency","pointType","prevPoint","nextPoint","prevDist","nextDist","zigZagSegment","dist","normalAngle","linearOffset","offsetSegment","p1a","p1b","p2b","p2a","joinLines","seg1","seg2","lineJoin","miterLimit","angleOut","tangentAngle","angleIn","center","radius","intersection","getIntersection","intersect","pruneSegmentIntersection","outa","outb","pruneIntersections","offsetSegmentSplit","right","mid","flex","inflectionPoints","OffsetPathModifier","getFontProperties","fontData","styles","fStyle","fWeight","toLowerCase","weight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","items","itemsTransform","cont","hasReloaded","copies","group","ix","reloadShapes","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","rd","currentV","currentI","currentO","closerV","distance","newPosPerc","derivative","denom","tcusp","square","root","p10","p11","p20","p21","bounds","bottom","other","shapeSegmentInverted","pointsType","count","ml","lj","inputBezier","multiSegments","lastSeg","multiSegment","FontManager","emptyChar","w","size","combinedCharacters","BLACK_FLAG_CODE_POINT","REGIONAL_CHARACTER_A_CODE_POINT","REGIONAL_CHARACTER_Z_CODE_POINT","surrogateModifiers","setUpNode","font","family","parentNode","fontFamily","node","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","offsetWidth","familyArray","enabledFamilies","trimFontOptions","parent","createHelper","def","helper","engine","fontProps","tHelper","fFamily","textContent","fClass","tCanvasHelper","OffscreenCanvas","measureText","text","getComputedTextLength","getCodePoint","string","codePoint","charCodeAt","second","isRegionalCode","Font","typekitLoaded","_warned","Date","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","sum","isZeroWidthJoiner","charCode","isFlagEmoji","isCombinedCharacter","_char3","isRegionalFlag","isVariationSelector","fontPrototype","found","ch","list","cache","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","loaded","monoCase","sansCase","fPath","fOrigin","querySelectorAll","sc","getCharData","_char","console","warn","getFontByName","fName","_char2","fontName","doubleSize","singleSize","loadedCount","removeChild","SlotManager","slotFactory","RenderableElement","slots","initRenderable","isInRange","hidden","isTransparent","renderableComponents","addRenderableComponent","component","removeRenderableComponent","prepareRenderableFrame","num","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","getBlendMode","blendModeEnums","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","effects","ef","effectElements","effectItem","GroupEffect","BaseElement","FrameElement","FootageElement","imageLoader","initBaseData","AudioElement","_isPlaying","_canPlay","_currentTime","_volumeMultiplier","_previousVolume","_placeholder","lv","au","BaseRenderer","eff","checkMasks","LayerExpressionInterface","EffectsExpressionInterface","ShapeExpressionInterface","TextExpressionInterface","CompExpressionInterface","layerInterface","maskManager","registerMaskInterface","effectsInterface","createEffectsInterface","registerEffectsInterface","shapeInterface","shapesData","itemsData","content","textInterface","setBlendMode","blendModeValue","bm","baseElement","layerElement","layerId","effectsManager","getType","prepareProperties","isVisible","_isParent","getBaseElement","FootageInterface","getFootageData","timeRemapped","totalVolume","volumeValue","checkLayers","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","buildAllItems","pInterface","progressiveLoad","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","pendingElements","getElementById","pathValue","setupGlobalData","fontsContainer","compSize","effectTypes","TRANSFORM_EFFECT","TransformElement","MaskElement","maskElement","viewData","solidPath","rect","expansor","feMorph","properties","currentMasks","maskType","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","mask","createLayerSolidPath","invRect","drawPath","maskedElement","initTransform","_matMdf","_localMatMdf","_opMdf","localMat","localOpacity","ao","renderTransform","finalMat","renderLocalTransform","localTransforms","lmat","localOp","searchEffectTransforms","renderableEffectsManager","transformEffects","getEffects","globalToLocal","transforms","ptNew","mHelper","getMaskProperty","isFirstFrame","getMaskelement","pathNodes","pathString","pathShapeValue","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","featureSupport","svgLumaHidden","offscreenCanvas","registeredEffects$1","idPrefix","SVGEffects","filterManager","createFilter","filters","Effect","effect","countsAsEffect","registerEffect$1","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","layerElementParent","td","matteMasks","gg","tt","ln","hd","cp","clipId","cpGroup","renderElement","destroyBaseElement","createRenderableComponents","getMatte","matteType","useElement","masker","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","transformers","level","caches","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dataProps","dashStr","dashArray","dashoffset","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGNoStyleData","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","maskId","opFill","lc","of","ms","ost","buildShapeString","_o","_i","shapeString","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","render","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","charactersArray","shouldCombine","shouldCombineNext","currentChars","charAt","newLineFlag","letters","anchorGrouping","currentSize","currentPos","currentLine","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","an","add","anIndexes","animatorJustifyOffset","extra","animatorData","letterData","based","animators","indexes","fh","fs","fb","rn","totalChars","newInd","currentInd","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorProp","TextSelectorPropFactory","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","textProperty","easer","tot","smoothness","threshold","newCharsFlag","divisor","getTextSelectorProp","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","TextAnimatorProperty","renderType","_hasMaskedPath","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","tanAngle","matrixHelper","renderedLettersCount","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","defaultPropsArray","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","atan","textAnimator","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","validateText","buildNewText","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","ariaLabel","titleElement","descElement","descId","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","focusable","filterSize","runExpressions","destroyed","ShapeTransformManager","sequences","sequenceList","transform_key_count","singleShape","textContainer","buildTextContents","textArray","textContents","currentTextContent","String","fromCharCode","buildShapeData","shapeItem","tSpan","usesGlyphs","cachedSpansLength","span","childSpan","glyph","glyphElement","_debug","tElement","justify","textBox","bbox","renderedLetter","textSpan","findIndexByInd","appendElementInPos","elementIndex","tp","matteMask","nextElement","insertBefore","setElements","getElements","destroyElements","addTransformSequence","sequence","processSequence","processSequences","getNewKey","lumaLoader","lumaBuffer","lumaBufferCtx","svg","loadLuma","_svg","createLumaSvgFilter","createCanvas","loadLumaCanvas","getLumaCanvas","registeredEffects","CVEffects","registerEffect","CVMaskElement","hasMasks","CVBaseElement","canvasContext","beginPath","moveTo","lineTo","bezierCurveTo","save","clip","operationsMap","CVShapeData","transformsManager","styledShapes","styledShape","trNodes","CVShapeElement","CVTextElement","currentRender","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","CanvasContext","strokeStyle","lineCap","CVContextData","stack","cArrPos","cTr","nativeContext","transformMat","currentOpacity","currentFillStyle","appliedFillStyle","currentStrokeStyle","appliedStrokeStyle","currentLineWidth","appliedLineWidth","currentLineCap","appliedLineCap","currentLineJoin","appliedLineJoin","appliedMiterLimit","currentMiterLimit","CVCompElement","CanvasRenderer","clearCanvas","context","dpr","devicePixelRatio","currentGlobalAlpha","contextData","ctxTransform","ctxOpacity","ctxFillStyle","ctxStrokeStyle","ctxLineWidth","ctxLineCap","ctxLineJoin","ctxMiterLimit","ctxFill","ctxFillRect","ctxStroke","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","createElements","buffers","bufferCanvas","bufferCanvas2","_isProxy","transformCanvas","blendMode","globalCompositeOperation","hideElement","showElement","clearRect","prepareLayer","bufferCtx","drawImage","getTransform","exitLayer","buffer","forceRealStack","restore","transformHelper","dashResetter","preTransforms","co","wi","da","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","grd","setLineDash","lineDashOffset","closePath","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","par","globalAlpha","rule","actionFlag","containerStyle","mozTransformOrigin","setContext","isDashed","elementWidth","elementHeight","elementRel","animationRel","offsetHeight","fillType","duplicate","newLength","forceRestore","currentContext","prevStack","saveOnNativeFlag","currentStack","newStack","setOpacity","trProps","checkBlendMode","tg","transformedElementStyle","matrixValue","webkitTransform","addEffects","backgroundColor","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","item","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","tempBoundingBox","b2ac","calculateF","calculateBoundingBox","expandStrokeBoundingBox","widthProperty","kfw","currentBoxContains","changed","shapeStyle","shapeTransform","compW","compH","innerElemStyle","textColor","lineHeight","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","margin","svgTransform","setup","perspectiveStyle","perspectiveElem","perspective","webkitPerspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","Image","imageElem","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","overflow","cWidth","cHeight","floatingContainer","_createBaseContainerElements","_thisLayerFunction","defineProperty","pixelAspect","frameDuration","displayStartTime","numLayers","_typeof$2","seedRandom","nodecrypto","global","rngname","startdenom","significance","ARC4","keylen","me","S","copy","flatten","result","typ","mixkey","seed","smear","stringseed","tostring","options","shortseed","entropy","randomBytes","Uint8Array","crypto","msCrypto","getRandomValues","browser","plugins","autoseed","arc4","prng","int32","quick","pass","is_math_call","state","initialize$2","propTypes","SHAPE","_typeof$1","ExpressionManager","fetch","_lottieGlobal","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","sub","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","arr2","normalize","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","property","noOp","_value","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","active","wiggle","freq","amp","iWiggle","lenWiggle","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","val2","applyEase","easeIn","ease","iKey","lenKey","nearestKey","obKey","framesToTime","fps","timeToFrames","seedrandom","randSeed","substring","posterizeTime","framesPerSecond","hasParent","executeExpression","frameExpressionId","__preventDeadCodeRemoval","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","MaskManagerInterface","MaskInterface","_mask","_data","_masksInterfaces","ExpressionPropertyInterface","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","getSpeedAtTime","propertyGroup","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","TransformExpressionInterface","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_px","_py","_pz","_transformFactory","getMatrix","toWorldMat","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","transformInterface","anchorPointDescriptor","defineProperties","anchor_point","startTime","_name","propertyGroupFactory","interfaceFunction","parentPropertyGroup","PropertyInterface","propertyName","createGroupInterface","groupInterface","mn","_propertyGroup","createValueInterface","numProperties","np","en","expressionProperty","setGroupProperty","effectsData","ShapePathInterface","view","propertyIndex","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","interfaces","transformInterfaceFactory","cix","contentsInterfaceFactory","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dash","start","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","_interfaceFunction","_sourceText","sourceText","stringValue","fillColor","_typeof","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","propertyNameIndex","outlineInterfaceFactory","dataInterface","footage","getInterface","expressionHelpers","searchExpressions","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","lastTime","propertyGetShapeProp","trims","initialize$1","addDecorator","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","initialize","SVGComposableEffect","createMergeNode","resultId","ins","feMergeNode","feMerge","linearFilterValue","SVGTintFilter","linearFilter","matrixFilter","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","globalFilterSize","feGaussianBlur","feOffset","feFlood","feComposite","colorBlack","colorWhite","groupPath","elemChildren","childNodes","removeAttribute","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","col","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","TransformEffect","SVGTransformEffect","CVTransformEffect","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","sigma","dimensions","sigmaX","sigmaY","edgeMode","forceFrame","isUniformScale","scaleHeight","scaleWidth","module","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","test3","letter","shouldUseNative","from","symbols","TypeError","toObject","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","hr","uptime","getTime","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","vendors","suffix","raf","caf","last","queue","_now","next","cancelled","handle","cancel","polyfill","cancelAnimationFrame","aa","encodeURIComponent","ba","ea","fa","ha","ia","ja","la","ma","na","oa","currentTarget","ka","pa","qa","ra","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","Ua","Va","toUpperCase","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Xa","Sa","Ta","Ra","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","Ya","E","for","Za","$a","ab","bb","db","eb","gb","hb","ib","jb","kb","lb","mb","nb","pb","displayName","$$typeof","_status","_result","qb","tag","_debugOwner","_debugSource","return","rb","sb","nodeName","xb","_valueTracker","set","configurable","enumerable","setValue","stopTracking","tb","yb","checked","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Children","Fb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","namespaceURI","innerHTML","valueOf","firstChild","MSApp","execUnsafeLocalFunction","Rb","lastChild","nodeType","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","transition","Xb","Yb","Zb","$b","ac","bc","WeakMap","Map","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","hc","child","sibling","gc","ic","jc","kc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","containerInfo","tc","uc","has","vc","F","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","delete","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","strokeDasharray","strokeDashoffset","strokeOpacity","kd","ld","md","setProperty","nd","menuitem","area","base","br","embed","input","keygen","link","meta","param","track","wbr","od","pd","qd","sd","ud","vd","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","clearTimeout","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","G","Interface","isDefaultPrevented","defaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","documentMode","le","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","qe","keyCode","re","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","char","ue","we","datetime","email","month","password","range","search","tel","week","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","select","ff","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","onSelect","lf","animationName","pseudoElement","mf","clipboardData","nf","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","rf","repeat","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","H","I","Af","J","K","Bf","Cf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","L","childContextTypes","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","defaultProps","jg","kg","lg","mg","ng","og","_context","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","ug","updateQueue","baseState","baseQueue","shared","pending","vg","wg","suspenseConfig","xg","yg","zg","ca","Ag","D","Bg","Cg","Dg","Eg","Component","refs","Fg","Jg","isMounted","_reactInternalFiber","enqueueSetState","Gg","Hg","Ig","enqueueReplaceState","enqueueForceUpdate","Kg","shouldComponentUpdate","isPureReactComponent","Lg","contextType","updater","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","done","Xg","Yg","Zg","$g","ah","bh","dh","documentElement","tagName","eh","gh","M","hh","memoizedProps","revealOrder","ih","responder","jh","kh","N","O","P","mh","Q","nh","oh","ph","qh","rh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","create","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useDebugValue","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","R","Zh","$h","ai","bi","compare","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","oi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","createTextNode","ui","vi","T","xi","U","yi","zi","Ai","Bi","WeakSet","Set","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","Ri","instance","_reactRootContainer","Si","Ti","Ui","Vi","then","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","V","ej","fj","gj","hj","ij","jj","W","X","kj","mj","nj","oj","pj","Y","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","Z","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","timeout","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","vb","Uj","Vj","Wj","_ctor","default","Xj","_calculateChangedBits","unstable_observedBits","Zj","isReactComponent","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","form","Lj","lk","Events","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","replaceEmoji","makeTwemojiRenderer","optionsOrFn","pageProtocol","protocol","emojiStyle","verticalAlign","merge","baseUrl","ext","icon","match","alt","draggable","replaceStringToArray","UFE0Fg","U200D","rawText","unicodeSurrogates","sep","toCodePoint","_createClass","descriptor","writable","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_propTypes2","_shallowequal2","_raf2","_shouldUpdate3","_supportsPassiveEvents2","__esModule","noop","Headroom","_Component","_classCallCheck","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","setRef","inner","setHeightOffset","setState","resizeTicking","getScrollY","pageYOffset","getViewportHeight","clientHeight","getDocumentHeight","scrollHeight","getElementPhysicalHeight","elm","getElementHeight","getScrollerPhysicalHeight","getScrollerHeight","isOutOfBound","currentScrollY","pastTop","scrollerPhysicalHeight","scrollerHeight","handleScroll","scrollTicking","handleResize","unpin","onUnpin","translateY","unpinSnap","pin","onPin","unfix","onUnfix","lastKnownScrollY","eventListenerOptions","subClass","superClass","setPrototypeOf","_inherits","disable","passive","capture","calcHeightOnResize","nextProps","nextState","prevProps","prevState","_props","userClassName","Tag","divProps","disableInlineStyles","upTolerance","downTolerance","pinStart","wrapperStyle","innerStyle","WebkitTransform","MsTransform","WebkitTransition","MozTransition","OTransition","wrapperStyles","wrapperClassName","scrollDirection","distanceScrolled","passiveSupported","guardAgainstInvalidArgTypes","_len","_key","propIsRequired","propExists","missingPropError","make","up","down","mirror","opposite","lookup","_globals","Bounce","defaults","forever","delay","animationFillMode","_wrap2","_propTypes","_wrap","big","Fade","Flip","LightSpeed","Reveal","durationOut","delayOut","countOut","foreverOut","effectOut","inEffect","outEffect","_Fade2","in","inOut","collapse","collapseEl","cascade","wait","force","appear","enter","exit","fraction","refProp","innerRef","onReveal","unmountOnExit","mountOnEnter","ssrReveal","collapseOnly","ssrFadeout","transitionGroup","RevealBase","isOn","when","getInitialCollapseStyle","savedChild","isShown","observerMode","handleObserve","revealHandler","makeHandler","reveal","resizeHandler","saveRef","childRef","el","observe","hasExited","dispatchEvent","collapseend","animationEndTimeout","getComputedStyle","getPropertyValue","getDimensionValue","animationDuration","animationDelay","unlisten","hasAppeared","cloneElement","getChild","animationEnd","invisible","onRevealTimeout","ssr","disableSsr","intersectionRatio","disconnect","observer","IntersectionObserver","globalHide","hideAll","spy","inViewport","animate","listen","isMounting","fadeOutEnabled","getTop","whiteSpace","toArray","onExited","only","namespace","_defineProperty","ticking","isListener","offsetTop","offsetParent","Roll","Rotate","Slide","Zoom","insertRule","sheet","cssRules","log","exp","counter","effectMap","ie10","IntersectionObserverEntry","webkitRequestAnimationFrame","mozRequestAnimationFrame","appVersion","timing","domLoading","createEvent","initEvent","head","_Reveal","_Fade","_Bounce","_Roll","_Slide","_Flip","_Rotate","_LightSpeed","_Zoom","_RevealBase2","Fragment","__self","__source","jsx","jsxs","forceUpdate","keyPrefix","escape","IsSomeRendererActing","Profiler","PureComponent","StrictMode","Suspense","createContext","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","memo","MessageChannel","unstable_forceFrameRate","port2","port1","sortIndex","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","definition","scriptpath","urlArgs","doc","ids","every","ar","each","$script","idOrDone","optDone","idOrDoneIsDone","loopFn","dset","loading","onload","onerror","async","ready","req","missing","dep","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","regexpOrSubstr","newValueOrFn","globalOffset","RegExp","replaceUsingString","replaceUsingRegexp","patternString","regexp","output","replacerIsFn","storedLastIndex","exec","stringOrArray","newSubStrOrFn","arrayItem","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","chunkId","Promise","all","reduce","promises","miniCssF","globalThis","Function","inProgress","dataWebpackPrefix","script","needAttach","getAttribute","charset","onScriptComplete","prev","doneFns","toStringTag","loadStylesheet","resolve","reject","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","oldTag","linkTag","errorType","realHref","code","request","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","promise","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","StyleContext","StyleProvider","ToggleSwitch","isDark","isChecked","setChecked","styleContext","onChange","changeTheme","viewExperience","viewOpenSource","viewSkills","viewAchievement","viewBlog","viewTalks","htmlFor","Loading","DisplayLottie","defaultOptions","Button","newTab","Greeting","SocialMedia","download","landingPerson","SoftwareSkill","Skills","codingPerson","StackProgress","progressStyle","Build","naturalOrder","sort","peek","debug","r1","r2","histo","vboxes","vbox","_count_set","avg","_avg","gval","bval","palette","nearest","forcebw","quantize","naturalWidth","naturalHeight","getImageData","ExperienceCard","cardInfo","colorArrays","setColorArrays","imgRef","GetDescBullets","background","onLoad","colorThief","ColorThief","getColor","getColorArrays","WorkExperience","card","Projects","GithubRepoCard","FailedLoading","repo","setrepo","setrepoFunction","ok","json","user","pinnedItems","catch","StartupProject","project","AchievementCard","imageAlt","footer","openUrlInNewTab","Achievement","BlogCard","blog","Blogs","mediumBlogs","setMediumBlogs","setMediumBlogsFunction","getProfileData","html","includes","NaN","Footer","TalkCard","talkDetails","Talks","talk","Podcast","podcastLink","frameBorder","scrolling","EducationCard","school","Education","Top","scrollFunction","onscroll","_toPropertyKey","arg","hint","prim","toPrimitive","res","_defineProperties","_getPrototypeOf","_setPrototypeOf","getPalette","colorCount","quality","isInteger","getColorFromUrl","btoa","getColorAsync","twitterWidgetJs","TwitterTimelineEmbed","isLoading","chrome","noHeader","noFooter","noBorders","noScrollbar","transparent","autoHeight","embedContainer","theme","linkColor","borderColor","lang","isMountCanceled","twttr","widgets","createTimeline","sourceType","screenName","userId","ownerScreenName","slug","widgetId","_this2","_this3","buildOptions","buildChromeOptions","renderWidget","placeholder","isRequiredIf","createShareButton","createFollowButton","createHashtagButton","createMentionButton","createTweet","tweetId","createMoment","momentId","shareMoment","createDMButton","createVideo","createPeriscopeOnAirButton","renderLoader","cantDisplayError","widthScreen","Twitter","Contact","GithubProfileCard","Profile","prof","setProfileFunction","SplashScreen","Main","darkPref","matchMedia","setIsDark","useLocalStorage","storedValue","setStoredValue","localStorage","getItem","valueToStore","setItem","matches","isShowingSplashAnimation","setIsShowingSplashAnimation","splashTimer","_Fragment","Header","ScrollToTopButton","Boolean","hostname","ReactDOM","App","serviceWorker","registration","unregister"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/media/resume.ee49f0e69b42220b5d37.pdf b/static/media/resume.ee49f0e69b42220b5d37.pdf
new file mode 100644
index 0000000..f94cba8
Binary files /dev/null and b/static/media/resume.ee49f0e69b42220b5d37.pdf differ