particles.min.js
29.9 KB
!function(){"use strict";if(window.SR7??={},window._tpt??={},SR7.A??={},SR7.F??={},SR7.D??={},void 0!==SR7.A.particles)return;SR7.A.particles={style:"",getLayerBasics:(e={},s)=>SR7.A.particles.getDefaults(e,s),getModuleBasics:(e={},s)=>SR7.A.particles.getDefaults(e,s,!0),getDefaults:(e={},s,t)=>{let a=void 0!==e.max,i=void 0!==e.particles;if(!a&&!i&&t)return{u:!0};const l={u:"compare"==s?void 0:e.u??e.enable??!1,z:e.z??(a?99999:e.zIndex??e?.styles?.particle?.zIndex??0),fb:e.fb??e.fback??!1,hm:e.hm??e.hideOnMobile??!1,ss:e.startSlide??"first",es:e.endSlide??"last",particles:{sh:e.particles?.sh??e.particles?.shape??"circle",n:e.particles?.n??parseInt(e.particles?.number??(a?e.max?.number??400:80)),s:e.particles?.s??parseFloat(e.particles?.size??e.max?.size??6),sm:e.particles?.sm??parseFloat(e.particles?.sizeMin??e.min?.size??1),r:e.particles?.r??e.particles?.random??!0,c:e.particles?.c??e.styles?.particle?.color??"#ffffff",oc:e.particles?.oc??e.styles?.particle?.ocolor??!1,o:e.particles?.o??parseFloat(e.styles?.particle?.opacity??(a?100*(e.max?.opacity??1):100)),om:e.particles?.om??parseFloat(e.styles?.particle?.opacityMin??(a?100*(e.min?.opacity??.3):25)),or:e.particles?.or??e.styles?.particle?.opacityRandom??!!a,b:e.particles?.b??e.styles?.border?.enable??!1,bc:e.particles?.bc??e.styles?.border?.color??"#ffffff",bo:e.particles?.bo??parseFloat(e.styles?.border?.opacity??100),bs:e.particles?.bs??parseFloat(e.styles?.border?.size??1),l:e.particles?.l??e.styles?.lines?.enable??!1,lc:e.particles?.lc??e.styles?.lines?.color??"#ffffff",lw:e.particles?.lw??parseFloat(e.styles?.lines?.width??1),lo:e.particles?.lo??parseFloat(e.styles?.lines?.opacity??100),ld:e.particles?.ld??parseFloat(e.styles?.lines?.distance??150)},move:{e:e.move?.e??e.movement?.enable??!0,rs:e.move?.rs??e.movement?.randomSpeed??!0,s:e.move?.s??parseFloat(e.movement?.speed??(a?(e.max?.speed??100)/50:1)),sm:e.move?.sm??parseFloat(e.movement?.speedMin??(a?(e.min?.speed??30)/50:1)),d:e.move?.d??e.movement?.direction??"bottom",ve:e.move?.ve??e.movement?.vortexEffect??"none",v:e.move?.v??e.movement?.straight??!0,b:e.move?.b??e.movement?.bounce??!1,a:e.move?.a??e.movement?.attract?.enable??!1},interact:{h:e.interact?.h??e.interactivity?.hoverMode??"none",c:e.interact?.c??e.interactivity?.clickMode??"none",bd:e.interact?.bd??parseFloat(e.bubble?.distance??400),bs:e.interact?.bs??parseFloat(e.bubble?.size??40),bo:e.interact?.bo??parseFloat(e.bubble?.opacity??40),gd:e.interact?.gd??parseFloat(e.grab?.distance??400),go:e.interact?.go??parseFloat(e.grab?.opacity??50),rd:e.interact?.rd??parseFloat(e.repulse?.distance??200),re:e.interact?.re??parseFloat(e.repulse?.easing??100),af:e.interact?.af??parseFloat(e?.attract?.force??10),ad:e.interact?.ad??parseFloat(e?.attract?.distance??200),gc:e.interact?.gc??e?.grab?.crawl??!1,gm:e.interact?.gm??e?.grab?.crawlMaxLines??5},pulse:{se:e.pulse?.se??e.pulse?.size?.enable??!1,ss:e.pulse?.ss??parseFloat(e.pulse?.size?.speed??40),sm:e.pulse?.sm??parseFloat(e.pulse?.size?.min??1),ssy:e.pulse?.ssy??e.pulse?.size?.sync??!1,oe:e.pulse?.oe??e.pulse?.opacity?.enable??!1,os:e.pulse?.os??parseFloat(e.pulse?.opacity?.speed??3),om:e.pulse?.om??parseFloat(e.pulse?.opacity?.min??1),osy:e.pulse?.osy??e.pulse?.opacity?.sync??!1},physics:{g:e.physics?.g??parseFloat(e.physics?.gravity??(a?10:0)),gm:e.physics?.gm??parseFloat(e.physics?.gravityMin??(a?10:0)),gd:e.physics?.gd??e.physics?.gravityDir??"bottom",sp:e.physics?.sp??e.physics?.spawn??a,dc:e.physics?.dc??e.physics?.decay??a,d:e.physics?.d??parseFloat(e.physics?.damping??70),hd:e.physics?.hd??parseFloat(e.physics?.hDrift??(a?10:0)),vd:e.physics?.vd??parseFloat(e.physics?.vDrift??0)}};return l.particles.s=l.particles.s<1?1:l.particles.s,l},prepareLayer:async(e,s,t)=>{if(""+(SR7.M[e].settings?.addOns?.particles?.u??!1)=="false")return;if(!s.addOns?.particles?.u)return;const{c:a}=SR7.F.getLayer(t);a.addOns??={},a.addOns.particles??={settings:SR7.A.particles.getLayerBasics(s.addOns.particles,"normalize")}},init:s=>{const a=SR7.M[s];if(!a.settings.addOns.particles.u)return;const i=SR7.A.particles;void 0===SR7.A.particlescss&&(_tpt.injectCssJs(SR7.A.particles.style,void 0,void 0,"particles_global_styles"),SR7.A.particlescss=!0),SR7.M[s].c.moduleListeners??={},SR7.M[s].c.moduleListeners.particles??={},SR7.A.particles.listeners.init(s),a.addOns??={},new Promise((function(e,s){t(e,s)})).then((function(){if(!a.settings.addOns.particles?.particles)return;let t=a.addOns.particles={settings:a.settings.addOns.particles,module:!0};e(t,a.c.module,a),SR7.A.particles.onFire??={},SR7.A.particles.onFire[s]??={},SR7.A.particles.onFire[s][s]=a}));const l=[];return null==i.pjs&&l.push("pjs"),l},start:(t,a,i)=>{let l=a.addOns.particles;e(l,a.el,a),"slidebg"==i&&SR7.M[t].c.slides[a.skey].appendChild(l.easel.canvas),s(a,!0),l.animate?._time==l.animate?._dur&&(l.animate=_tpt.gsap.fromTo(l.easel.canvas,{opacity:0},{opacity:1,delay:.5,duration:1})),l.easel.canvas.style.display="block",SR7.A.particles.onFire[t][a.el.id]=a},stop:(e,s)=>{let t=s.addOns.particles;t.animate=_tpt.gsap.fromTo(t.easel.canvas,{opacity:1},{opacity:0}),delete SR7.A.particles.onFire[e][s.el.id]},listeners:{init:e=>{const s=SR7.M[e];let t=SR7.A.particles;s.c.addOns??={};let a=s.c.addOns.particles??{};t.onFire??={},t.onFire[e]??={},t.listenersAdded?.[e]||(a.mouseEnter=a.mouseEnter??SR7.F.module.listeners.reg(e,"mouseenter",((e,s)=>t.mouse.enter(e,s))),a.mouseMove=a.mouseMove??SR7.F.module.listeners.reg(e,"mousemove",((e,s)=>t.mouse.move(e,s))),a.mouseLeave=a.mouseLeave??SR7.F.module.listeners.reg(e,"mouseleave",((e,s)=>t.mouse.leave(e,s))),a.mouseDown=a.mouseDown??SR7.F.module.listeners.reg(e,"mousedown",((e,s)=>t.mouse.down(e,s))),a.mouseUp=a.mouseUp??SR7.F.module.listeners.reg(e,"mouseup",((e,s)=>t.mouse.up(e,s))),_tpt.resizeObserver.observe((e=>{t.resize(e)}),50,e),document.addEventListener("sr.layer.action",(function(e){SR7.M[e.id];if(!e.c?.addOns?.particles)return;e.c.addOns.particles;"enteredstage"==e.eventtype?t.start(e.id,e.c,e.layersettings.subtype):"leavestage"==e.eventtype&&t.stop(e.id,e.c,!0)})),t.listenersAdded??={},t.listenersAdded[e]=!0)}},resize:e=>{SR7.A.particles.onFire&&requestAnimationFrame((()=>{const t=SR7.M[e].c.addOns.particles;for(let a in SR7.A.particles.onFire[e])if(_tpt.hop(SR7.A.particles.onFire[e],a)){const i=SR7.M[e].c.layers[a].addOns.particles;s(SR7.A.particles.onFire[e][a]);const l=i.easel.canvas.getBoundingClientRect();let r=t.mouse.xp*l.width,n=t.mouse.yp*l.height;t.mouse.x=r-l.left,t.mouse.y=n-l.top,i.pjs.updateMouse({x:t.mouse.x,y:t.mouse.y,type:"move"})}}))},mouse:{enter:(e,s)=>{SR7.A.particles.mouse.defaultHandler(e,s,"enter")},move:(e,s)=>{SR7.A.particles.mouse.defaultHandler(e,s,"move")},leave:(e,s)=>{SR7.A.particles.mouse.defaultHandler(e,s,"left")},down:(e,s)=>{SR7.A.particles.mouse.defaultHandler(e,s,"mousedown")},up:(e,s)=>{SR7.A.particles.mouse.defaultHandler(e,s,"mouseup")},defaultHandler:(e,s,t)=>{const a=SR7.M[e];a.c.addOns??={},a.c.addOns.particles??={},a.c.addOns.particles.mouse??={};const i=a.c.addOns.particles;for(var e in i.mouse.type=t,SR7.M){const a=SR7.M[e];if(a.states.inViewPort)for(var l in a.c.layers){if(!a.c.layers[l].addOns?.particles)continue;const e=a.c.layers[l].addOns.particles;if(!e.easel||!e.pjs)continue;const r=e.easel.canvas.getBoundingClientRect();i.mouse.xp=s.clientX/r.width,i.mouse.yp=s.clientY/r.height,i.mouse.x=s.clientX-r.left,i.mouse.y=s.clientY-r.top,e.pjs.updateMouse({x:i.mouse.x,y:i.mouse.y,type:t})}}}}};const e=(e,t,a)=>{e.pjs&&e.easel?.canvas||(e.pjs&&e.pjs.destroy&&e.pjs.destroy(),e.easel&&e.easel.canvas&&e.easel.canvas.remove(),e.easel=new SR7.F.canvas({wrap:t,width:"100%",height:"100%",color:"transparent",ctx:"2d"}),e.easel.canvas.style.display="block",e.easel.canvas.style.position="absolute",e.easel.canvas.style.width=e.module?a.dims.content.w-_tpt.scrollBarW+"px":"100%",e.easel.canvas.style.height=e.module?a.dims.content.h+"px":"100%",e.easel.canvas.style.top=0,e.easel.canvas.style.left=e.module?-a.dims.moduleRect.left+"px":0,e.easel.canvas.style.pointerEvents="none",e.easel.canvas.style.zIndex="default"===e.settings.z?0:e.settings.fb?1:e.settings.z,s(a,!0),e.pjs=new SR7.A.particle.pJS(e.easel.canvas,e.settings))},s=(e,s)=>{if(!e.addOns?.particles?.easel)return;let t=e.addOns.particles;t.easel.canvas.width=t.module?e.dims.module.w:Math.max(e.cw,e.canvas.canvas.width),t.easel.canvas.height=t.module?e.dims.module.h:Math.max(e.ch,e.canvas.canvas.height),t.easel.ctx.scale(_tpt.dpr,_tpt.dpr),!t.pjs||s&&t.easel.canvas.width==t.pjs.getW()||t.pjs.resize()};function t(e,s){_tpt?.R?.pjs&&SR7.A?.particle?.pJS?e():_tpt.gsap.delayedCall(.5,(function(){t(e,s)}))}_tpt.R??={},_tpt.R.particles=_tpt.extend?_tpt.extend(_tpt.R.particles,{status:2,version:"1.0"}):{status:2,version:"1.0"},window.dispatchEvent(new CustomEvent("SR7ParticlesReady"))}();
!function(){"use strict";window.SR7??={},window._tpt??={},SR7.A??={},SR7.F??={},SR7.D??={},void 0===(SR7.A.particlewave?.anim??void 0)&&(SR7.A.particle={...SR7.A.particle,pJS:function(t,s){this.s=s,this.n=s.particles.n,this.getSVGList(),this.w=t.width,this.h=t.height,this.ctx=t.getContext("2d"),this.canvas=t,this.setDefaults(),this.lc=this.s.particles.lc.split(","),this.c=this.s.particles.c.split(","),this.bc=this.s.particles.bc.split(","),this.sh=this.convertSvgs(),this.resize()},nParticle:function(t){if(this.s=t,this.r=this.s.particles.r?Math.min(this.s.particles.s,this.s.particles.s*Math.random()+this.s.particles.sm):this.s.particles.s,this.g=_tpt.gsap.utils.mapRange(this.s.particles.sm,this.s.particles.s,this.s.physics.gm,this.s.physics.g,this.r),this.x=Math.random()*this.s.w,this.y=Math.random()*this.s.h,0!==this.s.physics.g&&this.s.physics.sp)switch(this.s.physics.gd){case"top":this.y=Math.random()*this.s.h+this.s.h;break;case"bottom":this.y=-Math.random()*this.s.h;break;case"left":this.x=Math.random()*this.s.w+this.s.w;break;case"right":this.y=-Math.random()*this.s.w}this.spawning=this.s.physics.sp,this.s.move.d.includes("vortex")&&("expand"===this.s.move.ve?this.x=this.y=0:"shrink"===this.s.move.ve&&(this.x=this.y=Math.max(this.s.w,this.s.h)/2)),this.img=this.s.particles.img;var s=this.s.move.s,i=this.s.move.sm;this.angle=(Math.random()-.5)*Math.PI*2,this.vAngle="vortexcw"===this.s.move.d?.08:"vortexccw"===this.s.move.d?-.08:.08*(Math.random()-.5),this.s.move.rs&&(s=Math.round(Math.random()*(s-i)+i))<1&&(s=1),this.spd=s,this.s.pulse.se&&(this.size_status=!1,this.psv=this.s.pulse.ss/100,this.s.pulse.ssy||(this.psv=this.psv*Math.random()));var h=this.s.particles.om,e=Math.max(this.s.particles.o*(this.s.particles.or?Math.random():1),h);switch(this.s.pulse.or&&(e=Math.random()*(e-h)+h),this.o=this.opc=e,this.s.pulse.oe&&(this.opacity_status=!1,this.pulseSpeed=this.s.pulse.os,this.s.pulse.osy||(this.pulseSpeed=this.pulseSpeed*Math.random())),this.setUtils(),this.vx=this.vy=0,this.s.move.d){case"top":this.vy=-1;break;case"bottom":this.vy=1;break;case"left":this.vx=-1;break;case"right":this.vx=1;break;case"top-left":this.vx=-.5,this.vy=-.5;break;case"top-right":this.vx=.5,this.vy=-.5;break;case"bottom-left":this.vx=-.5,this.vy=.5;break;case"bottom-right":this.vx=.5,this.vy=.5}("spin"===this.s.move.d||this.s.move.d.includes("vortex"))&&(this.vx=0,this.vy=0),this.s.move.v&&(this.vx=this.vx+Math.random()-.5,this.vy=this.vy+Math.random()-.5),this.ovx=this.vx,this.ovy=this.vy}},SR7.A.particle.pJS.prototype.setDefaults=function(){this.repulseClamp=_tpt.gsap.utils.clamp(0,50),this.clamp01=_tpt.gsap.utils.clamp(0,1),this.size=2*this.s.particles.s,this.sizeMin=2*this.s.particles.sm,this.sizeMax=Math.max(2*this.s.particles.s,this.s.interact.bs*Math.PI),this.vortex=this.s.move.d.includes("vortex")},SR7.A.particle.pJS.prototype.getW=function(){return this.w},SR7.A.particle.pJS.prototype.resize=function(){this.w=this.canvas.width,this.h=this.canvas.height,this.halfMax=Math.max(this.w,this.h)/2,this.maxDim=Math.max(this.w,this.h);let t=this.w*this.h/1e3;this.n=Math.round(t*this.s.particles.n/800),this.arr=[];for(var s=0;s<this.n;s++){var i=new SR7.A.particle.nParticle({w:this.w,h:this.h,ctx:this.ctx,move:{d:this.s.move.d,ve:this.s.move.ve,s:this.s.move.s,sm:this.s.move.sm,rs:this.s.move.rs,v:"none"===this.s.move.d||this.s.move.v},particles:{s:this.size,sm:this.sizeMin,r:this.s.particles.r,o:this.s.particles.o/100,om:this.s.particles.om/100,img:this.imgs[Math.floor(this.imgs.length*Math.random())],or:this.s.particles.or,b:this.s.particles.b,bc:this.s.particles.bc,bo:this.s.particles.bo,bs:this.s.particles.bs,l:this.s.particles.l,lc:this.lc[Math.floor(Math.random()*this.lc.length)],lw:this.s.particles.lw,lo:this.s.particles.lo/100,ld:this.s.particles.ld},pulse:{se:this.s.pulse.se,ss:this.s.pulse.ss,sm:this.s.pulse.sm,ssy:this.s.pulse.ssy,oe:this.s.pulse.oe,os:this.s.pulse.os/100,om:this.s.pulse.om/100,osy:this.s.pulse.osy},interact:{h:this.s.interact.h,c:this.s.interact.c,bd:this.s.interact.bd,bs:this.s.interact.bs,bo:this.s.interact.bo/100,gd:this.s.interact.gd,go:this.s.interact.go/100,rd:this.s.interact.rd,re:this.s.interact.re,ad:this.s.interact.ad,af:this.s.interact.af/100},physics:{g:this.s.physics.g/1e3,gm:this.s.physics.gm/1e3,gd:this.s.physics.gd,sp:this.s.physics.sp,dc:this.s.physics.dc,d:Math.min(this.s.physics.d*Math.random(),.79)+.2,hd:this.s.physics.hd/100*3,vd:this.s.physics.vd/100*3}});this.arr.push(i)}this.drawParticles(),this.animate=this.animateHandler.bind(this),void 0===this.tick&&(this.tick=requestAnimationFrame(this.animate))},SR7.A.particle.pJS.prototype.play=function(){void 0===this.tick&&(this.tick=requestAnimationFrame(this.animate))},SR7.A.particle.pJS.prototype.pause=function(){this.tick=cancelAnimationFrame(this.tick)},SR7.A.particle.pJS.prototype.animateHandler=function(t){if(void 0===t||void 0===this.time)return this.time=t,this.tick=cancelAnimationFrame(this.tick),void(void 0===this.tick&&(this.tick=requestAnimationFrame(this.animate)));this.tick=cancelAnimationFrame(this.tick),void 0===this.tick&&(this.tick=requestAnimationFrame(this.animate)),this.tDiff=Math.min((t-this.time)/16.66,5),this.time=t,this.dTime=this.dTime??0,this.mousedown?this.dTime+=.1:this.dTime-=.1,this.dTime=Math.max(0,Math.min(1,this.dTime)),this.ctx.clearRect(0,0,this.w,this.h),this.distArr&&this.distArr.length===this.n||(this.distArr=new Array(this.n)),this.s.interact.gc&&(this.lastMaxD=this.lastMaxD??0);for(var s=0;s<this.n;s++){var i=this.arr[s];if(this.s.move.e){var h=i.spd/2;if(this.s.move.d.includes("vortex")){h/=10;var e=this.w/2-i.x,a=this.h/2-i.y,r=Math.sqrt(e*e+a*a);"expand"!==this.s.move.ve&&"shrink"!==this.s.move.ve||((r*="expand"===this.s.move.ve?1.05:.95)>this.halfMax&&"expand"===this.s.move.ve?(i.angle=(Math.random()-.5)*Math.PI*2,r=0):r<=10&&"shrink"===this.s.move.ve&&(i.angle=(Math.random()-.5)*Math.PI*2,r=this.halfMax),i.r=_tpt.gsap.utils.mapRange(0,this.halfMax,0,this.size,r)),i.x=this.w/2+Math.cos(i.angle)*r,i.y=this.h/2+Math.sin(i.angle)*r,i.angle+=i.vAngle*h*this.tDiff}else"spin"===this.s.move.d&&(i.x+=Math.cos(i.angle)*h*this.tDiff,i.y+=Math.sin(i.angle)*h*this.tDiff,i.angle+=i.vAngle);"static"===this.s.move.d&&0===this.s.physics.g||(i.x+=i.vx*h*this.tDiff,i.y+=i.vy*h*this.tDiff)}if(0!==this.s.physics.g)switch(this.s.physics.gd){case"bottom":i.vy+=i.g;break;case"top":i.vy-=i.g;break;case"right":i.vx+=i.g;break;case"left":i.vx-=i.g}if(0!==i.s.physics.hd&&(i.vx+=(Math.random()-.5)*i.s.physics.hd),0!==i.s.physics.vd&&(i.vy+=(Math.random()-.5)*i.s.physics.vd),this.s.pulse.oe&&(1==i.opacity_status?(i.o>=i.opc&&(i.opacity_status=!1),i.o+=i.pulseSpeed*this.tDiff):(i.o<=i.s.pulse.om&&(i.opacity_status=!0),i.o-=i.pulseSpeed*this.tDiff),i.o<0&&(i.o=0)),this.s.pulse.se&&(1==i.size_status?(i.r>=i.s.particles.s&&(i.size_status=!1),i.r+=i.psv*this.tDiff):(i.r<=i.s.particles.sm&&(i.size_status=!0),i.r-=i.psv*this.tDiff),i.r<0&&(i.r=0)),(i.x>this.w+i.r||i.x<-i.r||i.y>this.h+i.r||i.y<-i.r)&&!i.spawning?0===this.s.physics.g||i.damped||(i.vx*=i.s.physics.d*Math.random(),i.vy*=i.s.physics.d*Math.random(),i.damped=!0):i.damped=!1,this.s.move.b?(i.x+i.r/2>this.w&&(i.vx=-Math.abs(i.vx)),i.x<i.r/2&&(i.vx=Math.abs(i.vx)),i.y+i.r/2>this.h&&(i.vy=-Math.abs(i.vy)),i.y<i.r/2&&(i.vy=Math.abs(i.vy))):this.checkBounds(i),i.s.physics.dc&&(i.scale=i.dcScale("bottom"===this.s.physics.gd||"top"===this.s.physics.gd?i.y:i.x)/i.r,i.bo=i.dcOpacity("bottom"===this.s.physics.gd||"top"===this.s.physics.gd?i.y:i.x)),void 0!==this.mx&&void 0!==this.my){let t=i.x-this.mx,h=i.y-this.my,e="left"===this.mouse?1e6:Math.sqrt(t*t+h*h);if(this.distArr[s]=e,"attract"===i.s.interact.h||"attract"===i.s.interact.c&&this.mousedown)e<i.s.interact.ad?(i.vx+=(this.mx-i.x)*i.s.interact.af/e,i.vy+=(this.my-i.y)*i.s.interact.af/e):(i.vx=0!==this.s.physics.g?i.vx:i.ovx,i.vy=0!==this.s.physics.g?i.vy:i.ovy);else if("repulse"===i.s.interact.h&&"spin"===i.s.move.d&&e<i.s.interact.rd){const s=Math.atan2(h,t);i.x+=Math.cos(s)*i.spd/2,i.y+=Math.sin(s)*i.spd/2}else if("repulse"===i.s.interact.h&&e<i.s.interact.rd){let s,a,r,c=t/e,l=h/e,o=i.s.interact.rd,p=100,n=this.repulseClamp(1/o*(-1*Math.pow(e/o,2)+1)*o*p);0!==i.s.interact.re?(r=i.s.interact.re/16,s=i.x+(i.x+c*n-i.x)/r,a=i.y+(i.y+l*n-i.y)/r):(s=i.x+c*n,a=i.y+c*n),i.s.move.b?(i.x=s,i.y=a):(s-i.r>0&&s+i.r<this.w&&(i.x=s),a-i.r>0&&a+i.r<this.h&&(i.y=a))}if("bubble"!==i.s.interact.h&&"bubbles"!==i.s.interact.h&&("bubble"!==i.s.interact.c&&"bubble"!==i.s.interact.h||!this.mousedown&&-1===this.dTime)||(e<i.s.interact.bd?(i.scale=i.mapScale(e)/i.r,i.bo=i.mapOpacity(e),"bubble"===i.s.interact.c&&(i.scale=_tpt.gsap.utils.mapRange(0,1,1,i.scale,this.dTime),i.bo=_tpt.gsap.utils.mapRange(0,1,i.o,i.bo,this.dTime))):(i.scale=1,i.bo=i.o)),("grab"===i.s.interact.h||"grab"===i.s.interact.c&&this.mousedown)&&(this.s.interact.gc&&e<this.lastMaxD||!this.s.interact.gc&&e<i.s.interact.gd||i.ga)){let s=this.ctx,a=Math.atan2(h,t);i.gp=i.gp??0,this.s.interact.gc&&e<this.lastMaxD?i.gp+=.1:i.gp-=.1,i.a&&(i.gp=_tpt.gsap.utils.mapRange(0,1,0,i.gp,this.dTime)),i.gp=this.s.interact.gc?this.clamp01(i.gp):1,i.gp<=0?i.ga=!1:i.ga=!!this.s.interact.gc;let r=e*i.gp*Math.cos(a),c=e*i.gp*Math.sin(a);i.go=i.mapGrabOpacity(Math.min(1,e/i.s.interact.gd)),s.globalAlpha=i.go,s.beginPath(),s.moveTo(this.mx,this.my),s.lineTo(this.mx+r,this.my+c),s.strokeStyle=i.s.particles.lc,s.lineWidth=i.s.particles.lw,s.stroke(),s.closePath(),s.globalAlpha=1}}if(i.s.particles.l)for(var c=s+1;c<this.n;c++){var l=this.arr[c];i.linkParticles(l)}}this.s.interact.gc&&(this.lastMaxD=Math.min(i.s.interact.gd,this.distArr.sort(SR7.F.cSort)[this.s.interact.gm])),this.drawParticles()},SR7.A.particle.pJS.prototype.checkBounds=function(t){const s=this.vortex?this.maxDim:this.w,i=this.vortex?this.maxDim:this.h;t.x>s+t.r||t.x<-t.r||t.y>i+t.r||t.y<-t.r||!t.spawning?t.spawning||(t.x>s+t.r?(t.x=-t.r,t.y=Math.random()*i):t.x<-t.r&&(t.x=s+t.r,t.y=Math.random()*i),t.y>i+t.r?(t.x=Math.random()*s,t.y=-t.r):t.y<-t.r&&(t.x=Math.random()*s,t.y=i+t.r)):t.spawning=!1},SR7.A.particle.pJS.prototype.destroy=function(){this.tick=cancelAnimationFrame(this.tick),this.arr&&(this.arr.length=0),this.ctx.canvas.remove()},SR7.A.particle.pJS.prototype.drawParticles=function(){for(var t=0;t<this.n;t++){this.arr[t].draw()}},SR7.A.particle.pJS.prototype.updateMouse=function(t){this.mx=t.x,this.my=t.y,this.mouse=t.type,"mousedown"===t.type?this.mousedown=!0:"mouseup"===t.type&&(this.mousedown=!1)},SR7.A.particle.pJS.prototype.getSVGList=function(){this.svgList={edge:"M4 4h16v16H4z",triangle:"M12 6L4 20L20 20z",polygon:"M17 4 L22 12 L17 20 L8 20 L3 12 L8 4 Z",star:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z",heart_1:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z",star_2:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm4.24 16L12 15.45 7.77 18l1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.73 3.23L16.23 18z",settings:"M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z",arrow_1:"M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z",bullseye:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z",plus_1:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z",triangle_2:"M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 4z",smilie:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z",star_3:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z",heart_2:"M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z",plus_2:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",close:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",arrow_2:"M22 12l-4-4v3H3v2h15v3z",dollar:"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z",sun_1:"M6.76 4.84l-1.8-1.79-1.41 1.41 1.79 1.79 1.42-1.41zM4 10.5H1v2h3v-2zm9-9.95h-2V3.5h2V.55zm7.45 3.91l-1.41-1.41-1.79 1.79 1.41 1.41 1.79-1.79zm-3.21 13.7l1.79 1.8 1.41-1.41-1.8-1.79-1.4 1.4zM20 10.5v2h3v-2h-3zm-8-5c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm-1 16.95h2V19.5h-2v2.95zm-7.45-3.91l1.41 1.41 1.79-1.8-1.41-1.41-1.79 1.8z",sun_2:"M7 11H1v2h6v-2zm2.17-3.24L7.05 5.64 5.64 7.05l2.12 2.12 1.41-1.41zM13 1h-2v6h2V1zm5.36 6.05l-1.41-1.41-2.12 2.12 1.41 1.41 2.12-2.12zM17 11v2h6v-2h-6zm-5-2c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zm2.83 7.24l2.12 2.12 1.41-1.41-2.12-2.12-1.41 1.41zm-9.19.71l1.41 1.41 2.12-2.12-1.41-1.41-2.12 2.12zM11 23h2v-6h-2v6z",snowflake:"M22 11h-4.17l3.24-3.24-1.41-1.42L15 11h-2V9l4.66-4.66-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93 6.34 4.34 11 9v2H9L4.34 6.34 2.93 7.76 6.17 11H2v2h4.17l-3.24 3.24 1.41 1.42L9 13h2v2l-4.66 4.66 1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24 1.42-1.41L13 15v-2h2l4.66 4.66 1.41-1.42L17.83 13H22z",party:"M4.59 6.89c.7-.71 1.4-1.35 1.71-1.22.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1H21v-2.5h-2.47c-.15-1.65-1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-.68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3 5.12 3 3.97 4 3.72 4.25c-.36.36-.66.66-.88.93l1.75 1.71zm9.29 11.66c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-2.13 3.48z",flower_1:"M18.7 12.4c-.28-.16-.57-.29-.86-.4.29-.11.58-.24.86-.4 1.92-1.11 2.99-3.12 3-5.19-1.79-1.03-4.07-1.11-6 0-.28.16-.54.35-.78.54.05-.31.08-.63.08-.95 0-2.22-1.21-4.15-3-5.19C10.21 1.85 9 3.78 9 6c0 .32.03.64.08.95-.24-.2-.5-.39-.78-.55-1.92-1.11-4.2-1.03-6 0 0 2.07 1.07 4.08 3 5.19.28.16.57.29.86.4-.29.11-.58.24-.86.4-1.92 1.11-2.99 3.12-3 5.19 1.79 1.03 4.07 1.11 6 0 .28-.16.54-.35.78-.54-.05.32-.08.64-.08.96 0 2.22 1.21 4.15 3 5.19 1.79-1.04 3-2.97 3-5.19 0-.32-.03-.64-.08-.95.24.2.5.38.78.54 1.92 1.11 4.2 1.03 6 0-.01-2.07-1.08-4.08-3-5.19zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z",flower_2:"M12 22c4.97 0 9-4.03 9-9-4.97 0-9 4.03-9 9zM5.6 10.25c0 1.38 1.12 2.5 2.5 2.5.53 0 1.01-.16 1.42-.44l-.02.19c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5l-.02-.19c.4.28.89.44 1.42.44 1.38 0 2.5-1.12 2.5-2.5 0-1-.59-1.85-1.43-2.25.84-.4 1.43-1.25 1.43-2.25 0-1.38-1.12-2.5-2.5-2.5-.53 0-1.01.16-1.42.44l.02-.19C14.5 2.12 13.38 1 12 1S9.5 2.12 9.5 3.5l.02.19c-.4-.28-.89-.44-1.42-.44-1.38 0-2.5 1.12-2.5 2.5 0 1 .59 1.85 1.43 2.25-.84.4-1.43 1.25-1.43 2.25zM12 5.5c1.38 0 2.5 1.12 2.5 2.5s-1.12 2.5-2.5 2.5S9.5 9.38 9.5 8s1.12-2.5 2.5-2.5zM3 13c0 4.97 4.03 9 9 9 0-4.97-4.03-9-9-9z",fire:"M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67zM11.71 19c-1.78 0-3.22-1.4-3.22-3.14 0-1.62 1.05-2.76 2.81-3.12 1.77-.36 3.6-1.21 4.62-2.58.39 1.29.59 2.65.59 4.04 0 2.65-2.15 4.8-4.8 4.8z",pizza:"M12 2C8.43 2 5.23 3.54 3.01 6L12 22l8.99-16C18.78 3.55 15.57 2 12 2zM7 7c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2zm5 8c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}},SR7.A.particle.pJS.prototype.convertSvgs=function(){var t=this.sh=this.s.particles.sh;t.indexOf(":RSV6.3.0+:")>=0?(t=t.split("|__|"))[0]=t[0].replace(":RSV6.3.0+:",""):t=t.split(",");for(var s=t.length,i="",h=0;h<s;h++)h>0&&(i+="|__|"),this.svgList.hasOwnProperty(t[h])?i+=this.svgList[t[h]]:i+=t[h];this.sh=i,this.createSVGTags()},SR7.A.particle.pJS.prototype.createSVGTags=function(){var t,s,i,h=this.sh.split("|__|"),e=h.length,a=this.s.particles.bs;for(let o=0;o<e;o++){let e=h[o];if(e.indexOf("path")>=0){var r=e.split("::"),c=r[1].split(" ");l={width:parseInt(c[0],0),height:parseInt(c[1],0)},e='<svg xmlns="http://www.w3.org/2000/svg" data-custom="true" width="'+c[0]+'" height="'+c[1]+'" viewBox="0 0 '+r[1]+'">'+r[0]+"</svg>"}else{"circle"!==e?(t="<path ",s=' d="'+e+'"></path>',i=-1===e.search("::")?24:e.split("::")[1]):(t='<circle cx="12" cy="12" r="12" ',s=" />",i=24);let h='<svg xmlns="http://www.w3.org/2000/svg" width="'+i+'" height="'+i+'" viewBox="{{viewbox}}">'+t+'fill="#ffffff" stroke="{{stroke-color}}" stroke-width="{{stroke-width}}"'+s+"</svg>";if(a){var l=2*a+parseInt(i,10);e=h.replace("{{stroke-width}}",a).replace("{{viewbox}}",-a+" "+-a+" "+l+" "+l),l={width:l,height:l}}else e=h.replace("{{viewbox}}","0 0 "+i+" "+i).replace("{{stroke-width}}",0),l={width:i,height:i}}h[o]=e}this.sh=h,this.cacheTheSvg()},SR7.A.particle.pJS.prototype.cacheTheSvg=function(){this.cache=[],this.imgs=[];for(var t,s,i=0;i<this.sh.length;i++)for(t=0;t<this.c.length;t++)for(s=0;s<this.bc.length;s++)this.drawSVG(this.sh[i],this.c[t].trim(),this.bc[s])},SR7.A.particle.pJS.prototype.drawSVG=function(t,s,i){let h=t,e=s.trim(),a=this.s.particles.b?i:"",r={width:this.size,height:this.size},c=this.size,l=this.sizeMax;l=c>l?c:l;let o=this.s.particles.oc;var p,n=/#([0-9A-F]{3,6})/gi;if(h.indexOf("data-custom=")>=0&&1==o)if((d=document.createElement("div")).innerHTML=h,(v=d.querySelectorAll("path,circle,rect,polygon,ellipse,tspan,text")).length>=1){if(!o)for(var m=0;m<v.length;m++)v[m].setAttribute("fill",e);p=d.innerHTML,d.remove()}else p=h;else if(-1===h.indexOf("fill")&&-1==h.indexOf("{{stroke-color}}"))o||(p=h.replace('width="','fill="'+e+'" width="'));else if(-1!==h.indexOf(n))p=h.replace(n,e).replace("{{stroke-color}}",a);else{var d;h=h.replace(n,e).replace("{{stroke-color}}",a),(d=document.createElement("div")).innerHTML=h;var v=d.querySelectorAll("path,circle,rect,polygon,ellipse,tspan,text");for(m=0;m<v.length;m++)v[m].setAttribute("fill",e),v[m].setAttribute("stroke",a);p=d.innerHTML}p=p.replace(/<metadata([\s\S]*?)>([\s\S]*?)<\/metadata>/g,"");var g=new Image,y="data:image/svg+xml;base64,"+btoa(p),u=document.createElement("canvas"),x=u.getContext("2d");this.imgs.push(u),g.width=r.width,g.height=r.height,u.width=l/g.height*g.width,u.height=l,u.style.border="solid 1px red",g.addEventListener("load",(function(){x.webkitImageSmoothingEnabled=!1,x.msImageSmoothingEnabled=!1,x.imageSmoothingEnabled=!1,x.drawImage(this,0,0,l/g.height*g.width,l)})),g.addEventListener("error",(function(){})),g.src=y},SR7.A.particle.nParticle.prototype.setUtils=function(){if("bubble"===this.s.interact.c||"bubble"===this.s.interact.h||"bubbles"===this.s.interact.c||"bubbles"===this.s.interact.h)this.s.physics.dc=!1,this.mapScale=_tpt.gsap.utils.mapRange(0,this.s.interact.bd,this.s.interact.bs*Math.PI,this.r),this.mapOpacity=_tpt.gsap.utils.mapRange(0,this.s.interact.bd,this.s.interact.bo,this.o);else if(this.s.physics.dc){let t=this.s.physics.gd,s="bottom"===t?0:"top"===t?this.s.h:"left"===t?this.s.w:0,i="bottom"===t?this.s.h:"top"===t||"left"===t?0:this.s.w;this.dcScale=_tpt.gsap.utils.mapRange(s,i,this.r,0),this.dcOpacity=_tpt.gsap.utils.mapRange(s,i,this.o,0)}this.mapGrabOpacity=_tpt.gsap.utils.mapRange(0,1,this.s.interact.go,0)},SR7.A.particle.nParticle.prototype.linkParticles=function(t,s){var i=this.s.ctx,h=this.x-t.x,e=this.y-t.y;if((s=Math.sqrt(h*h+e*e))<=this.s.particles.ld){let h=_tpt.gsap.utils.mapRange(0,1,this.s.particles.lo,0,s/this.s.particles.ld);h>0&&(i.strokeStyle=this.s.particles.lc,i.lineWidth=this.s.particles.lw,i.globalAlpha=h,i.beginPath(),i.moveTo(this.x,this.y),i.lineTo(t.x,t.y),i.stroke(),i.globalAlpha=1,i.closePath())}},SR7.A.particle.nParticle.prototype.draw=function(){const t=this;if(t.x>this.s.w+t.r||t.x<-t.r||t.y>this.s.h+t.r||t.y<-t.r)return;var s=this.s.ctx;let i=(this.scale??1)*this.r;s.globalAlpha=this.bo??this.o,s.drawImage(this.img,-i/2+this.x,-i/2+this.y,i,i),s.globalAlpha=1},_tpt.pJS=SR7.A.particle.pJS,_tpt.R??={},_tpt.R.pjs=_tpt.extend?_tpt.extend(_tpt.R.pjs,{status:2,version:"1.0"}):{status:2,version:"1.0"},window.dispatchEvent(new CustomEvent("SR7ParticlesPJSReady")))}();