Some features might not work as expected, especially in dark mode, to fix it please follow the steps below:
Then reload the page.
With a passion for design and development, I take projects from ideation to launch, ensuring a seamless journey that leaves a lasting positive impact on the digital landscape and your business.
( ABOUT ME )
Creating great web experiences is my primary focus. I ensure each project leaves users with a feel-good sensation through meticulous attention to detail and user-centric design principles.
When I'm not immersed in web development and design, you can find me sharing insights about my freelance journey on 𝕏, loudly, playing music (Funk), or just relaxing.
( Testimonials )
Here's what my clients say about our collaboration. Their satisfaction and meeting expectations are my top priorities, ensuring the best experience possible.
0||_>-1e-6&&_<0?i(_*B)/B:_}function P(){var _=this.props,B=S(_[0]),k=S(_[1]),F=S(_[4]),Z=S(_[5]),t0=S(_[12]),o0=S(_[13]);return"matrix("+B+","+k+","+F+","+Z+","+t0+","+o0+")"}return function(){this.reset=M,this.rotate=n,this.rotateX=b,this.rotateY=s,this.rotateZ=a,this.skew=c,this.skewFromAxis=l,this.shear=z,this.scale=O,this.setTransform=d,this.translate=f,this.transform=A,this.multiply=g,this.applyToPoint=R,this.applyToX=L,this.applyToY=N,this.applyToZ=x,this.applyToPointArray=U,this.applyToTriplePoints=D,this.applyToPointStringified=K,this.toCSS=V,this.to2dCSS=P,this.clone=u,this.cloneFromProps=m,this.equals=W,this.inversePoints=G,this.inversePoint=$,this.getInverseMatrix=C,this._t=this.transform,this.isIdentity=q,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(o){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(r){return typeof r}:_typeof$3=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof$3(o)}var lottie={};function setLocation(o){setLocationHref(o)}function searchAnimations(){animationManager.searchAnimations()}function setSubframeRendering(o){setSubframeEnabled(o)}function setPrefix(o){setIdPrefix(o)}function loadAnimation(o){return animationManager.loadAnimation(o)}function setQuality(o){if(typeof o=="string")switch(o){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else!isNaN(o)&&o>1&&setDefaultCurveSegments(o)}function inBrowser(){return typeof navigator<"u"}function installPlugin(o,e){o==="expressions"&&setExpressionsPlugin(e)}function getFactory(o){switch(o){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(o){for(var e=queryString.split("&"),r=0;r=1?n.push({s:o-1,e:e-1}):(n.push({s:o,e:1}),n.push({s:0,e:e-1}));var b=[],s,a=n.length,z;for(s=0;si+r)){var c,l;z.s*M<=i?c=0:c=(z.s*M-i)/r,z.e*M>=i+r?l=1:l=(z.e*M-i)/r,b.push([c,l])}return b.length||b.push([0,0]),b},TrimModifier.prototype.releasePathsData=function(o){var e,r=o.length;for(e=0;e 1?e=1+i:this.s.v<0?e=0+i:e=this.s.v+i,this.e.v>1?r=1+i:this.e.v<0?r=0+i:r=this.e.v+i,e>r){var M=e;e=r,r=M}e=Math.round(e*1e4)*1e-4,r=Math.round(r*1e4)*1e-4,this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var n,b,s=this.shapes.length,a,z,c,l,O,d=0;if(r===e)for(b=0;b =0;b-=1)if(A=this.shapes[b],A.shape._mdf){for(g=A.localShapeCollection,g.releaseShapes(),this.m===2&&s>1?(m=this.calculateShapeEdges(e,r,A.totalShapeLength,u,d),u+=A.totalShapeLength):m=[[q,W]],z=m.length,a=0;a=1?f.push({s:A.totalShapeLength*(q-1),e:A.totalShapeLength*(W-1)}):(f.push({s:A.totalShapeLength*q,e:A.totalShapeLength}),f.push({s:0,e:A.totalShapeLength*(W-1)}));var R=this.addShapes(A,f[0]);if(f[0].s!==f[0].e){if(f.length>1){var L=A.shape.paths.shapes[A.shape.paths._length-1];if(L.c){var N=R.pop();this.addPaths(R,g),R=this.addShapes(A,f[1],N)}else this.addPaths(R,g),R=this.addShapes(A,f[1])}this.addPaths(R,g)}}A.shape.paths=g}}},TrimModifier.prototype.addPaths=function(o,e){var r,i=o.length;for(r=0;re.e){r.c=!1;break}else e.s<=z&&e.e>=z+c.addedLength?(this.addSegment(M[n].v[s-1],M[n].o[s-1],M[n].i[s],M[n].v[s],r,l,g),g=!1):(d=bez.getNewSegment(M[n].v[s-1],M[n].v[s],M[n].o[s-1],M[n].i[s],(e.s-z)/c.addedLength,(e.e-z)/c.addedLength,O[s-1]),this.addSegmentFromArray(d,r,l,g),g=!1,r.c=!1),z+=c.addedLength,l+=1;if(M[n].c&&O.length){if(c=O[s-1],z<=e.e){var q=O[s-1].addedLength;e.s<=z&&e.e>=z+q?(this.addSegment(M[n].v[s-1],M[n].o[s-1],M[n].i[0],M[n].v[0],r,l,g),g=!1):(d=bez.getNewSegment(M[n].v[s-1],M[n].v[0],M[n].o[s-1],M[n].i[0],(e.s-z)/q,(e.e-z)/q,O[s-1]),this.addSegmentFromArray(d,r,l,g),g=!1,r.c=!1)}else r.c=!1;z+=c.addedLength,l+=1}if(r._length&&(r.setXYAt(r.v[A][0],r.v[A][1],"i",A),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],"o",r._length-1)),z>e.e)break;n =this.p.keyframes[this.p.keyframes.length-1].t?(c=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/z,0),l=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/z,0)):(c=this.p.pv,l=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/z,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){c=[],l=[];var O=this.px,d=this.py;O._caching.lastFrame+O.offsetTime<=O.keyframes[0].t?(c[0]=O.getValueAtTime((O.keyframes[0].t+.01)/z,0),c[1]=d.getValueAtTime((d.keyframes[0].t+.01)/z,0),l[0]=O.getValueAtTime(O.keyframes[0].t/z,0),l[1]=d.getValueAtTime(d.keyframes[0].t/z,0)):O._caching.lastFrame+O.offsetTime>=O.keyframes[O.keyframes.length-1].t?(c[0]=O.getValueAtTime(O.keyframes[O.keyframes.length-1].t/z,0),c[1]=d.getValueAtTime(d.keyframes[d.keyframes.length-1].t/z,0),l[0]=O.getValueAtTime((O.keyframes[O.keyframes.length-1].t-.01)/z,0),l[1]=d.getValueAtTime((d.keyframes[d.keyframes.length-1].t-.01)/z,0)):(c=[O.pv,d.pv],l[0]=O.getValueAtTime((O._caching.lastFrame+O.offsetTime-.01)/z,O.offsetTime),l[1]=d.getValueAtTime((d._caching.lastFrame+d.offsetTime-.01)/z,d.offsetTime))}else l=o,c=l;this.v.rotate(-Math.atan2(c[1]-l[1],c[0]-l[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function i(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}function M(){}function n(a){this._addDynamicProperty(a),this.elem.addDynamicProperty(a),this._isDirty=!0}function b(a,z,c){if(this.elem=a,this.frameId=-1,this.propType="transform",this.data=z,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(c||a),z.p&&z.p.s?(this.px=PropertyFactory.getProp(a,z.p.x,0,0,this),this.py=PropertyFactory.getProp(a,z.p.y,0,0,this),z.p.z&&(this.pz=PropertyFactory.getProp(a,z.p.z,0,0,this))):this.p=PropertyFactory.getProp(a,z.p||{k:[0,0,0]},1,0,this),z.rx){if(this.rx=PropertyFactory.getProp(a,z.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(a,z.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(a,z.rz,0,degToRads,this),z.or.k[0].ti){var l,O=z.or.k.length;for(l=0;l 0;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(o){var e,r=o.length;for(e=0;e 0?Math.floor(O):Math.ceil(O),A=this.pMatrix.props,g=this.rMatrix.props,q=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var W=0;if(O>0){for(;W f;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),W-=1;d&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-d,!0),W-=d)}i=this.data.m===1?0:this._currentCopies-1,M=this.data.m===1?1:-1,n=this._currentCopies;for(var u,m;n;){if(e=this.elemsData[i].it,r=e[e.length-1].transform.mProps.v.props,m=r.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i/(this._currentCopies-1)),W!==0){for((i!==0&&M===1||i!==this._currentCopies-1&&M===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(q[0],q[1],q[2],q[3],q[4],q[5],q[6],q[7],q[8],q[9],q[10],q[11],q[12],q[13],q[14],q[15]),this.matrix.transform(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8],A[9],A[10],A[11],A[12],A[13],A[14],A[15]),u=0;u 0&&i<1?[e]:[]:[e-i,e+i].filter(function(M){return M>0&&M<1})},PolynomialBezier.prototype.split=function(o){if(o<=0)return[singlePoint(this.points[0]),this];if(o>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],o),r=lerpPoint(this.points[1],this.points[2],o),i=lerpPoint(this.points[2],this.points[3],o),M=lerpPoint(e,r,o),n=lerpPoint(r,i,o),b=lerpPoint(M,n,o);return[new PolynomialBezier(this.points[0],e,M,b,!0),new PolynomialBezier(b,n,i,this.points[3],!0)]};function extrema(o,e){var r=o.points[0][e],i=o.points[o.points.length-1][e];if(r>i){var M=i;i=r,r=M}for(var n=quadRoots(3*o.a[e],2*o.b[e],o.c[e]),b=0;b 0&&n[b]<1){var s=o.point(n[b])[e];s i&&(i=s)}return{min:r,max:i}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var o=this.bounds();return{left:o.x.min,right:o.x.max,top:o.y.min,bottom:o.y.max,width:o.x.max-o.x.min,height:o.y.max-o.y.min,cx:(o.x.max+o.x.min)/2,cy:(o.y.max+o.y.min)/2}};function intersectData(o,e,r){var i=o.boundingBox();return{cx:i.cx,cy:i.cy,width:i.width,height:i.height,bez:o,t:(e+r)/2,t1:e,t2:r}}function splitData(o){var e=o.bez.split(.5);return[intersectData(e[0],o.t1,o.t),intersectData(e[1],o.t,o.t2)]}function boxIntersect(o,e){return Math.abs(o.cx-e.cx)*2 =n||o.width<=i&&o.height<=i&&e.width<=i&&e.height<=i){M.push([o.t,e.t]);return}var b=splitData(o),s=splitData(e);intersectsImpl(b[0],s[0],r+1,i,M,n),intersectsImpl(b[0],s[1],r+1,i,M,n),intersectsImpl(b[1],s[0],r+1,i,M,n),intersectsImpl(b[1],s[1],r+1,i,M,n)}}PolynomialBezier.prototype.intersections=function(o,e,r){e===void 0&&(e=2),r===void 0&&(r=7);var i=[];return intersectsImpl(intersectData(this,0,1),intersectData(o,0,1),0,e,i,r),i},PolynomialBezier.shapeSegment=function(o,e){var r=(e+1)%o.length();return new PolynomialBezier(o.v[e],o.o[e],o.i[r],o.v[r],!0)},PolynomialBezier.shapeSegmentInverted=function(o,e){var r=(e+1)%o.length();return new PolynomialBezier(o.v[r],o.i[r],o.o[e],o.v[e],!0)};function crossProduct(o,e){return[o[1]*e[2]-o[2]*e[1],o[2]*e[0]-o[0]*e[2],o[0]*e[1]-o[1]*e[0]]}function lineIntersection(o,e,r,i){var M=[o[0],o[1],1],n=[e[0],e[1],1],b=[r[0],r[1],1],s=[i[0],i[1],1],a=crossProduct(crossProduct(M,n),crossProduct(b,s));return floatZero(a[2])?null:[a[0]/a[2],a[1]/a[2]]}function polarOffset(o,e,r){return[o[0]+Math.cos(e)*r,o[1]-Math.sin(e)*r]}function pointDistance(o,e){return Math.hypot(o[0]-e[0],o[1]-e[1])}function pointEqual(o,e){return floatEqual(o[0],e[0])&&floatEqual(o[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(o,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(o,e.s,0,null,this),this.frequency=PropertyFactory.getProp(o,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(o,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(o,e,r,i,M,n,b){var s=r-Math.PI/2,a=r+Math.PI/2,z=e[0]+Math.cos(r)*i*M,c=e[1]-Math.sin(r)*i*M;o.setTripleAt(z,c,z+Math.cos(s)*n,c-Math.sin(s)*n,z+Math.cos(a)*b,c-Math.sin(a)*b,o.length())}function getPerpendicularVector(o,e){var r=[e[0]-o[0],e[1]-o[1]],i=-Math.PI*.5,M=[Math.cos(i)*r[0]-Math.sin(i)*r[1],Math.sin(i)*r[0]+Math.cos(i)*r[1]];return M}function getProjectingAngle(o,e){var r=e===0?o.length()-1:e-1,i=(e+1)%o.length(),M=o.v[r],n=o.v[i],b=getPerpendicularVector(M,n);return Math.atan2(0,1)-Math.atan2(b[1],b[0])}function zigZagCorner(o,e,r,i,M,n,b){var s=getProjectingAngle(e,r),a=e.v[r%e._length],z=e.v[r===0?e._length-1:r-1],c=e.v[(r+1)%e._length],l=n===2?Math.sqrt(Math.pow(a[0]-z[0],2)+Math.pow(a[1]-z[1],2)):0,O=n===2?Math.sqrt(Math.pow(a[0]-c[0],2)+Math.pow(a[1]-c[1],2)):0;setPoint(o,e.v[r%e._length],s,b,i,O/((M+1)*2),l/((M+1)*2))}function zigZagSegment(o,e,r,i,M,n){for(var b=0;b1&&e.length>1&&(M=getIntersection(o[0],e[e.length-1]),M)?[[o[0].split(M[0])[0]],[e[e.length-1].split(M[1])[1]]]:[r,i]}function pruneIntersections(o){for(var e,r=1;r 1&&(e=pruneSegmentIntersection(o[o.length-1],o[0]),o[o.length-1]=e[0],o[0]=e[1]),o}function offsetSegmentSplit(o,e){var r=o.inflectionPoints(),i,M,n,b;if(r.length===0)return[offsetSegment(o,e)];if(r.length===1||floatEqual(r[1],1))return n=o.split(r[0]),i=n[0],M=n[1],[offsetSegment(i,e),offsetSegment(M,e)];n=o.split(r[0]),i=n[0];var s=(r[1]-r[0])/(1-r[0]);return n=n[1].split(s),b=n[0],M=n[1],[offsetSegment(i,e),offsetSegment(b,e),offsetSegment(M,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(o,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(o,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(o,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(o,e,r,i){var M=shapePool.newElement();M.c=o.c;var n=o.length();o.c||(n-=1);var b,s,a,z=[];for(b=0;b =0;b-=1)a=PolynomialBezier.shapeSegmentInverted(o,b),z.push(offsetSegmentSplit(a,e));z=pruneIntersections(z);var c=null,l=null;for(b=0;b 0&&(Z=!1),Z){var a0=createTag("style");a0.setAttribute("f-forigin",_[B].fOrigin),a0.setAttribute("f-origin",_[B].origin),a0.setAttribute("f-family",_[B].fFamily),a0.type="text/css",a0.innerText="@font-face {font-family: "+_[B].fFamily+"; font-style: normal; src: url('"+_[B].fPath+"');}",P.appendChild(a0)}}else if(_[B].fOrigin==="g"||_[B].origin===1){for(t0=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),o0=0;o0 =55296&&_<=56319){var B=S.charCodeAt(1);B>=56320&&B<=57343&&(P=(_-55296)*1024+B-56320+65536)}return P}function L(S,P){var _=S.toString(16)+P.toString(16);return l.indexOf(_)!==-1}function N(S){return S===a}function x(S){return S===s}function C(S){var P=R(S);return P>=z&&P<=c}function $(S){return C(S.substr(0,2))&&C(S.substr(2,2))}function G(S){return r.indexOf(S)!==-1}function D(S,P){var _=R(S.substr(P,2));if(_!==i)return!1;var B=0;for(P+=2;B<5;){if(_=R(S.substr(P,2)),_ b)return!1;B+=1,P+=2}return R(S.substr(P,2))===M}function U(){this.isLoaded=!0}var K=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};K.isModifier=L,K.isZeroWidthJoiner=N,K.isFlagEmoji=$,K.isRegionalCode=C,K.isCombinedCharacter=G,K.isRegionalFlag=D,K.isVariationSelector=x,K.BLACK_FLAG_CODE_POINT=i;var V={addChars:q,addFonts:g,getCharData:W,getFontByName:m,measureText:u,checkLoadedFonts:f,setIsLoaded:U};return K.prototype=V,K}();function SlotManager(o){this.animationData=o}SlotManager.prototype.getProp=function(o){return this.animationData.slots&&this.animationData.slots[o.sid]?Object.assign(o,this.animationData.slots[o.sid].p):o};function slotFactory(o){return new SlotManager(o)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){this.renderableComponents.indexOf(e)===-1&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){this.renderableComponents.indexOf(e)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,r=this.renderableComponents.length;for(e=0;e .1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(o){this.audio.rate(o)},AudioElement.prototype.volume=function(o){this._volumeMultiplier=o,this._previousVolume=o*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(o){var e,r=this.layers.length,i;for(this.completeLayers=!0,e=r-1;e>=0;e-=1)this.elements[e]||(i=this.layers[e],i.ip-i.st<=o-this.layers[e].st&&i.op-i.st>o-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(o){switch(o.ty){case 2:return this.createImage(o);case 0:return this.createComp(o);case 1:return this.createSolid(o);case 3:return this.createNull(o);case 4:return this.createShape(o);case 5:return this.createText(o);case 6:return this.createAudio(o);case 13:return this.createCamera(o);case 15:return this.createFootage(o);default:return this.createNull(o)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(o){return new AudioElement(o,this.globalData,this)},BaseRenderer.prototype.createFootage=function(o){return new FootageElement(o,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var o,e=this.layers.length;for(o=0;o 0&&(this.maskElement.setAttribute("id",O),this.element.maskedElement.setAttribute(W,"url("+getLocationHref()+"#"+O+")"),i.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(o){return this.viewData[o].prop},MaskElement.prototype.renderFrame=function(o){var e=this.element.finalTransform.mat,r,i=this.masksProperties.length;for(r=0;r1&&(i+=" C"+e.o[M-1][0]+","+e.o[M-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),r.lastPath!==i){var b="";r.elem&&(e.c&&(b=o.inv?this.solidPath+i:i),r.elem.setAttribute("d",b)),r.lastPath=i}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var o={};o.createFilter=e,o.createAlphaToLuminanceFilter=r;function e(i,M){var n=createNS("filter");return n.setAttribute("id",i),M!==!0&&(n.setAttribute("filterUnits","objectBoundingBox"),n.setAttribute("x","0%"),n.setAttribute("y","0%"),n.setAttribute("width","100%"),n.setAttribute("height","100%")),n}function r(){var i=createNS("feColorMatrix");return i.setAttribute("type","matrix"),i.setAttribute("color-interpolation-filters","sRGB"),i.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),i}return o}(),featureSupport=function(){var o={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(o.maskType=!1),/firefox/i.test(navigator.userAgent)&&(o.svgLumaHidden=!1),o}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(o){var e,r="SourceGraphic",i=o.data.ef?o.data.ef.length:0,M=createElementID(),n=filtersFactory.createFilter(M,!0),b=0;this.filters=[];var s;for(e=0;e=0&&(i=this.shapeModifiers[e].processShapes(this._isFirstFrame),!i);e-=1);}},searchProcessedElement:function(e){for(var r=this.processedElements,i=0,M=r.length;i .01)return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s)for(var o=0,e=this.data.k.k.length;o 0;)q=O.transformers[C].mProps._mdf||q,x-=1,C-=1;if(q)for(x=R-O.styles[u].lvl,C=O.transformers.length-1;x>0;)N.multiply(O.transformers[C].mProps.v),x-=1,C-=1}else N=o;if(L=O.sh.paths,A=L._length,q){for(g="",f=0;f=1?U=.99:U<=-1&&(U=-.99);var K=G*U,V=Math.cos(D+O.a.v)*K+g[0],S=Math.sin(D+O.a.v)*K+g[1];f.setAttribute("fx",V),f.setAttribute("fy",S),A&&!O.g._collapsable&&(O.of.setAttribute("fx",V),O.of.setAttribute("fy",S))}}}function c(l,O,d){var f=O.style,A=O.d;A&&(A._mdf||d)&&A.dashStr&&(f.pElem.setAttribute("stroke-dasharray",A.dashStr),f.pElem.setAttribute("stroke-dashoffset",A.dashoffset[0])),O.c&&(O.c._mdf||d)&&f.pElem.setAttribute("stroke","rgb("+bmFloor(O.c.v[0])+","+bmFloor(O.c.v[1])+","+bmFloor(O.c.v[2])+")"),(O.o._mdf||d)&&f.pElem.setAttribute("stroke-opacity",O.o.v),(O.w._mdf||d)&&(f.pElem.setAttribute("stroke-width",O.w.v),f.msElem&&f.msElem.setAttribute("stroke-width",O.w.v))}return r}();function SVGShapeElement(o,e,r){this.shapes=[],this.shapesData=o.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(o,e,r),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var o,e=this.shapes.length,r,i,M=this.stylesList.length,n,b=[],s=!1;for(i=0;i 1&&s&&this.setShapesAsAnimated(b)}},SVGShapeElement.prototype.setShapesAsAnimated=function(o){var e,r=o.length;for(e=0;e =0;a-=1){if(g=this.searchProcessedElement(o[a]),g?e[a]=r[g-1]:o[a]._render=b,o[a].ty==="fl"||o[a].ty==="st"||o[a].ty==="gf"||o[a].ty==="gs"||o[a].ty==="no")g?e[a].style.closed=!1:e[a]=this.createStyleElement(o[a],M),o[a]._render&&e[a].style.pElem.parentNode!==i&&i.appendChild(e[a].style.pElem),O.push(e[a].style);else if(o[a].ty==="gr"){if(!g)e[a]=this.createGroupElement(o[a]);else for(l=e[a].it.length,c=0;c 1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(o){this.effectsSequence.push(o),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(o){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!o)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var i,M=this.effectsSequence.length,n=o||this.data.d.k[this.keysIndex].s;for(i=0;i e);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(o){for(var e=[],r=0,i=o.length,M,n,b=!1,s=!1,a="";r=55296&&M<=56319?FontManager.isRegionalFlag(o,r)?a=o.substr(r,14):(n=o.charCodeAt(r+1),n>=56320&&n<=57343&&(FontManager.isModifier(M,n)?(a=o.substr(r,2),b=!0):FontManager.isFlagEmoji(o.substr(r,4))?a=o.substr(r,4):a=o.substr(r,2))):M>56319?(n=o.charCodeAt(r+1),FontManager.isVariationSelector(M)&&(b=!0)):FontManager.isZeroWidthJoiner(M)&&(b=!0,s=!0),b?(e[e.length-1]+=a,b=!1):e.push(a),r+=a.length;return e},TextProperty.prototype.completeTextData=function(o){o.__complete=!0;var e=this.elem.globalData.fontManager,r=this.data,i=[],M,n,b,s=0,a,z=r.m.g,c=0,l=0,O=0,d=[],f=0,A=0,g,q,W=e.getFontByName(o.f),u,m=0,R=getFontProperties(W);o.fWeight=R.weight,o.fStyle=R.style,o.finalSize=o.s,o.finalText=this.buildFinalText(o.t),n=o.finalText.length,o.finalLineHeight=o.lh;var L=o.tr/1e3*o.finalSize,N;if(o.sz)for(var x=!0,C=o.sz[0],$=o.sz[1],G,D;x;){D=this.buildFinalText(o.t),G=0,f=0,n=D.length,L=o.tr/1e3*o.finalSize;var U=-1;for(M=0;M C&&D[M]!==" "?(U===-1?n+=1:M=U,G+=o.finalLineHeight||o.finalSize*1.2,D.splice(M,U===M?1:0,"\r"),U=-1,f=0):(f+=m,f+=L);G+=W.ascent*o.finalSize/100,this.canResize&&o.finalSize>this.minimumFontSize&&$ A?f:A,f=-2*L,a="",b=!0,O+=1):a=V,e.chars?(u=e.getCharData(V,W.fStyle,e.getFontByName(o.f).fFamily),m=b?0:u.w*o.finalSize/100):m=e.measureText(a,o.f,o.finalSize),V===" "?K+=m+L:(f+=m+L+K,K=0),i.push({l:m,an:m,add:c,n:b,anIndexes:[],val:a,line:O,animatorJustifyOffset:0}),z==2){if(c+=m,a===""||a===" "||M===n-1){for((a===""||a===" ")&&(c-=m);l<=M;)i[l].an=c,i[l].ind=s,i[l].extra=m,l+=1;s+=1,c=0}}else if(z==3){if(c+=m,a===""||M===n-1){for(a===""&&(c-=m);l<=M;)i[l].an=c,i[l].ind=s,i[l].extra=m,l+=1;c=0,s+=1}}else i[s].ind=s,i[s].extra=0,s+=1;if(o.l=i,A=f>A?f:A,d.push(f),o.sz)o.boxWidth=o.sz[0],o.justifyOffset=0;else switch(o.boxWidth=A,o.j){case 1:o.justifyOffset=-o.boxWidth;break;case 2:o.justifyOffset=-o.boxWidth/2;break;default:o.justifyOffset=0}o.lineWidths=d;var S=r.a,P,_;q=S.length;var B,k,F=[];for(g=0;g 0?s=this.ne.v/100:a=-this.ne.v/100,this.xe.v>0?z=1-this.xe.v/100:c=1+this.xe.v/100;var l=BezierFactory.getBezierEasing(s,a,z,c).get,O=0,d=this.finalS,f=this.finalE,A=this.data.sh;if(A===2)f===d?O=b>=f?1:0:O=o(0,e(.5/(f-d)+(b-d)/(f-d),1)),O=l(O);else if(A===3)f===d?O=b>=f?0:1:O=1-o(0,e(.5/(f-d)+(b-d)/(f-d),1)),O=l(O);else if(A===4)f===d?O=0:(O=o(0,e(.5/(f-d)+(b-d)/(f-d),1)),O<.5?O*=2:O=1-2*(O-.5)),O=l(O);else if(A===5){if(f===d)O=0;else{var g=f-d;b=e(o(0,b+.5-d),f-d);var q=-g/2+b,W=g/2;O=Math.sqrt(1-q*q/(W*W))}O=l(O)}else A===6?(f===d?O=0:(b=e(o(0,b+.5-d),f-d),O=(1+Math.cos(Math.PI+Math.PI*2*b/(f-d)))/2),O=l(O)):(b>=r(d)&&(b-d<0?O=o(0,e(e(f,1)-(d-b),1)):O=o(0,e(f-b,1))),O=l(O));if(this.sm.v!==100){var u=this.sm.v*.01;u===0&&(u=1e-8);var m=.5-u*.5;O1&&(O=1))}return O*this.a.v},getValue:function(b){this.iterateDynamicProperties(),this._mdf=b||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,b&&this.data.r===2&&(this.e.v=this._currentTextLength);var s=this.data.r===2?1:100/this.data.totalChars,a=this.o.v/s,z=this.s.v/s+a,c=this.e.v/s+a;if(z>c){var l=z;z=c,c=l}this.finalS=z,this.finalE=c}},extendPrototype([DynamicPropertyContainer],i);function M(n,b,s){return new i(n,b)}return{getTextSelectorProp:M}}();function TextAnimatorDataProperty(o,e,r){var i={propType:!1},M=PropertyFactory.getProp,n=e.a;this.a={r:n.r?M(o,n.r,0,degToRads,r):i,rx:n.rx?M(o,n.rx,0,degToRads,r):i,ry:n.ry?M(o,n.ry,0,degToRads,r):i,sk:n.sk?M(o,n.sk,0,degToRads,r):i,sa:n.sa?M(o,n.sa,0,degToRads,r):i,s:n.s?M(o,n.s,1,.01,r):i,a:n.a?M(o,n.a,1,0,r):i,o:n.o?M(o,n.o,0,.01,r):i,p:n.p?M(o,n.p,1,0,r):i,sw:n.sw?M(o,n.sw,0,0,r):i,sc:n.sc?M(o,n.sc,1,0,r):i,fc:n.fc?M(o,n.fc,1,0,r):i,fh:n.fh?M(o,n.fh,0,0,r):i,fs:n.fs?M(o,n.fs,0,.01,r):i,fb:n.fb?M(o,n.fb,0,.01,r):i,t:n.t?M(o,n.t,0,0,r):i},this.s=TextSelectorProp.getTextSelectorProp(o,e.s,r),this.s.t=e.s.t}function TextAnimatorProperty(o,e,r){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=o,this._renderType=e,this._elem=r,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}TextAnimatorProperty.prototype.searchProperties=function(){var o,e=this._textData.a.length,r,i=PropertyFactory.getProp;for(o=0;o =f+s0||!R?(C=(f+s0-g)/A.partialLength,o0=m.point[0]+(A.point[0]-m.point[0])*C,a0=m.point[1]+(A.point[1]-m.point[1])*C,n.translate(-r[0]*O[c].an*.005,-(r[1]*K)*.01),q=!1):R&&(g+=A.partialLength,W+=1,W>=R.length&&(W=0,u+=1,L[u]?R=L[u].points:G.v.c?(W=0,u=0,R=L[u].points):(g-=A.partialLength,R=null)),R&&(m=A,A=R[W],N=A.partialLength));t0=O[c].an/2-O[c].add,n.translate(-t0,0,0)}else t0=O[c].an/2-O[c].add,n.translate(-t0,0,0),n.translate(-r[0]*O[c].an*.005,-r[1]*K*.01,0);for(_=0;_o?this.textSpans[o].span:createNS(s?"g":"text"),u<=o){if(a.setAttribute("stroke-linecap","butt"),a.setAttribute("stroke-linejoin","round"),a.setAttribute("stroke-miterlimit","4"),this.textSpans[o].span=a,s){var R=createNS("g");a.appendChild(R),this.textSpans[o].childSpan=R}this.textSpans[o].span=a,this.layerElement.appendChild(a)}a.style.display="inherit"}if(z.reset(),l&&(b[o].n&&(O=-A,d+=r.yOffset,d+=f?1:0,f=!1),this.applyTextPropertiesToMatrix(r,z,b[o].line,O,d),O+=b[o].l||0,O+=A),s){m=this.globalData.fontManager.getCharData(r.finalText[o],i.fStyle,this.globalData.fontManager.getFontByName(r.f).fFamily);var L;if(m.t===1)L=new SVGCompElement(m.data,this.globalData,this);else{var N=emptyShapeData;m.data&&m.data.shapes&&(N=this.buildShapeData(m.data,r.finalSize)),L=new SVGShapeElement(N,this.globalData,this)}if(this.textSpans[o].glyph){var x=this.textSpans[o].glyph;this.textSpans[o].childSpan.removeChild(x.layerElement),x.destroy()}this.textSpans[o].glyph=L,L._debug=!0,L.prepareFrame(0),L.renderFrame(),this.textSpans[o].childSpan.appendChild(L.layerElement),m.t===1&&this.textSpans[o].childSpan.setAttribute("transform","scale("+r.finalSize/100+","+r.finalSize/100+")")}else l&&a.setAttribute("transform","translate("+z.props[12]+","+z.props[13]+")"),a.textContent=b[o].val,a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}l&&a&&a.setAttribute("d",c)}for(;o =0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(o-this.layers[e].st);if(this.globalData._mdf)for(e=0;e =0;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var o,e=this.layers.length;for(o=0;o =0;i-=1)e.finalTransform.multiply(e.transforms[i].transform.mProps.v);e._mdf=n},processSequences:function(e){var r,i=this.sequenceList.length;for(r=0;r=1){this.buffers=[];var e=this.globalData.canvasContext,r=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(r);var i=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(i),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var r=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=r}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0],r=e.getContext("2d");this.clearCanvas(r),r.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],r=e.getContext("2d");this.clearCanvas(r),r.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var i=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(i.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var M=assetLoader.getLumaCanvas(this.canvasContext.canvas),n=M.getContext("2d");n.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(M,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(e){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var r=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(r),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(r),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(o,e,r,i){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var M=4;e.ty==="rc"?M=5:e.ty==="el"?M=6:e.ty==="sr"&&(M=7),this.sh=ShapePropertyFactory.getShapeProp(o,e,M,o);var n,b=r.length,s;for(n=0;n=0;n-=1){if(l=this.searchProcessedElement(o[n]),l?e[n]=r[l-1]:o[n]._shouldRender=i,o[n].ty==="fl"||o[n].ty==="st"||o[n].ty==="gf"||o[n].ty==="gs")l?e[n].style.closed=!1:e[n]=this.createStyleElement(o[n],f),z.push(e[n].style);else if(o[n].ty==="gr"){if(!l)e[n]=this.createGroupElement(o[n]);else for(a=e[n].it.length,s=0;s=0;M-=1)e[M].ty==="tr"?(b=r[M].transform,this.renderShapeTransform(o,b)):e[M].ty==="sh"||e[M].ty==="el"||e[M].ty==="rc"||e[M].ty==="sr"?this.renderPath(e[M],r[M]):e[M].ty==="fl"?this.renderFill(e[M],r[M],b):e[M].ty==="st"?this.renderStroke(e[M],r[M],b):e[M].ty==="gf"||e[M].ty==="gs"?this.renderGradientFill(e[M],r[M],b):e[M].ty==="gr"?this.renderShape(b,e[M].it,r[M].it):e[M].ty;i&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(o,e){if(this._isFirstFrame||e._mdf||o.transforms._mdf){var r=o.trNodes,i=e.paths,M,n,b,s=i._length;r.length=0;var a=o.transforms.finalTransform;for(b=0;b =1?c=.99:c<=-1&&(c=-.99);var l=a*c,O=Math.cos(z+e.a.v)*l+b[0],d=Math.sin(z+e.a.v)*l+b[1];M=n.createRadialGradient(O,d,0,b[0],b[1],a)}var f,A=o.g.p,g=e.g.c,q=1;for(f=0;fn&&a==="xMidYMid slice"||MM&&s==="meet"||n M&&s==="slice")?this.transformCanvas.tx=(r-this.transformCanvas.w*(i/this.transformCanvas.h))/2*this.renderConfig.dpr:z==="xMax"&&(n M&&s==="slice")?this.transformCanvas.tx=(r-this.transformCanvas.w*(i/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,c==="YMid"&&(n>M&&s==="meet"||n M&&s==="meet"||n =0;o-=1)this.elements[o]&&this.elements[o].destroy&&this.elements[o].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(o,e){if(!(this.renderedFrame===o&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||o===-1)){this.renderedFrame=o,this.globalData.frameNum=o-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=o;var r,i=this.layers.length;for(this.completeLayers||this.checkLayers(o),r=i-1;r>=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].prepareFrame(o-this.layers[r].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),r=i-1;r>=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(o){var e=this.elements;if(!(e[o]||this.layers[o].ty===99)){var r=this.createItem(this.layers[o],this,this.globalData);e[o]=r,r.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var o=this.pendingElements.pop();o.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var o,e=15;for(o=0;o =0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var o,e=this.layers.length;for(o=e-1;o>=0;o-=1)this.elements[o]&&this.elements[o].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(o){return new CVCompElement(o,this.globalData,this)};function CanvasRenderer(o,e){this.animationItem=o,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(o){return new CVCompElement(o,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.bm!==0&&this.setBlendMode()},renderElement:function(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var r=this.finalTransform.mat.toCSS();e.transform=r,e.webkitTransform=r}this.finalTransform._opMdf&&(e.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(o,e,r){this.initElement(o,e,r)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var o;this.data.hasMask?(o=createNS("rect"),o.setAttribute("width",this.data.sw),o.setAttribute("height",this.data.sh),o.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):(o=createTag("div"),o.style.width=this.data.sw+"px",o.style.height=this.data.sh+"px",o.style.backgroundColor=this.data.sc),this.layerElement.appendChild(o)};function HShapeElement(o,e,r){this.shapes=[],this.shapesData=o.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(o,e,r),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var o;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),o=this.svgElement;else{o=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;o.setAttribute("width",e.w),o.setAttribute("height",e.h),o.appendChild(this.shapesContainer),this.layerElement.appendChild(o)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=o},HShapeElement.prototype.getTransformedPoint=function(o,e){var r,i=o.length;for(r=0;r0&&a<1&&M[O].push(this.calculateF(a,o,e,r,i,O))):(z=b*b-4*s*n,z>=0&&(c=(-b+bmSqrt(z))/(2*n),c>0&&c<1&&M[O].push(this.calculateF(c,o,e,r,i,O)),l=(-b-bmSqrt(z))/(2*n),l>0&&l<1&&M[O].push(this.calculateF(l,o,e,r,i,O)))));this.shapeBoundingBox.left=bmMin.apply(null,M[0]),this.shapeBoundingBox.top=bmMin.apply(null,M[1]),this.shapeBoundingBox.right=bmMax.apply(null,M[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,M[1])},HShapeElement.prototype.calculateF=function(o,e,r,i,M,n){return bmPow(1-o,3)*e[n]+3*bmPow(1-o,2)*o*r[n]+3*(1-o)*bmPow(o,2)*i[n]+bmPow(o,3)*M[n]},HShapeElement.prototype.calculateBoundingBox=function(o,e){var r,i=o.length;for(r=0;rr&&(r=M)}r*=o.mult}else r=o.v*o.mult;e.x-=r,e.xMax+=r,e.y-=r,e.yMax+=r},HShapeElement.prototype.currentBoxContains=function(o){return this.currentBBox.x<=o.x&&this.currentBBox.y<=o.y&&this.currentBBox.width+this.currentBBox.x>=o.x+o.width&&this.currentBBox.height+this.currentBBox.y>=o.y+o.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var o=this.tempBoundingBox,e=999999;if(o.x=e,o.xMax=-e,o.y=e,o.yMax=-e,this.calculateBoundingBox(this.itemsData,o),o.width=o.xMax =0;e-=1){var i=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-i.p.v[0],-i.p.v[1],i.p.v[2]),this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]),this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v),this.mat.scale(1/i.s.v[0],1/i.s.v[1],1/i.s.v[2]),this.mat.translate(i.a.v[0],i.a.v[1],i.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var M;this.p?M=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:M=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var n=Math.sqrt(Math.pow(M[0],2)+Math.pow(M[1],2)+Math.pow(M[2],2)),b=[M[0]/n,M[1]/n,M[2]/n],s=Math.sqrt(b[2]*b[2]+b[0]*b[0]),a=Math.atan2(b[1],s),z=Math.atan2(b[0],-b[2]);this.mat.rotateY(z).rotateX(-a)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var c=!this._prevMat.equals(this.mat);if((c||this.pe._mdf)&&this.comp.threeDElements){r=this.comp.threeDElements.length;var l,O,d;for(e=0;e =o)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(o,e){var r=createTag("div"),i,M;styleDiv(r);var n=createTag("div");if(styleDiv(n),e==="3d"){i=r.style,i.width=this.globalData.compSize.w+"px",i.height=this.globalData.compSize.h+"px";var b="50% 50%";i.webkitTransformOrigin=b,i.mozTransformOrigin=b,i.transformOrigin=b,M=n.style;var s="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";M.transform=s,M.webkitTransform=s}r.appendChild(n);var a={container:n,perspectiveElem:r,startPos:o,endPos:o,type:e};return this.threeDElements.push(a),a},HybridRendererBase.prototype.build3dContainers=function(){var o,e=this.layers.length,r,i="";for(o=0;o =0;o-=1)this.resizerElem.appendChild(this.threeDElements[o].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(o,e){for(var r=0,i=this.threeDElements.length;rr?(M=o/this.globalData.compSize.w,n=o/this.globalData.compSize.w,b=0,s=(e-this.globalData.compSize.h*(o/this.globalData.compSize.w))/2):(M=e/this.globalData.compSize.h,n=e/this.globalData.compSize.h,b=(o-this.globalData.compSize.w*(e/this.globalData.compSize.h))/2,s=0);var a=this.resizerElem.style;a.webkitTransform="matrix3d("+M+",0,0,0,0,"+n+",0,0,0,0,1,0,"+b+","+s+",0,1)",a.transform=a.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var o=this.globalData.compSize.w,e=this.globalData.compSize.h,r,i=this.threeDElements.length;for(r=0;r=z;)G/=2,D/=2,U>>>=1;return(G+U)/D};return C.int32=function(){return x.g(4)|0},C.quick=function(){return x.g(4)/4294967296},C.double=C,g(W(x.S),o),(m.pass||R||function($,G,D,U){return U&&(U.S&&f(U,x),$.state=function(){return f(x,{})}),D?(e[b]=$,G):$})(C,N,"global"in m?m.global:this==e,m.state)}e["seed"+b]=O;function d(u){var m,R=u.length,L=this,N=0,x=L.i=L.j=0,C=L.S=[];for(R||(u=[R++]);Nr){var i=r;r=e,e=i}return Math.min(Math.max(o,e),r)}function radiansToDegrees(o){return o/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(o){return o*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(o,e){if(typeof o=="number"||o instanceof Number)return e=e||0,Math.abs(o-e);e||(e=helperLengthArray);var r,i=Math.min(o.length,e.length),M=0;for(r=0;r.5?z/(2-M-n):z/(M+n),M){case e:b=(r-i)/z+(r1&&(r-=1),r<1/6?o+(e-o)*6*r:r<1/2?e:r<2/3?o+(e-o)*(2/3-r)*6:o}function hslToRgb(o){var e=o[0],r=o[1],i=o[2],M,n,b;if(r===0)M=i,b=i,n=i;else{var s=i<.5?i*(1+r):i+r-i*r,a=2*i-s;M=hue2rgb(a,s,e+1/3),n=hue2rgb(a,s,e),b=hue2rgb(a,s,e-1/3)}return[M,n,b,o[3]]}function linear(o,e,r,i,M){if((i===void 0||M===void 0)&&(i=e,M=r,e=0,r=1),r =r)return M;var b=r===e?0:(o-e)/(r-e);if(!i.length)return i+(M-i)*b;var s,a=i.length,z=createTypedArray("float32",a);for(s=0;s1){for(M=0;M 1?e=1:e<0&&(e=0);var b=o(e);if($bm_isInstanceOfArray(M)){var s,a=M.length,z=createTypedArray("float32",a);for(s=0;sdata.k[e].t&&o data.k[e+1].t-o?(i=e+2,M=data.k[e+1].t):(i=e+1,M=data.k[e].t);break}i===-1&&(i=e+1,M=data.k[e].t)}var n={};return n.index=i,n.time=M/elem.comp.globalData.frameRate,n}function key(o){var e,r,i;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+o);o-=1,e={time:data.k[o].t/elem.comp.globalData.frameRate,value:[]};var M=Object.prototype.hasOwnProperty.call(data.k[o],"s")?data.k[o].s:data.k[o-1].e;for(i=M.length,r=0;rg.length-1)&&(d=g.length-1),u=g[g.length-1-d].t,W=q-u);var m,R,L;if(O==="pingpong"){var N=Math.floor((A-u)/W);if(N%2!==0)return this.getValueAtTime((W-(A-u)%W+u)/this.comp.globalData.frameRate,0)}else if(O==="offset"){var x=this.getValueAtTime(u/this.comp.globalData.frameRate,0),C=this.getValueAtTime(q/this.comp.globalData.frameRate,0),$=this.getValueAtTime(((A-u)%W+u)/this.comp.globalData.frameRate,0),G=Math.floor((A-u)/W);if(this.pv.length){for(L=new Array(x.length),R=L.length,m=0;m =q)return this.pv;var W,u;f?(d?W=Math.abs(this.elem.comp.globalData.frameRate*d):W=Math.max(0,this.elem.data.op-q),u=q+W):((!d||d>g.length-1)&&(d=g.length-1),u=g[d].t,W=u-q);var m,R,L;if(O==="pingpong"){var N=Math.floor((q-A)/W);if(N%2===0)return this.getValueAtTime(((q-A)%W+q)/this.comp.globalData.frameRate,0)}else if(O==="offset"){var x=this.getValueAtTime(q/this.comp.globalData.frameRate,0),C=this.getValueAtTime(u/this.comp.globalData.frameRate,0),$=this.getValueAtTime((W-(q-A)%W+q)/this.comp.globalData.frameRate,0),G=Math.floor((q-A)/W)+1;if(this.pv.length){for(L=new Array(x.length),R=L.length,m=0;m 1?(g-A)/(d-1):1,W=0,u=0,m;this.pv.length?m=createTypedArray("float32",this.pv.length):m=0;for(var R;W W){var N=u,x=A.c&&u===m-1?0:u+1,C=(W-R)/q[u].addedLength;L=bez.getPointInSegment(A.v[N],A.v[x],A.o[N],A.i[x],C,q[u]);break}else R+=q[u].addedLength;u+=1}return L||(L=A.c?[A.v[0][0],A.v[0][1]]:[A.v[A._length-1][0],A.v[A._length-1][1]]),L},vectorOnPath:function(d,f,A){d==1?d=this.v.c:d==0&&(d=.999);var g=this.pointOnPath(d,f),q=this.pointOnPath(d+.001,f),W=q[0]-g[0],u=q[1]-g[1],m=Math.sqrt(Math.pow(W,2)+Math.pow(u,2));if(m===0)return[0,0];var R=A==="tangent"?[W/m,u/m]:[-u/m,W/m];return R},tangentOnPath:function(d,f){return this.vectorOnPath(d,f,"tangent")},normalOnPath:function(d,f){return this.vectorOnPath(d,f,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([c],a),extendPrototype([c],z),z.prototype.getValueAtTime=s,z.prototype.initiateExpression=ExpressionManager.initiateExpression;var l=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(O,d,f,A,g){var q=l(O,d,f,A,g);return q.propertyIndex=d.ix,q.lock=!1,f===3?expressionHelpers.searchExpressions(O,d.pt,q):f===4&&expressionHelpers.searchExpressions(O,d.ks,q),q.k&&O.addDynamicProperty(q),q}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function o(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,r){var i=this.calculateExpression(r);if(e.t!==i){var M={};return this.copyData(M,e),M.t=i.toString(),M.__complete=!1,M}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),r=this.searchExpressions();return this.kf=e||r,this.kf},TextProperty.prototype.searchExpressions=o}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function o(e,r){var i=createNS("feMerge");i.setAttribute("result",e);var M,n;for(n=0;n =z?l=f<0?i:M:l=i+d*Math.pow((s-o)/f,1/r),c[O]=l,O+=1,n+=256/(b-1);return c.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(o){if(o||this.filterManager._mdf){var e,r=this.filterManager.effectElements;this.feFuncRComposed&&(o||r[3].p._mdf||r[4].p._mdf||r[5].p._mdf||r[6].p._mdf||r[7].p._mdf)&&(e=this.getTableValue(r[3].p.v,r[4].p.v,r[5].p.v,r[6].p.v,r[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(o||r[10].p._mdf||r[11].p._mdf||r[12].p._mdf||r[13].p._mdf||r[14].p._mdf)&&(e=this.getTableValue(r[10].p.v,r[11].p.v,r[12].p.v,r[13].p.v,r[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(o||r[17].p._mdf||r[18].p._mdf||r[19].p._mdf||r[20].p._mdf||r[21].p._mdf)&&(e=this.getTableValue(r[17].p.v,r[18].p.v,r[19].p.v,r[20].p.v,r[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(o||r[24].p._mdf||r[25].p._mdf||r[26].p._mdf||r[27].p._mdf||r[28].p._mdf)&&(e=this.getTableValue(r[24].p.v,r[25].p.v,r[26].p.v,r[27].p.v,r[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(o||r[31].p._mdf||r[32].p._mdf||r[33].p._mdf||r[34].p._mdf||r[35].p._mdf)&&(e=this.getTableValue(r[31].p.v,r[32].p.v,r[33].p.v,r[34].p.v,r[35].p.v),this.feFuncA.setAttribute("tableValues",e))}};function SVGDropShadowEffect(o,e,r,i,M){var n=e.container.globalData.renderConfig.filterSize,b=e.data.fs||n;o.setAttribute("x",b.x||n.x),o.setAttribute("y",b.y||n.y),o.setAttribute("width",b.width||n.width),o.setAttribute("height",b.height||n.height),this.filterManager=e;var s=createNS("feGaussianBlur");s.setAttribute("in","SourceAlpha"),s.setAttribute("result",i+"_drop_shadow_1"),s.setAttribute("stdDeviation","0"),this.feGaussianBlur=s,o.appendChild(s);var a=createNS("feOffset");a.setAttribute("dx","25"),a.setAttribute("dy","0"),a.setAttribute("in",i+"_drop_shadow_1"),a.setAttribute("result",i+"_drop_shadow_2"),this.feOffset=a,o.appendChild(a);var z=createNS("feFlood");z.setAttribute("flood-color","#00ff00"),z.setAttribute("flood-opacity","1"),z.setAttribute("result",i+"_drop_shadow_3"),this.feFlood=z,o.appendChild(z);var c=createNS("feComposite");c.setAttribute("in",i+"_drop_shadow_3"),c.setAttribute("in2",i+"_drop_shadow_2"),c.setAttribute("operator","in"),c.setAttribute("result",i+"_drop_shadow_4"),o.appendChild(c);var l=this.createMergeNode(i,[i+"_drop_shadow_4",M]);o.appendChild(l)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(o){if(o||this.filterManager._mdf){if((o||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),o||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)))}if((o||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),o||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var r=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,M=r*Math.cos(i),n=r*Math.sin(i);this.feOffset.setAttribute("dx",M),this.feOffset.setAttribute("dy",n)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(o,e,r){this.initialized=!1,this.filterManager=e,this.filterElem=o,this.elem=r,r.matteElement=createNS("g"),r.matteElement.appendChild(r.layerElement),r.matteElement.appendChild(r.transformedElement),r.baseElement=r.matteElement}SVGMatte3Effect.prototype.findSymbol=function(o){for(var e=0,r=_svgMatteSymbols.length;e e in o?__defProp(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r,__spreadValues=(o,e)=>{for(var r in e||(e={}))__hasOwnProp.call(e,r)&&__defNormalProp(o,r,e[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(e))__propIsEnum.call(e,r)&&__defNormalProp(o,r,e[r]);return o},__spreadProps=(o,e)=>__defProps(o,__getOwnPropDescs(e)),es6=function o(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var i,M,n;if(Array.isArray(e)){if(i=e.length,i!=r.length)return!1;for(M=i;M--!==0;)if(!o(e[M],r[M]))return!1;return!0}if(e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(M of e.entries())if(!r.has(M[0]))return!1;for(M of e.entries())if(!o(M[1],r.get(M[0])))return!1;return!0}if(e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(M of e.entries())if(!r.has(M[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(r)){if(i=e.length,i!=r.length)return!1;for(M=i;M--!==0;)if(e[M]!==r[M])return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(n=Object.keys(e),i=n.length,i!==Object.keys(r).length)return!1;for(M=i;M--!==0;)if(!Object.prototype.hasOwnProperty.call(r,n[M]))return!1;for(M=i;M--!==0;){var b=n[M];if(!o(e[b],r[b]))return!1}return!0}return e!==e&&r!==r};function klona(o){var e,r,i;if(Array.isArray(o)){for(r=Array(e=o.length);e--;)r[e]=(i=o[e])&&typeof i=="object"?klona(i):i;return r}if(Object.prototype.toString.call(o)==="[object Object]"){r={};for(e in o)e==="__proto__"?Object.defineProperty(r,e,{value:klona(o[e]),configurable:!0,enumerable:!0,writable:!0}):r[e]=(i=o[e])&&typeof i=="object"?klona(i):i;return r}return o}var _export_sfc=(o,e)=>{const r=o.__vccOpts||o;for(const[i,M]of e)r[i]=M;return r};const _sfc_main$2=defineComponent({props:{animationData:{type:Object,default:()=>({})},animationLink:{type:String,default:""},loop:{type:[Boolean,Number],default:!0},autoPlay:{type:Boolean,default:!0},width:{type:[Number,String],default:"100%"},height:{type:[Number,String],default:"100%"},speed:{type:Number,default:1},delay:{type:Number,default:0},direction:{type:String,default:"forward"},pauseOnHover:{type:Boolean,default:!1},playOnHover:{type:Boolean,default:!1},backgroundColor:{type:String,default:"transparent"},pauseAnimation:{type:Boolean,default:!1},noMargin:{type:Boolean,default:!1},scale:{type:Number,default:1},renderer:{type:String,default:"svg"},rendererSettings:{type:Object,default:()=>({})},assetsPath:{type:String,default:""}},emits:{onComplete:null,onLoopComplete:null,onEnterFrame:null,onSegmentStart:null,onAnimationLoaded:null},setup(o,{emit:e}){const r=ref();let i,M=null,n=1;watchEffect(async()=>{if(r.value){if(o.animationLink!="")try{i=await(await fetch(o.animationLink)).json()}catch(L){console.error(L);return}else if(es6(o.animationData,{})===!1)i=klona(o.animationData);else throw new Error("You must provide either animationLink or animationData");b()}});const b=()=>{if(!r.value||!i)return;M==null||M.destroy(),M=null;let L=o.autoPlay,N=o.loop;o.playOnHover&&(L=!1),typeof N=="number"&&N>0&&(N=N-1),o.delay>0&&(L=!1);const x={container:r.value,renderer:o.renderer,loop:N,autoplay:L,animationData:i,assetsPath:o.assetsPath};es6(o.rendererSettings,{})===!1&&(x.rendererSettings=o.rendererSettings),o.scale!==1&&(x.rendererSettings=__spreadProps(__spreadValues({},x.rendererSettings),{viewBoxOnly:!0})),M=Lottie.loadAnimation(x),setTimeout(()=>{L=o.autoPlay,o.playOnHover?M==null||M.pause():L?M==null||M.play():M==null||M.pause(),e("onAnimationLoaded")},o.delay),M.setSpeed(o.speed),o.direction==="reverse"&&M.setDirection(-1),o.direction==="normal"&&M.setDirection(1),(o.pauseAnimation||o.playOnHover)&&M.pause(),M.addEventListener("loopComplete",()=>{o.direction==="alternate"&&(M==null||M.stop(),n=n===-1?1:-1,M==null||M.setDirection(n),M==null||M.play()),e("onLoopComplete")}),M.addEventListener("complete",()=>{e("onComplete")}),M.addEventListener("enterFrame",()=>{e("onEnterFrame")}),M.addEventListener("segmentStart",()=>{e("onSegmentStart")})},s=computed(()=>{let L=o.width,N=o.height;return typeof o.width=="number"&&(L=`${o.width}px`),typeof o.height=="number"&&(N=`${o.height}px`),{"--lottie-animation-container-width":L,"--lottie-animation-container-height":N,"--lottie-animation-container-background-color":o.backgroundColor,"--lottie-animation-margin":o.noMargin?"0":"0 auto","--lottie-animation-scale":o.scale!=1?o.scale:""}}),a=()=>{M&&o.pauseOnHover&&M.pause(),M&&o.playOnHover&&M.play()},z=()=>{M&&o.pauseOnHover&&M.play(),M&&o.playOnHover&&M.pause()};return watch(()=>o.pauseAnimation,()=>{if((o.pauseOnHover||o.playOnHover)&&o.pauseAnimation){console.error("If you are using pauseAnimation prop for Vue3-Lottie, please remove the props pauseOnHover and playOnHover");return}M&&(o.pauseAnimation?M.pause():M.play())}),{lottieAnimationContainer:r,hoverEnded:z,hoverStarted:a,getCurrentStyle:s,play:()=>{M&&M.play()},pause:()=>{M&&M.pause()},stop:()=>{M&&M.stop()},destroy:()=>{M&&M.destroy()},setSpeed:(L=1)=>{if(L<=0)throw new Error("Speed must be greater than 0");M&&M.setSpeed(L)},setDirection:L=>{M&&(L==="forward"?M.setDirection(1):L==="reverse"&&M.setDirection(-1))},goToAndStop:(L,N=!0)=>{M&&M.goToAndStop(L,N)},goToAndPlay:(L,N=!0)=>{M&&M.goToAndPlay(L,N)},playSegments:(L,N=!1)=>{M&&M.playSegments(L,N)},setSubFrame:(L=!0)=>{M&&M.setSubframe(L)},getDuration:(L=!0)=>{if(M)return M.getDuration(L)},updateDocumentData:(L,N=0)=>{M&&M.renderer.elements[N].updateDocumentData(L)}}}});function _sfc_render(o,e,r,i,M,n){return openBlock(),createElementBlock("div",{ref:"lottieAnimationContainer",class:"lottie-animation-container",style:normalizeStyle(o.getCurrentStyle),onMouseenter:e[0]||(e[0]=(...b)=>o.hoverStarted&&o.hoverStarted(...b)),onMouseleave:e[1]||(e[1]=(...b)=>o.hoverEnded&&o.hoverEnded(...b))},null,36)}var Vue3Lottie=_export_sfc(_sfc_main$2,[["render",_sfc_render]]);const _hoisted_1$1={id:"contact-section",class:"relative min-h-svh w-full select-none overflow-y-clip p-[4vh]"},_hoisted_2$1={class:"flex-center relative h-[92vh] w-full flex-col rounded-lg bg-black uppercase"},_hoisted_3$1=["src"],_hoisted_4$1={class:"flex-center z-10 flex-col gap-y-10"},_hoisted_5$1=createBaseVNode("p",{class:"heading-4 text-center font-mono text-flax-smoke-300"}," (Need an unfair advantage?) ",-1),_hoisted_6=["innerHTML"],_hoisted_7={class:"mt-[5%] flex scale-150 items-center lg:scale-[1.5] xl:scale-[2] 2xl:scale-[2.5] 3xl:scale-[3]"},_hoisted_8={class:"absolute bottom-5 flex w-full items-center justify-center px-5 md:justify-between"},_hoisted_9={class:"hidden md:flex"},_hoisted_10={class:"relative border border-flax-smoke-300"},_hoisted_11=createBaseVNode("div",{class:"flex-center py w-fit flex-col border border-l-0 border-flax-smoke-300 font-mono text-flax-smoke-300"},[createBaseVNode("p",{class:"flex size-full items-center justify-start border-b border-flax-smoke-300 pl-1 pr-2 font-bold"}," Working Globally "),createBaseVNode("p",{class:"flex size-full items-center justify-start pl-1 pr-2"}," Available Sep '24 ")],-1),_hoisted_12={class:"heading-6 w-fit text-flax-smoke-500"},_hoisted_13=createBaseVNode("p",{class:"w-full font-bold uppercase"},"For further inquiries",-1),_sfc_main$1=defineComponent({__name:"Contact",setup(o){const e=ref("Let's Make it happen");return onBeforeMount(()=>{e.value=textSplitterIntoChar(e.value)}),onMounted(()=>{animateSplitText("#make-it-happen .letters","#make-it-happen",1.5,.01,0)}),(r,i)=>(openBlock(),createElementBlock("section",_hoisted_1$1,[createBaseVNode("div",_hoisted_2$1,[createBaseVNode("video",{class:"absolute bottom-0 left-0 size-full rounded-lg object-cover object-bottom",src:unref(contact),autoplay:"",muted:"",loop:"",playsinline:""},null,8,_hoisted_3$1),createBaseVNode("div",_hoisted_4$1,[_hoisted_5$1,createBaseVNode("h1",{id:"make-it-happen",class:"heading-1 max-w-[10ch] text-center leading-none text-flax-smoke-200",innerHTML:e.value},null,8,_hoisted_6),createBaseVNode("div",_hoisted_7,[createVNode(unref(Button),{"data-cal-namespace":unref(dataCalNamespace),"data-cal-link":unref(dataCalLink),"data-cal-config":unref(dataCalConfig),label:"Get in touch"},null,8,["data-cal-namespace","data-cal-link","data-cal-config"])])]),createBaseVNode("div",_hoisted_8,[createBaseVNode("div",_hoisted_9,[createBaseVNode("div",_hoisted_10,[createVNode(unref(Vue3Lottie),{ref:"customControl",animationData:unref(earthLottie),loop:!0,autoPlay:!0},null,8,["animationData"])]),_hoisted_11]),createBaseVNode("div",_hoisted_12,[_hoisted_13,createVNode(_sfc_main$j,{class:"h-6 text-right font-medium lowercase tracking-wider text-flax-smoke-300",label:"hetari4all@gmail",icon:!0,url:"mailto:hetari4all@gmail"})])])])]))}}),_hoisted_1={class:"pointer-events-none fixed inset-0 z-50"},_hoisted_2={class:"h-[150vh] w-full object-cover object-center",xmlns:"http://www.w3.org/2000/svg"},_hoisted_3=createBaseVNode("filter",{id:"noise"},[createBaseVNode("feTurbulence",{type:"fractalNoise",baseFrequency:"0.65",numOctaves:"1",stitchTiles:"stitch"}),createBaseVNode("feBlend",{mode:"screen"})],-1),_hoisted_4={class:"relative min-h-full"},_hoisted_5={class:"relative rounded-t-3xl bg-[#0B0B0A] py-[5%] text-flax-smoke-200"},_sfc_main=defineComponent({__name:"App",setup(o){const{width:e,height:r}=useWindowSize(),i=ref(null),M=/samsung/i.test(navigator.userAgent),n=b=>{b?lenis.stop():lenis.start()};return watch([e,r],()=>{i.value&&(i.value.style.height=`${r.value*2}px`,i.value.style.width=`${e.value}px`)}),onMounted(()=>{document.body.classList.add("stop-scrolling"),setTimeout(()=>{requestAnimationFrame(raf)},2e3)}),(b,s)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$e)),unref(M)?(openBlock(),createBlock(unref(_sfc_main$d),{key:0})):createCommentVNode("",!0),createBaseVNode("div",_hoisted_1,[(openBlock(),createElementBlock("svg",_hoisted_2,[_hoisted_3,createBaseVNode("rect",{ref_key:"noise",ref:i,class:"size-full",filter:"url(#noise)",opacity:"0.15"},null,512)]))]),createVNode(unref(_sfc_main$b),{onIsLocked:n}),createBaseVNode("main",_hoisted_4,[createVNode(unref(_sfc_main$7)),createBaseVNode("div",_hoisted_5,[createVNode(unref(_sfc_main$6)),createVNode(unref(_sfc_main$c)),createVNode(unref(_sfc_main$5))]),createVNode(unref(_sfc_main$4)),createVNode(unref(_sfc_main$3)),createVNode(unref(_sfc_main$1))]),createVNode(unref(_sfc_main$8))],64))}});function clamp(o,e,r){return Math.max(o,Math.min(e,r))}class Animate{constructor(){this.isRunning=!1,this.value=0,this.from=0,this.to=0,this.duration=0,this.currentTime=0}advance(e){var r;if(!this.isRunning)return;let i=!1;if(this.duration&&this.easing){this.currentTime+=e;const M=clamp(0,this.currentTime/this.duration,1);i=M>=1;const n=i?1:this.easing(M);this.value=this.from+(this.to-this.from)*n}else this.lerp?(this.value=function(n,b,s,a){return function(c,l,O){return(1-O)*c+O*l}(n,b,1-Math.exp(-s*a))}(this.value,this.to,60*this.lerp,e),Math.round(this.value)===this.to&&(this.value=this.to,i=!0)):(this.value=this.to,i=!0);i&&this.stop(),(r=this.onUpdate)===null||r===void 0||r.call(this,this.value,i)}stop(){this.isRunning=!1}fromTo(e,r,{lerp:i,duration:M,easing:n,onStart:b,onUpdate:s}){this.from=this.value=e,this.to=r,this.lerp=i,this.duration=M,this.easing=n,this.currentTime=0,this.isRunning=!0,b==null||b(),this.onUpdate=s}}class Dimensions{constructor({wrapper:e,content:r,autoResize:i=!0,debounce:M=250}={}){this.width=0,this.height=0,this.scrollWidth=0,this.scrollHeight=0,this.resize=()=>{this.onWrapperResize(),this.onContentResize()},this.onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):this.wrapper instanceof HTMLElement&&(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)},this.onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):this.wrapper instanceof HTMLElement&&(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)},this.wrapper=e,this.content=r,i&&(this.debouncedResize=function(b,s){let a;return function(){let z=arguments,c=this;clearTimeout(a),a=setTimeout(function(){b.apply(c,z)},s)}}(this.resize,M),this.wrapper===window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){var e,r;(e=this.wrapperResizeObserver)===null||e===void 0||e.disconnect(),(r=this.contentResizeObserver)===null||r===void 0||r.disconnect(),window.removeEventListener("resize",this.debouncedResize,!1)}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={}}emit(e,...r){let i=this.events[e]||[];for(let M=0,n=i.length;M {var M;this.events[e]=(M=this.events[e])===null||M===void 0?void 0:M.filter(n=>r!==n)}}off(e,r){var i;this.events[e]=(i=this.events[e])===null||i===void 0?void 0:i.filter(M=>r!==M)}destroy(){this.events={}}}const t=100/6;class VirtualScroll{constructor(e,{wheelMultiplier:r=1,touchMultiplier:i=1}){this.lastDelta={x:0,y:0},this.windowWidth=0,this.windowHeight=0,this.onTouchStart=M=>{const{clientX:n,clientY:b}=M.targetTouches?M.targetTouches[0]:M;this.touchStart.x=n,this.touchStart.y=b,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:M})},this.onTouchMove=M=>{var n,b,s,a;const{clientX:z,clientY:c}=M.targetTouches?M.targetTouches[0]:M,l=-(z-((b=(n=this.touchStart)===null||n===void 0?void 0:n.x)!==null&&b!==void 0?b:0))*this.touchMultiplier,O=-(c-((a=(s=this.touchStart)===null||s===void 0?void 0:s.y)!==null&&a!==void 0?a:0))*this.touchMultiplier;this.touchStart.x=z,this.touchStart.y=c,this.lastDelta={x:l,y:O},this.emitter.emit("scroll",{deltaX:l,deltaY:O,event:M})},this.onTouchEnd=M=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:M})},this.onWheel=M=>{let{deltaX:n,deltaY:b,deltaMode:s}=M;n*=s===1?t:s===2?this.windowWidth:1,b*=s===1?t:s===2?this.windowHeight:1,n*=this.wheelMultiplier,b*=this.wheelMultiplier,this.emitter.emit("scroll",{deltaX:n,deltaY:b,event:M})},this.onWindowResize=()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight},this.element=e,this.wheelMultiplier=r,this.touchMultiplier=i,this.touchStart={x:null,y:null},this.emitter=new Emitter,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,{passive:!1}),this.element.addEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.addEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.addEventListener("touchend",this.onTouchEnd,{passive:!1})}on(e,r){return this.emitter.on(e,r)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel),this.element.removeEventListener("touchstart",this.onTouchStart),this.element.removeEventListener("touchmove",this.onTouchMove),this.element.removeEventListener("touchend",this.onTouchEnd)}}class Lenis{constructor({wrapper:e=window,content:r=document.documentElement,wheelEventsTarget:i=e,eventsTarget:M=i,smoothWheel:n=!0,syncTouch:b=!1,syncTouchLerp:s=.075,touchInertiaMultiplier:a=35,duration:z,easing:c=R=>Math.min(1,1.001-Math.pow(2,-10*R)),lerp:l=.1,infinite:O=!1,orientation:d="vertical",gestureOrientation:f="vertical",touchMultiplier:A=1,wheelMultiplier:g=1,autoResize:q=!0,prevent:W,virtualScroll:u,__experimental__naiveDimensions:m=!1}={}){this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.userData={},this.lastVelocity=0,this.velocity=0,this.direction=0,this.onPointerDown=R=>{R.button===1&&this.reset()},this.onVirtualScroll=R=>{if(typeof this.options.virtualScroll=="function"&&this.options.virtualScroll(R)===!1)return;const{deltaX:L,deltaY:N,event:x}=R;if(this.emitter.emit("virtual-scroll",{deltaX:L,deltaY:N,event:x}),x.ctrlKey)return;const C=x.type.includes("touch"),$=x.type.includes("wheel");if(this.isTouching=x.type==="touchstart"||x.type==="touchmove",this.options.syncTouch&&C&&x.type==="touchstart"&&!this.isStopped&&!this.isLocked)return void this.reset();const G=L===0&&N===0,D=this.options.gestureOrientation==="vertical"&&N===0||this.options.gestureOrientation==="horizontal"&&L===0;if(G||D)return;let U=x.composedPath();U=U.slice(0,U.indexOf(this.rootElement));const K=this.options.prevent;if(U.find(_=>{var B,k,F,Z,t0;return _ instanceof Element&&(typeof K=="function"&&(K==null?void 0:K(_))||((B=_.hasAttribute)===null||B===void 0?void 0:B.call(_,"data-lenis-prevent"))||C&&((k=_.hasAttribute)===null||k===void 0?void 0:k.call(_,"data-lenis-prevent-touch"))||$&&((F=_.hasAttribute)===null||F===void 0?void 0:F.call(_,"data-lenis-prevent-wheel"))||((Z=_.classList)===null||Z===void 0?void 0:Z.contains("lenis"))&&!(!((t0=_.classList)===null||t0===void 0)&&t0.contains("lenis-stopped")))}))return;if(this.isStopped||this.isLocked)return void x.preventDefault();if(!(this.options.syncTouch&&C||this.options.smoothWheel&&$))return this.isScrolling="native",void this.animate.stop();x.preventDefault();let V=N;this.options.gestureOrientation==="both"?V=Math.abs(N)>Math.abs(L)?N:L:this.options.gestureOrientation==="horizontal"&&(V=L);const S=C&&this.options.syncTouch,P=C&&x.type==="touchend"&&Math.abs(V)>5;P&&(V=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+V,Object.assign({programmatic:!1},S?{lerp:P?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}))},this.onNativeScroll=()=>{if(clearTimeout(this.__resetVelocityTimeout),delete this.__resetVelocityTimeout,this.__preventNextNativeScrollEvent)delete this.__preventNextNativeScrollEvent;else if(this.isScrolling===!1||this.isScrolling==="native"){const R=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-R,this.direction=Math.sign(this.animatedScroll-R),this.isScrolling="native",this.emit(),this.velocity!==0&&(this.__resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}},window.lenisVersion="1.1.9",e&&e!==document.documentElement&&e!==document.body||(e=window),this.options={wrapper:e,content:r,wheelEventsTarget:i,eventsTarget:M,smoothWheel:n,syncTouch:b,syncTouchLerp:s,touchInertiaMultiplier:a,duration:z,easing:c,lerp:l,infinite:O,gestureOrientation:f,orientation:d,touchMultiplier:A,wheelMultiplier:g,autoResize:q,prevent:W,virtualScroll:u,__experimental__naiveDimensions:m},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:e,content:r,autoResize:q}),this.updateClassName(),this.userData={},this.time=0,this.velocity=this.lastVelocity=0,this.isLocked=!1,this.isStopped=!1,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll=new VirtualScroll(M,{touchMultiplier:A,wheelMultiplier:g}),this.virtualScroll.on("scroll",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName()}on(e,r){return this.emitter.on(e,r)}off(e,r){return this.emitter.off(e,r)}setScroll(e){this.isHorizontal?this.rootElement.scrollLeft=e:this.rootElement.scrollTop=e}resize(){this.dimensions.resize()}emit(){this.emitter.emit("scroll",this)}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.isStopped=!1,this.reset())}stop(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset())}raf(e){const r=e-(this.time||e);this.time=e,this.animate.advance(.001*r)}scrollTo(e,{offset:r=0,immediate:i=!1,lock:M=!1,duration:n=this.options.duration,easing:b=this.options.easing,lerp:s=this.options.lerp,onStart:a,onComplete:z,force:c=!1,programmatic:l=!0,userData:O={}}={}){if(!this.isStopped&&!this.isLocked||c){if(typeof e=="string"&&["top","left","start"].includes(e))e=0;else if(typeof e=="string"&&["bottom","right","end"].includes(e))e=this.limit;else{let d;if(typeof e=="string"?d=document.querySelector(e):e instanceof HTMLElement&&(e!=null&&e.nodeType)&&(d=e),d){if(this.options.wrapper!==window){const A=this.rootElement.getBoundingClientRect();r-=this.isHorizontal?A.left:A.top}const f=d.getBoundingClientRect();e=(this.isHorizontal?f.left:f.top)+this.animatedScroll}}if(typeof e=="number"&&(e+=r,e=Math.round(e),this.options.infinite?l&&(this.targetScroll=this.animatedScroll=this.scroll):e=clamp(0,e,this.limit),e!==this.targetScroll)){if(this.userData=O,i)return this.animatedScroll=this.targetScroll=e,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),z==null||z(this),void(this.userData={});l||(this.targetScroll=e),this.animate.fromTo(this.animatedScroll,e,{duration:n,easing:b,lerp:s,onStart:()=>{M&&(this.isLocked=!0),this.isScrolling="smooth",a==null||a(this)},onUpdate:(d,f)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=d-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=d,this.setScroll(this.scroll),l&&(this.targetScroll=d),f||this.emit(),f&&(this.reset(),this.emit(),z==null||z(this),this.userData={},this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this.__preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{delete this.__preventNextNativeScrollEvent})}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return this.options.orientation==="horizontal"}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?function(r,i){return(r%i+i)%i}(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return this.limit===0?1:this.scroll/this.limit}get isScrolling(){return this.__isScrolling}set isScrolling(e){this.__isScrolling!==e&&(this.__isScrolling=e,this.updateClassName())}get isStopped(){return this.__isStopped}set isStopped(e){this.__isStopped!==e&&(this.__isStopped=e,this.updateClassName())}get isLocked(){return this.__isLocked}set isLocked(e){this.__isLocked!==e&&(this.__isLocked=e,this.updateClassName())}get isSmooth(){return this.isScrolling==="smooth"}get className(){let e="lenis";return this.isStopped&&(e+=" lenis-stopped"),this.isLocked&&(e+=" lenis-locked"),this.isScrolling&&(e+=" lenis-scrolling"),this.isScrolling==="smooth"&&(e+=" lenis-smooth"),e}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\w+)?/g,"").trim()}}const lenis=new Lenis;function raf(o){lenis.raf(o),requestAnimationFrame(raf)}const app=createApp(_sfc_main);app.mount("#app")});export default A1(); diff --git a/assets/mohammad-skCswi5u.webp b/assets/mohammad-skCswi5u.webp new file mode 100644 index 0000000..d980a9e Binary files /dev/null and b/assets/mohammad-skCswi5u.webp differ diff --git a/assets/profile-dtKvApsu.webp b/assets/profile-dtKvApsu.webp new file mode 100644 index 0000000..ce0a8c0 Binary files /dev/null and b/assets/profile-dtKvApsu.webp differ diff --git a/assets/profile2-rDkPz9mY.webp b/assets/profile2-rDkPz9mY.webp new file mode 100644 index 0000000..11ca963 Binary files /dev/null and b/assets/profile2-rDkPz9mY.webp differ diff --git a/assets/work1-c0znq8EJ.webm b/assets/work1-c0znq8EJ.webm new file mode 100644 index 0000000..05c1105 Binary files /dev/null and b/assets/work1-c0znq8EJ.webm differ diff --git a/assets/work2-CBVasVIR.webm b/assets/work2-CBVasVIR.webm new file mode 100644 index 0000000..be07625 Binary files /dev/null and b/assets/work2-CBVasVIR.webm differ diff --git a/assets/work3-L6X9I4cA.webm b/assets/work3-L6X9I4cA.webm new file mode 100644 index 0000000..1bb7789 Binary files /dev/null and b/assets/work3-L6X9I4cA.webm differ diff --git a/assets/work4-Dtixe7ZQ.webm b/assets/work4-Dtixe7ZQ.webm new file mode 100644 index 0000000..4d7a0c1 Binary files /dev/null and b/assets/work4-Dtixe7ZQ.webm differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..edd39f8 Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..ef536d7 --- /dev/null +++ b/index.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ebraheem Alhetari - Full-Stack Developer + + + + + + + + + + + diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..b2b13f9 --- /dev/null +++ b/logo.svg @@ -0,0 +1,3 @@ + diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..9973a47 --- /dev/null +++ b/manifest.json @@ -0,0 +1,18 @@ +{ + "name": "Ebraheem Alhetari Portfolio", + "short_name": "Ebraheem Alhetari Portfolio", + "icons": [ + { + "src": "/apple-touch-icon-180x180.png", + "sizes": "180x180", + "type": "image/png" + }, + { + "src": "/apple-touch-icon-152x152.png", + "sizes": "152x152", + "type": "image/png" + } + ], + "start_url": "/portfolio/", + "display": "standalone" +} \ No newline at end of file diff --git a/og-pic.webp b/og-pic.webp new file mode 100644 index 0000000..b17c0c6 Binary files /dev/null and b/og-pic.webp differ diff --git a/profile.webp b/profile.webp new file mode 100644 index 0000000..ce0a8c0 Binary files /dev/null and b/profile.webp differ diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..f547108 --- /dev/null +++ b/robots.txt @@ -0,0 +1,6 @@ +User-agent: * +Disallow: /private/ +Allow: / + +# Specify the location of your sitemap if you have one +Sitemap: https://hetari.github.io/portfolio/ diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..e8c11cc --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +\ No newline at end of file https://hetari.github.io/portfolio/ 2024-09-07T13:52:28.033Z daily 1.0