1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25180,3783,e=>{"use strict";var t,i,a,n,o,s,r,l,c,d,u,p,g=e.i(91398),h=e.i(91788),m=e.i(6637),y=!1,f=(0,h.createContext)({loaded:!1}),v=({children:e,init:t})=>{let[i,a]=(0,h.useState)(y);(0,h.useEffect)(()=>{let e=!1;if(!y){if(u){if(p&&p!==t)throw Error("ParticlesProvider init callback must be stable across the app lifecycle.")}else p=t,u=(async()=>{await t(m.tsParticles),y=!0})().catch(e=>{throw u=void 0,p=void 0,e});return u.then(()=>{e||a(!0)}).catch(()=>{e||a(!1)}),()=>{e=!0}}},[t]);let n=(0,h.useMemo)(()=>({loaded:i}),[i]);return(0,g.jsx)(f.Provider,{value:n,children:i?e:null})},b=e=>{let{className:t,id:i,options:a,particlesLoaded:n,style:o,url:s}=e,{loaded:r}=(0,h.useContext)(f),l=(0,h.useRef)(void 0);return(0,h.useEffect)(()=>{if(!r)return;let e=i??"tsparticles";return m.tsParticles.load({id:e,url:s,options:a}).then(t=>{if(!t?.destroyed){if(!document.getElementById(e))return void t?.destroy();l.current=t,n?.(t)}}),()=>{l.current?.destroy(),l.current=void 0}},[i,r,a,n,s]),(0,g.jsx)("div",{id:i??"tsparticles",className:t,style:o})},x=e.i(2749),M=e.i(69832),w=e.i(41799),C=e.i(23355);class P{enable=!1;mode="destination-out";load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"mode",e.mode),(0,C.loadProperty)(this,"enable",e.enable))}}class O{id="blend";async getPlugin(t){let{BlendPluginInstance:i}=await e.A(15758);return new i(t)}loadOptions(e,t,i){if(!this.needsPlugin(t)&&!this.needsPlugin(i))return;let a=t.blend;a?.load||(t.blend=a=new P),a.load(i?.blend)}loadParticlesOptions(e,t,i){t.blend??=new P,t.blend.load(i?.blend)}needsPlugin(e){return!!e?.blend?.enable||!!e?.particles?.blend?.enable}}async function k(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addPlugin(new O)})}var D=e.i(83229),R=e.i(88949);class S{draw(e){!function(e){let{context:t,particle:i,radius:a}=e;i.circleRange??={min:0,max:R.doublePI};let n=i.circleRange;t.arc(R.originPoint.x,R.originPoint.y,a,n.min,n.max,!1)}(e)}getSidesCount(){return 12}particleInit(e,t){let i=t.shapeData,a=i?.angle??{max:360,min:0};t.circleRange=(0,w.isObject)(a)?{min:(0,D.degToRad)(a.min),max:(0,D.degToRad)(a.max)}:{min:0,max:(0,D.degToRad)(a)}}}async function I(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["circle"],()=>Promise.resolve(new S))})}(t=s||(s={}))[t.r=1]="r",t[t.g=2]="g",t[t.b=3]="b",t[t.a=4]="a";let V=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,z=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class E{accepts(e){return e.startsWith("#")}handleColor(e){return this.#e(e.value)}handleRangeColor(e){return this.#e(e.value)}parseString(e){return this.#e(e)}#e(e){if("string"!=typeof e||!this.accepts(e))return;let t=e.replace(V,(e,t,i,a,n)=>t+t+i+i+a+a+(void 0===n?"":n+n)),i=z.exec(t);return i?{a:i[s.a]?Number.parseInt(i[s.a],16)/255:1,b:Number.parseInt(i[s.b]??"0",16),g:Number.parseInt(i[s.g]??"0",16),r:Number.parseInt(i[s.r]??"0",16)}:void 0}}async function A(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addColorManager("hex",new E)})}var T=e.i(14610);(i=r||(r={}))[i.h=1]="h",i[i.s=2]="s",i[i.l=3]="l",i[i.a=5]="a";let L=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class F{accepts(e){return e.startsWith("hsl")}handleColor(e){let t=e.value.hsl??e.value;if("h"in t&&"s"in t&&"l"in t)return(0,T.hslToRgb)(t)}handleRangeColor(e){let t=e.value.hsl??e.value;if("h"in t&&"s"in t&&"l"in t)return(0,T.hslToRgb)({h:(0,D.getRangeValue)(t.h),l:(0,D.getRangeValue)(t.l),s:(0,D.getRangeValue)(t.s)})}parseString(e){if(!this.accepts(e))return;let t=L.exec(e);return t?(0,T.hslaToRgba)({a:t.length>4?(0,D.parseAlpha)(t[r.a]):1,h:Number.parseInt(t[r.h]??"0",10),l:Number.parseInt(t[r.l]??"0",10),s:Number.parseInt(t[r.s]??"0",10)}):void 0}}async function H(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addColorManager("hsl",new F)})}var B=e.i(83727);class N{id="move";#t;constructor(e){this.#t=e}async getPlugin(t){let{MovePluginInstance:i}=await e.A(13697);return new i(this.#t,t)}loadOptions(){}needsPlugin(){return!0}}async function $(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{let t=e.pluginManager;
1t.initializers.pathGenerators??=new Map,t.pathGenerators??=new Map,t.addPathGenerator=(e,i)=>{t.initializers.pathGenerators??=new Map,t.initializers.pathGenerators.set(e,i)},t.getPathGenerators=async(e,i=!1)=>(t.initializers.pathGenerators??=new Map,t.pathGenerators??=new Map,(0,B.getItemMapFromInitializer)(e,t.pathGenerators,t.initializers.pathGenerators,i)),e.pluginManager.addPlugin(new N(e.pluginManager))})}var q=e.i(42647),j=e.i(52039),W=e.i(1394),G=e.i(92819);function U(e,t){let i=e.value,a=e.animation,n={delayTime:(0,D.getRangeValue)(a.delay)*R.millisecondsToSeconds,enable:a.enable,value:(0,D.getRangeValue)(e.value)*t,max:(0,D.getRangeMax)(i)*t,min:(0,D.getRangeMin)(i)*t,loops:0,maxLoops:(0,D.getRangeValue)(a.count),time:0};if(a.enable){switch(n.decay=1-(0,D.getRangeValue)(a.decay),a.mode){case q.AnimationMode.increase:n.status=j.AnimationStatus.increasing;break;case q.AnimationMode.decrease:n.status=j.AnimationStatus.decreasing;break;case q.AnimationMode.random:n.status=(0,D.getRandom)()>=R.half?j.AnimationStatus.increasing:j.AnimationStatus.decreasing}let e=a.mode===q.AnimationMode.auto;switch(a.startValue){case G.StartValueType.min:n.value=n.min,e&&(n.status=j.AnimationStatus.increasing);break;case G.StartValueType.max:n.value=n.max,e&&(n.status=j.AnimationStatus.decreasing);break;case G.StartValueType.random:default:n.value=(0,D.randomInRangeValue)(n),e&&(n.status=(0,D.getRandom)()>=R.half?j.AnimationStatus.increasing:j.AnimationStatus.decreasing)}}return n.initialValue=n.value,n}function K(e,t,i,a,n){if(e.destroyed||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0))return;let o=(t.velocity??0)*n.factor,s=t.min,r=t.max,l=t.decay??1;t.time??=0;let c=t.delayTime??0;if(!(c>0)||!(t.time<c)||(t.time+=n.value,!(t.time<c))){switch(t.status){case j.AnimationStatus.increasing:t.value+=o;break;case j.AnimationStatus.decreasing:t.value-=o}
1switch(t.velocity&&1!==l&&(t.velocity*=l),t.status){case j.AnimationStatus.increasing:t.value>=r&&(i?t.status=j.AnimationStatus.decreasing:t.value-=r,t.loops??=0,t.loops++);break;case j.AnimationStatus.decreasing:t.value<=s&&(i?t.status=j.AnimationStatus.increasing:t.value+=r,t.loops??=0,t.loops++)}var d=t.value;switch(a){case W.DestroyType.max:d>=r&&e.destroy();break;case W.DestroyType.min:d<=s&&e.destroy()}e.destroyed||(t.value=(0,D.clamp)(t.value,s,r))}}var _=e.i(25448),Q=e.i(20154);class X extends Q.RangedAnimationOptions{destroy=W.DestroyType.none;load(e){super.load(e),(0,w.isNull)(e)||(0,C.loadProperty)(this,"destroy",e.destroy)}}class Y extends _.RangedAnimationValueWithRandom{animation=new X;value=1;load(e){if((0,w.isNull)(e))return;super.load(e);let t=e.animation;void 0!==t&&this.animation.load(t)}}class J{#i;constructor(e){this.#i=e}init(e){let t=e.options.opacity;if(!t)return;e.opacity=U(t,1);let i=t.animation;i.enable&&(e.opacity.velocity=(0,D.getRangeValue)(i.speed)/R.percentDenominator*this.#i.retina.reduceFactor,i.sync||(e.opacity.velocity*=(0,D.getRandom)()))}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.opacity&&e.opacity.enable&&((e.opacity.maxLoops??0)<=0||(e.opacity.maxLoops??0)>0&&(e.opacity.loops??0)<(e.opacity.maxLoops??0))}loadOptions(e,...t){(0,C.loadOptionProperty)(e,"opacity",Y,...t)}reset(e){e.opacity&&(e.opacity.time=0,e.opacity.loops=0)}update(e,t){this.isEnabled(e)&&e.opacity&&e.options.opacity&&K(e,e.opacity,!0,e.options.opacity.animation.destroy,t)}}async function Z(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("opacity",e=>Promise.resolve(new J(e)))})}var ee=e.i(40490);class et{modes;#i;#a;constructor(e){this.#i=e,this.modes=[M.OutMode.bounce,M.OutMode.split],this.#a=e.plugins.filter(e=>void 0!==e.particleBounce)}update(e,t,i,a){if(!this.modes.includes(a))return;let n=this.#i,o=!1;for(let a of this.#a)if(o=a.particleBounce?.(e,i,t)??!1)break;if(o)return;let s=e.getPosition(),r=e.offset,l=e.getRadius(),c=(0,B.calculateBounds)(s,l),d=n.canvas.size,u=!e.isInsideCanvasForOutMode(a,t);!function(e){if(e.outMode!==M.OutMode.bounce&&e.outMode!==M.OutMode.split||e.direction!==ee.OutModeDirection.left&&e.direction!==ee.OutModeDirection.right)return;e.bounds.right<0&&e.direction===ee.OutModeDirection.left?e.particle.position.x=e.size+e.offset.x:e.bounds.left>e.canvasSize.width&&e.direction===ee.OutModeDirection.right&&(e.particle.position.x=e.canvasSize.width-e.size-e.offset.x);let t=e.particle.velocity.x,i=!1;if(e.outOfCanvas&&(e.direction===ee.OutModeDirection.right&&t>R.minVelocity||e.direction===ee.OutModeDirection.left&&t<R.minVelocity)){let t=(0,D.getRangeValue)(e.particle.options.bounce.horizontal.value);e.particle.velocity.x*=-t,i=!0}if(!i)return;let a=e.offset.x+e.size;e.outOfCanvas&&e.direction===ee.OutModeDirection.right?e.particle.position.x=e.canvasSize.width-a:e.outOfCanvas&&e.direction===ee.OutModeDirection.left&&(e.particle.position.x=a),e.outMode===M.OutMode.split&&e.particle.destroy()}({particle:e,outMode:a,direction:t,bounds:c,canvasSize:d,offset:r,outOfCanvas:u,size:l}),function(e){if(e.outMode!==M.OutMode.bounce&&e.outMode!==M.OutMode.split||e.direction!==ee.OutModeDirection.bottom&&e.direction!==ee.OutModeDirection.top)return;e.bounds.bottom<0&&e.direction===ee.OutModeDirection.top?e.particle.position.y=e.size+e.offset.y:e.bounds.top>e.canvasSize.height&&e.direction===ee.OutModeDirection.bottom&&(e.particle.position.y=e.canvasSize.height-e.size-e.offset.y);let t=e.particle.velocity.y,i=!1;if(e.outOfCanvas&&(e.direction===ee.OutModeDirection.bottom&&t>R.minVelocity||e.direction===ee.OutModeDirection.top&&t<R.minVelocity)){let t=(0,D.getRangeValue)(e.particle.options.bounce.vertical.value);e.particle.velocity.y*=-t,i=!0}if(!i)return;let a=e.offset.y+e.size;e.outOfCanvas&&e.direction===ee.OutModeDirection.bottom?e.particle.position.y=e.canvasSize.height-a:e.outOfCanvas&&e.direction===ee.OutModeDirection.top&&(e.particle.position.y=a),e.outMode===M.OutMode.split&&e.particle.destroy()}({particle:e,outMode:a,direction:t,bounds:c,canvasSize:d,offset:r,outOfCanvas:u,size:l})}}var ei=e.i(2050);class ea{modes;constructor(e){this.modes=[M.OutMode.destroy]}update(e,t,i,a){if(this.modes.includes(a)){switch(e.outType){case ei.ParticleOutType.normal:case ei.ParticleOutType.outside:if(e.isInsideCanvasForOutMode(a,t))return;break;case ei.ParticleOutType.inside:{let{dx:t,dy:i}=(0,D.getDistances)(e.position,e.moveCenter),{x:a,y:n}=e.velocity;if(a<R.minVelocity&&t>e.moveCenter.radius||n<R.minVelocity&&i>e.moveCenter.radius||a>=R.minVelocity&&t<-e.moveCenter.radius||n>=R.minVelocity&&i<-e.moveCenter.radius)return}}e.destroy(!0)}}}class en{modes;#i;constructor(e){this.#i=e,this.modes=[M.OutMode.none]}
1update(e,t,i,a){if(!this.modes.includes(a)||((e.options.move.distance.horizontal&&(t===ee.OutModeDirection.left||t===ee.OutModeDirection.right))??(e.options.move.distance.vertical&&(t===ee.OutModeDirection.top||t===ee.OutModeDirection.bottom))))return;let n=e.options.move.gravity,o=this.#i,s=o.canvas.size,r=e.getRadius();if(n.enable){let i=e.position;(!n.inverse&&i.y>s.height+r&&t===ee.OutModeDirection.bottom||n.inverse&&i.y<-r&&t===ee.OutModeDirection.top)&&e.destroy()}else{if(e.velocity.y>R.minVelocity&&e.position.y<=s.height+r||e.velocity.y<R.minVelocity&&e.position.y>=-r||e.velocity.x>R.minVelocity&&e.position.x<=s.width+r||e.velocity.x<R.minVelocity&&e.position.x>=-r)return;(0,B.isPointInside)(e.position,o.canvas.size,R.originPoint,r,t)||e.destroy()}}}var eo=e.i(81095);let es=eo.Vector.origin;class er{modes;#i;constructor(e){this.#i=e,this.modes=[M.OutMode.out]}update(e,t,i,a){if(!this.modes.includes(a))return;let n=this.#i;if(e.outType===ei.ParticleOutType.inside){let{x:t,y:i}=e.velocity;es.setTo(R.originPoint),es.length=e.moveCenter.radius,es.angle=e.velocity.angle+Math.PI,es.addTo(e.moveCenter);let{dx:a,dy:o}=(0,D.getDistances)(e.position,es);if(t<=R.minVelocity&&a>=R.minDistance||i<=R.minVelocity&&o>=R.minDistance||t>=R.minVelocity&&a<=R.minDistance||i>=R.minVelocity&&o<=R.minDistance)return;e.position.x=Math.floor((0,D.randomInRangeValue)({min:0,max:n.canvas.size.width})),e.position.y=Math.floor((0,D.randomInRangeValue)({min:0,max:n.canvas.size.height}));let{dx:s,dy:r}=(0,D.getDistances)(e.position,e.moveCenter);e.direction=Math.atan2(-r,-s),e.velocity.angle=e.direction,e.justWarped=!0}else{if(e.isInsideCanvasForOutMode(a,t))return;switch(e.outType){case ei.ParticleOutType.outside:{e.position.x=Math.floor((0,D.randomInRangeValue)({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.x,e.position.y=Math.floor((0,D.randomInRangeValue)({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.y;let{dx:t,dy:i}=(0,D.getDistances)(e.position,e.moveCenter);e.moveCenter.radius&&(e.direction=Math.atan2(i,t),e.velocity.angle=e.direction),e.justWarped=!0;break}case ei.ParticleOutType.normal:{let i=e.options.move.warp,a=n.canvas.size,o={bottom:a.height+e.getRadius()+e.offset.y,left:-e.getRadius()-e.offset.x,right:a.width+e.getRadius()+e.offset.x,top:-e.getRadius()-e.offset.y},s=e.getRadius(),r=(0,B.calculateBounds)(e.position,s);t===ee.OutModeDirection.right&&r.left>a.width+e.offset.x?(e.position.x=o.left,e.initialPosition.x=e.position.x,i||(e.position.y=(0,D.getRandom)()*a.height,e.initialPosition.y=e.position.y),e.justWarped=!0):t===ee.OutModeDirection.left&&r.right<-e.offset.x&&(e.position.x=o.right,e.initialPosition.x=e.position.x,i||(e.position.y=(0,D.getRandom)()*a.height,e.initialPosition.y=e.position.y),e.justWarped=!0),t===ee.OutModeDirection.bottom&&r.top>a.height+e.offset.y?(i||(e.position.x=(0,D.getRandom)()*a.width,e.initialPosition.x=e.position.x),e.position.y=o.top,e.initialPosition.y=e.position.y,e.justWarped=!0):t===ee.OutModeDirection.top&&r.bottom<-e.offset.y&&(i||(e.position.x=(0,D.getRandom)()*a.width,e.initialPosition.x=e.position.x),e.position.y=o.bottom,e.initialPosition.y=e.position.y,e.justWarped=!0)}}}}}class el{updaters;#i;constructor(e){this.#i=e,this.updaters=new Map}init(e){this.#n(e,M.OutMode.bounce,e=>new et(e)),this.#n(e,M.OutMode.out,e=>new er(e)),this.#n(e,M.OutMode.destroy,e=>new ea(e)),this.#n(e,M.OutMode.none,e=>new en(e))}isEnabled(e){return!e.destroyed&&!e.spawning}update(e,t){let i=e.options.move.outModes;e.justWarped=!1,this.#o(e,t,i.bottom??i.default,ee.OutModeDirection.bottom),this.#o(e,t,i.left??i.default,ee.OutModeDirection.left),this.#o(e,t,i.right??i.default,ee.OutModeDirection.right),this.#o(e,t,i.top??i.default,ee.OutModeDirection.top)}#n(e,t,i){let a=e.options.move.outModes;this.updaters.has(t)||a.default!==t&&a.bottom!==t&&a.left!==t&&a.right!==t&&a.top!==t||this.updaters.set(t,i(this.#i))}#o(e,t,i,a){for(let n of this.updaters.values())n.update(e,a,t,i)}}async function ec(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("outModes",e=>Promise.resolve(new el(e)))})}var ed=e.i(90694);class eu{#i;#t;constructor(e,t){this.#i=t,this.#t=e}init(e){let t=this.#i,i=e.options,a=(0,B.itemFromSingleOrMultiple)(i.paint,e.i
1d,i.reduceDuplicates),n=a?.color??void 0,o=a?.fill,s=a?.stroke;if(o){let i=ed.AnimatableColor.create(void 0===n?void 0:ed.AnimatableColor.create(void 0,n),o.color);e.fillEnabled=o.enable,e.fillOpacity=(0,D.getRangeValue)(o.opacity),e.fillAnimation=i.animation;let a=(0,T.rangeColorToHsl)(this.#t,i);a&&(e.fillColor=(0,T.getHslAnimationFromHsl)(a,e.fillAnimation,t.retina.reduceFactor))}else e.fillEnabled=!1,e.fillAnimation=void 0,e.fillColor=void 0,e.fillOpacity=1;if(s){let i=ed.AnimatableColor.create(void 0===n?void 0:ed.AnimatableColor.create(void 0,n),s.color);e.strokeWidth=(0,D.getRangeValue)(s.width)*t.retina.pixelRatio,e.strokeOpacity=(0,D.getRangeValue)(s.opacity??1),e.strokeAnimation=i.animation;let a=(0,T.rangeColorToHsl)(this.#t,i)??e.getFillColor();a&&(e.strokeColor=(0,T.getHslAnimationFromHsl)(a,e.strokeAnimation,t.retina.reduceFactor))}else e.strokeAnimation=void 0,e.strokeColor=void 0,e.strokeOpacity=1,e.strokeWidth=0}isEnabled(e){let{fillAnimation:t,fillColor:i,strokeAnimation:a,strokeColor:n}=e,o=!!t&&(i?.h.value!==void 0&&i.h.enable||i?.s.value!==void 0&&i.s.enable||i?.l.value!==void 0&&i.l.enable),s=!!a&&(n?.h.value!==void 0&&n.h.enable||n?.s.value!==void 0&&n.s.enable||n?.l.value!==void 0&&n.l.enable);return!e.destroyed&&!e.spawning&&(o||s)}update(e,t){this.isEnabled(e)&&((0,T.updateColor)(e.fillColor,t,this.#i.hdr),(0,T.updateColor)(e.strokeColor,t,this.#i.hdr))}}async function ep(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("paint",t=>Promise.resolve(new eu(e.pluginManager,t)))})}(a=l||(l={}))[a.r=1]="r",a[a.g=2]="g",a[a.b=3]="b",a[a.a=5]="a";let eg=/rgba?\(\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class eh{accepts(e){return e.startsWith("rgb")}handleColor(e){let t=e.value.rgb??e.value;if("r"in t&&"g"in t&&"b"in t)return t}handleRangeColor(e){let t=e.value.rgb??e.value;if("r"in t&&"g"in t&&"b"in t)return{r:(0,D.getRangeValue)(t.r),g:(0,D.getRangeValue)(t.g),b:(0,D.getRangeValue)(t.b)}}parseString(e){if(!this.accepts(e))return;let t=eg.exec(e);return t?{a:t.length>4?(0,D.parseAlpha)(t[l.a]):1,b:parseInt(t[l.b]??"0",10),g:parseInt(t[l.g]??"0",10),r:parseInt(t[l.r]??"0",10)}:void 0}}async function em(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addColorManager("rgb",new eh)})}var ey=_,ef=Q;class ev extends ef.RangedAnimationOptions{destroy=W.DestroyType.none;load(e){super.load(e),(0,w.isNull)(e)||(0,C.loadProperty)(this,"destroy",e.destroy)}}class eb extends ey.RangedAnimationValueWithRandom{animation=new ev;value=3;load(e){if(super.load(e),(0,w.isNull)(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}class ex{#i;constructor(e){this.#i=e}init(e){let t=this.#i,i=e.options.size;if(!i)return;let a=i.animation;!a.enable||(e.size.velocity=e.retina.sizeAnimationSpeed/R.percentDenominator*t.retina.reduceFactor,a.sync||(e.size.velocity*=(0,D.getRandom)()))}isEnabled(e){return!e.destroyed&&!e.spawning&&e.size.enable&&((e.size.maxLoops??0)<=0||(e.size.maxLoops??0)>0&&(e.size.loops??0)<(e.size.maxLoops??0))}loadOptions(e,...t){(0,C.loadOptionProperty)(e,"size",eb,...t)}preInit(e){let t=this.#i.retina.pixelRatio,i=e.options.size;i&&(e.size=U(i,t),e.retina.sizeAnimationSpeed=(0,D.getRangeValue)(i.animation.speed)*t)}reset(e){e.size.time=0,e.size.loops=0}update(e,t){this.isEnabled(e)&&e.options.size&&K(e,e.size,!0,e.options.size.animation.destroy,t)}}async function eM(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("size",e=>Promise.resolve(new ex(e)))})}async function ew(e){e.checkVersion("4.3.2"),await e.pluginManager.register(async e=>{await Promise.all([k(e),A(e),H(e),em(e),$(e),I(e),ep(e),Z(e),ec(e),eM(e)])})}let eC=new Map;async function eP(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{for(let[t,i]of eC)e.pluginManager.addEasing(t,i)})}eC.set("ease-in-quad",e=>e**2),eC.set("ease-out-quad",e=>1-(1-e)**2),eC.set("ease-in-out-quad",e=>e<.5?2*e**2:1-(-2*e+2)**2/2);let eO=["emoji"];function ek(e,t,i){e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(i.x,i.y),e.closePath()}async function eD(e,t){try{await (0,B.safeDocument)().fonts.load(`${t??"400"} 36px '${e??"Verdana"}'`)}catch{}}R.identity;let eR='"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif';class eS{#s=new Map;destroy(){for(let[e,t]of this.#s)t instanceof ImageBitmap&&t.close(),this.#s.delete(e)}draw(e){let t=e.particle.emojiDataKey;if(!t)return;let i=this.#s.get(t);
1i&&function(e,t){let{context:i,opacity:a}=e,n=i.globalAlpha,o=t.width,s=o*R.half;i.globalAlpha=a,i.drawImage(t,-s,-s,o,o),i.globalAlpha=n}(e,i)}async init(e){let t=e.actualOptions.particles.shape;if(!eO.some(e=>(0,B.isInArray)(e,t.type)))return;let i=[eD(eR)],a=eO.map(e=>t.options[e])[0];(0,B.executeOnSingleOrMultiple)(a,e=>{e.font&&i.push(eD(e.font))}),await Promise.all(i)}particleDestroy(e){e.emojiDataKey=void 0}particleInit(e,t){let i=t.shapeData;if(!i.value)return;let a=(0,B.itemFromSingleOrMultiple)(i.value,t.randomIndexData);if(!a)return;let n="string"==typeof a?{font:i.font??eR,padding:i.padding??0,value:a}:{font:eR,padding:0,...i,...a},o=n.font,s=n.value,r=`${s}_${o}`;if(this.#s.has(r)){t.emojiDataKey=r;return}let l=n.padding*R.double,c=(0,D.getRangeMax)(t.size.value),d=c+l,u=d*R.double,p=new OffscreenCanvas(u,u),g=p.getContext("2d",e.canvas.render.settings);if(!g)return;g.font=`400 ${(c*R.double).toString()}px ${o}`,g.textBaseline="middle",g.textAlign="center",g.fillText(s,d,d);let h=p instanceof HTMLCanvasElement?p:p.transferToImageBitmap();this.#s.set(r,h),t.emojiDataKey=r}}async function eI(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(eO,()=>Promise.resolve(new eS))})}var eV=e.i(56732);class ez{id="interactivity";#t;constructor(e){this.#t=e}async getPlugin(t){let{InteractivityPluginInstance:i}=await e.A(93290);return new i(this.#t,t)}loadOptions(e,t,i){if(!this.needsPlugin())return;let a=t.interactivity;a?.load||(t.interactivity=a=new eV.Interactivity(this.#t,e)),a.load(i?.interactivity);let n=this.#t.interactors?.get(e);if(n)for(let e of n)e.loadOptions&&e.loadOptions(t,i)}loadParticlesOptions(e,t,i){i?.interactivity&&(t.interactivity=(0,B.deepExtend)({},i.interactivity));let a=this.#t.interactors?.get(e);if(a)for(let e of a)e.loadParticlesOptions?.(t,i)}needsPlugin(){return!0}}var eE=e.i(29018);class eA{type=eE.InteractorType.external;container;constructor(e){this.container=e}}class eT{type=eE.InteractorType.particles;container;constructor(e){this.container=e}}var eL=e.i(25251);function eF(e,t){return(0,w.isArray)(e)?e.find((e,i)=>t(e,i)):t(e,0)?e:void 0}function eH(e,t){return!!eF(t,t=>t.enable&&(0,B.isInArray)(e,t.mode))}function eB(e,t,i){(0,B.executeOnSingleOrMultiple)(t,t=>{var a,n;let o,s=t.mode;t.enable&&(0,B.isInArray)(e,s)&&(a=t,n=i,o=a.selectors,(0,B.executeOnSingleOrMultiple)(o,e=>{n(e,a)}))})}function eN(e,t){if(t&&e)return eF(e,e=>{var i;let a;return i=e.selectors,a=(0,B.executeOnSingleOrMultiple)(i,e=>t.matches(e)),(0,w.isArray)(a)?a.some(e=>e):a})}async function e$(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{let t=e.pluginManager;t.addPlugin(new ez(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,B.getItemsFromInitializer)(e,t.interactors,t.initializers.interactors,i)),t.setOnClickHandler=t=>{let{items:i}=e;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(e=>{e.addClickHandler?.(t)})}})}function eq(e){if(!e.pluginManager.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}e.i(81195),e.i(14491),e.i(33463);var ej=e.i(91264),eW=e.i(84486);let eG=eo.Vector.origin;function eU(e,t,i,a,n,o,s){let r=t.actualOptions.interactivity?.modes.attract;if(r)for(let l of t.particles.grid.query(n,o)){let{dx:t,dy:n,distance:o}=(0,D.getDistances)(l.position,i),c=r.speed*r.factor,d=(0,D.clamp)(e.getEasing(r.easing)(R.identity-o/a)*c,1,r.maxSpeed);eG.x=o?t/o*d:c,eG.y=o?n/o*d:c,s?.(l),l.position.subFrom(eG)}}class eK{distance=200;duration=.4;easing="ease-out-quad";factor=1;maxSpeed=50;restore;speed=1;constructor(){this.restore={enable:!1,delay:0,speed:.08,follow:!0}}load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"distance",e.distance),(0,C.loadProperty)(this,"duration",e.duration),void 0!==e.easing&&(this.easing=e.easing),(0,C.loadProperty)(this,"factor",e.factor),void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed),(0,C.loadProperty)(this,"speed",e.speed),void 0!==e.restore&&(this.restore.enable=e.restore.enable??this.restore.enable,this.restore.delay=e.restore.delay??this.restore.delay,this.restore.speed=e.restore.speed??this.restore.speed,this.restore.follow=e.restore.follow??this.restore.follow))}}let e_="attract";class eQ extends eA{handleClickMode;#r;#l;#t;#c;constructor(e,t){super(t),this.#t=e,this.#l=0,this.#r=new Set,this.#c=new Map,t.attract??={particles:[]},this.handleClickMode=(e,i)=>{let a=this.container.actualOptions,n=a.interactivity?.modes.attract;if(n&&e===e_){for(let e of(t.attract??={particles:[]},t.attract.clicking=!0,t.attract.count=0,t.attract.particles))this.isEnabled(i,e)&&e.velocity.setTo(e.initialVelocity);t.attract.particles=[],t.attract.finish=!1,setTimeout(()=>{t.destroyed||(t.attract??={particles:[]},t.attract.clicking=!1)},n.duration*R.millisecondsToSeconds)}}}get maxDistance(){return this.#l}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.attract;t&&(this.#l=t.distance,e.retina.attractModeDistance=t.distance*e.retina.pixelRatio)}interact(e){this.#r.clear();
1let t=this.container.actualOptions,i=e.status===ej.mouseMoveEvent,a=t.interactivity?.events;if(!a)return;let{enable:n,mode:o}=a.onHover,{enable:s,mode:r}=a.onClick;if(i&&n&&(0,B.isInArray)(e_,o)){var l,c,d,u;let t,i;l=this.#t,c=this.container,d=t=>this.isEnabled(e,t),u=e=>{this.#d(e)},t=e.mouse.position,(i=c.retina.attractModeDistance)&&!(i<0)&&t&&eU(l,c,t,i,new eW.Circle(t.x,t.y,i),e=>d(e),u)}else s&&(0,B.isInArray)(e_,r)&&function(e,t,i,a,n){t.attract??={particles:[]};let{attract:o}=t;if(o.finish||(o.count??=0,o.count++,o.count===t.particles.count&&(o.finish=!0)),o.clicking){let o=i.mouse.clickPosition,s=t.retina.attractModeDistance;if(!s||s<0||!o)return;eU(e,t,o,s,new eW.Circle(o.x,o.y,s),e=>a(e),n)}else!1===o.clicking&&(o.particles=[])}(this.#t,this.container,e,t=>this.isEnabled(e,t),e=>{this.#d(e)});this.#u()}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;if((!a.position||!n?.onHover.enable)&&(!a.clickPosition||!n?.onClick.enable))return!1;let o=n.onHover.mode,s=n.onClick.mode;return(0,B.isInArray)(e_,o)||(0,B.isInArray)(e_,s)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"attract",eK,...t)}reset(){}#u(){let e=this.container.actualOptions.interactivity?.modes.attract?.restore;if(!e?.enable||!this.#c.size)return;let t=Date.now(),i=e.delay*R.millisecondsToSeconds,a=Math.max(.001,Math.min(1,e.speed));for(let[n,o]of this.#c){if(this.#r.has(n))continue;if(n.destroyed){this.#c.delete(n);continue}let s=o.target;if(t-o.lastInteractionTime<i)continue;let r=s.x-n.position.x,l=s.y-n.position.y,c=s.z-n.position.z;if(e.follow&&n.options.move.enable){let{x:e,y:t,z:i}=n.velocity,a=e*e+t*t+i*i;if(a>0){let n=(r*e+l*t+c*i)/a;r-=e*n,l-=t*n,c-=i*n}}if(n.position.x+=r*a,n.position.y+=l*a,n.position.z+=c*a,.5>=Math.abs(r)&&.5>=Math.abs(l)){n.position.x=s.x,n.position.y=s.y,n.position.z=s.z,this.#c.delete(n);continue}}}#d(e){this.#r.add(e);let t=this.container.actualOptions.interactivity?.modes.attract?.restore;if(!t?.enable)return;let i=Date.now(),a=this.#c.get(e);a||(a={target:e.position.copy(),lastInteractionTime:i},this.#c.set(e,a)),a.lastInteractionTime=i}}async function eX(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalAttract",t=>Promise.resolve(new eQ(e.pluginManager,t)))})}let eY=Math.PI*R.half;function eJ(e,t,i,a,n){for(let o of e.particles.grid.query(a,n))a instanceof eW.Circle?(0,B.circleBounce)((0,B.circleBounceDataFromParticle)(o),{position:t,radius:i,mass:i**R.squareExp*eY,velocity:eo.Vector.origin,factor:eo.Vector.origin}):a instanceof eW.Rectangle&&function(e,t){let i=e.getPosition(),a=e.getRadius(),n=(0,B.calculateBounds)(i,a),o=e.options.bounce,s=eZ({pSide:{min:n.left,max:n.right},pOtherSide:{min:n.top,max:n.bottom},rectSide:{min:t.left,max:t.right},rectOtherSide:{min:t.top,max:t.bottom},velocity:e.velocity.x,factor:(0,D.getRangeValue)(o.horizontal.value)});s.bounced&&(void 0!==s.velocity&&(e.velocity.x=s.velocity),void 0!==s.position&&(e.position.x=s.position));let r=eZ({pSide:{min:n.top,max:n.bottom},pOtherSide:{min:n.left,max:n.right},rectSide:{min:t.top,max:t.bottom},rectOtherSide:{min:t.left,max:t.right},velocity:e.velocity.y,factor:(0,D.getRangeValue)(o.vertical.value)});r.bounced&&(void 0!==r.velocity&&(e.velocity.y=r.velocity),void 0!==r.position&&(e.position.y=r.position))}(o,(0,B.calculateBounds)(t,i))}function eZ(e){let t={bounced:!1},{pSide:i,pOtherSide:a,rectSide:n,rectOtherSide:o,velocity:s,factor:r}=e;return a.min<o.min||a.min>o.max||a.max<o.min||a.max>o.max||(i.max>=n.min&&i.max<=(n.max+n.min)*R.half&&s>R.minVelocity||i.min<=n.max&&i.min>(n.max+n.min)*R.half&&s<R.minVelocity)&&(t.velocity=-(s*r),t.bounced=!0),t}class e0{distance=200;load(e){(0,w.isNull)(e)||(0,C.loadProperty)(this,"distance",e.distance)}}let e1="bounce";class e2 extends eA{#l;constructor(e){super(e),this.#l=0}get maxDistance(){return this.#l}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.bounce;t&&(this.#l=t.distance,e.retina.bounceModeDistance=t.distance*e.retina.pixelRatio)}interact(e){var t,i,a,n;let o=this.container.actualOptions,s=o.interactivity?.events,r=e.status===e
1j.mouseMoveEvent;if(!s)return;let l=s.onHover.enable,c=s.onHover.mode,d=s.onDiv;if(r&&l&&(0,B.isInArray)(e1,c)){let a,n,o;t=this.container,i=t=>this.isEnabled(e,t),a=t.retina.pixelRatio,n=e.mouse.position,(o=t.retina.bounceModeDistance)&&!(o<R.minRadius)&&n&&eJ(t,n,o,new eW.Circle(n.x,n.y,o+10*a),i)}else a=this.container,n=t=>this.isEnabled(e,t),eB(e1,d,(e,t)=>{let i;(i=(0,B.safeDocument)().querySelectorAll(e)).length&&i.forEach(e=>{let i=a.retina.pixelRatio,o={x:(e.offsetLeft+e.offsetWidth*R.half)*i,y:(e.offsetTop+e.offsetHeight*R.half)*i},s=e.offsetWidth*R.half*i,r=10*i,l=t.type===eL.DivType.circle?new eW.Circle(o.x,o.y,s+r):new eW.Rectangle(e.offsetLeft*i-r,e.offsetTop*i-r,e.offsetWidth*i+r*R.double,e.offsetHeight*i+r*R.double);((e,t,i)=>{eJ(a,e,t,i,n)})(o,s,l)})})}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;if(!n)return!1;let o=n.onDiv;return!!a.position&&n.onHover.enable&&(0,B.isInArray)(e1,n.onHover.mode)||eH(e1,o)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"bounce",e0,...t)}reset(){}}async function e3(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalBounce",e=>Promise.resolve(new e2(e)))})}var e4=e.i(82637);class e5{color;distance=200;duration=.4;mix=!1;opacity;size;load(e){if(!(0,w.isNull)(e)){if((0,C.loadProperty)(this,"distance",e.distance),(0,C.loadProperty)(this,"duration",e.duration),(0,C.loadProperty)(this,"mix",e.mix),(0,C.loadRangeProperty)(this,"opacity",e.opacity),void 0!==e.color){let t=(0,w.isArray)(this.color)?void 0:this.color;this.color=(0,B.executeOnSingleOrMultiple)(e.color,e=>e4.OptionsColor.create(t,e))}(0,C.loadProperty)(this,"size",e.size)}}}class e6 extends e5{selectors=[];load(e){super.load(e),(0,w.isNull)(e)||(0,C.loadProperty)(this,"selectors",e.selectors)}}class e9 extends e5{divs;load(e){super.load(e),(0,w.isNull)(e)||(this.divs=(0,B.executeOnSingleOrMultiple)(e.divs,e=>{let t=new e6;return t.load(e),t}))}}class e8{div;enabled=!1;fillColor;finalColor;id="bubble";inRange=!1;opacity;priority=100;radius;strokeColor}function e7(e,t,i,a){return t>=i?(0,D.clamp)(e+(t-i)*a,e,t):t<i?(0,D.clamp)(e-(i-t)*a,t,e):void 0}(n=c||(c={})).color="color",n.opacity="opacity",n.size="size";let te="bubble";class tt extends eA{handleClickMode;#l;#p=new WeakMap;#t;constructor(e,t){super(t),this.#t=e,this.#l=0,t.bubble??={},this.handleClickMode=e=>{e===te&&(t.bubble??={},t.bubble.clicking=!0)}}get maxDistance(){return this.#l}clear(e,t,i){let a=this.#p.get(e);(!a?.inRange||i)&&(e.removeModifier(te),this.#p.delete(e))}getOrCreateModifier(e){let t=this.#p.get(e);return t||(t=new e8,this.#p.set(e,t),e.addModifier(t)),t}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.bubble;t&&(this.#l=t.distance,e.retina.bubbleModeDistance=t.distance*e.retina.pixelRatio,void 0!==t.size&&(e.retina.bubbleModeSize=t.size*e.retina.pixelRatio))}interact(e,t){let i=this.container.actualOptions,a=i.interactivity?.events;if(!a)return;let n=a.onHover,o=a.onClick,s=n.enable,r=n.mode,l=o.enable,c=o.mode,d=a.onDiv;s&&(0,B.isInArray)(te,r)?this.#g(e):l&&(0,B.isInArray)(te,c)?this.#h(e):eB(te,d,(i,a)=>{this.#m(e,t,i,a)})}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;if(!n)return!1;let{onClick:o,onDiv:s,onHover:r}=n,l=eH(te,s);return!!(l||r.enable&&a.position||o.enable&&a.clickPosition)&&((0,B.isInArray)(te,r.mode)||(0,B.isInArray)(te,o.mode)||l)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"bubble",e9,...t)}reset(e,t){let i=this.#p.get(t);i&&(i.enabled=!1,i.inRange=!1)}#h(e){let t=this.container,i=t.actualOptions,a=e.mouse.clickPosition,n=i.interactivity?.modes.bubble;if(!n||!a)return;t.bubble??={};let o=t.retina.bubbleModeDistance;if(!o||o<0)return;let s=t.particles.grid.queryCircle(a,o,t=>this.isEnabled(e,t)),{bubble:r}=t;for(let i of s){if(!r.clicking)continue;let s=this.getOrCreateModifier(i);s.enabled=!r.durationEnd,s.inRange=!r.durationEnd;let l=i.getPosition(),d=(0,D.getDistance)(l,a),u=(performance.now()-(e.mouse.clickTime??0))/R.millisecondsToSeconds;u>n.duration&&(r.durationEnd=!0),u>n.duration*R.double&&(r.clicking=!1,r.durationEnd=!1);let p={bubbleObj:{optValue:t.retina.bubbleModeSize,value:s.radius},particlesObj:{optValue:i.size.max,value:i.size.value},type:c.size};this.#y(i,d,u,p);let g={bubbleObj:{optValue:n.opacity,value:s.opacity},particlesObj:{optValue:i.opacity?.max??1,value:i.opacity?.value??1},type:c.opacity};
1this.#y(i,d,u,g),!r.durationEnd&&d<=o?this.#f(i,d):(s.fillColor=void 0,s.strokeColor=void 0)}}#g(e){let t=this.container,i=e.mouse.position,a=t.retina.bubbleModeDistance;if(a&&!(a<0)&&i)for(let n of t.particles.grid.queryCircle(i,a,t=>this.isEnabled(e,t))){let t=this.getOrCreateModifier(n);t.enabled=!0,t.inRange=!0;let o=n.getPosition(),s=(0,D.getDistance)(o,i),r=1-s/a;s<=a?r>=0&&e.status===ej.mouseMoveEvent&&(this.#v(n,r),this.#b(n,r),this.#f(n,r)):this.reset(e,n),e.status===ej.mouseLeaveEvent&&this.reset(e,n)}}#f(e,t,i){let a=this.container.actualOptions,n=i??a.interactivity?.modes.bubble,o=this.getOrCreateModifier(e);if(n){if(!o.finalColor){let e=n.color;if(!e)return;let t=(0,B.itemFromSingleOrMultiple)(e);o.finalColor=(0,T.rangeColorToHsl)(this.#t,t)}if(o.finalColor)if(n.mix){o.fillColor=void 0,o.strokeColor=void 0;let i=e.getFillColor();if(i){let e=(0,T.rgbToHsl)((0,T.colorMix)(i,o.finalColor,1-t,t));o.fillColor=e,o.strokeColor=e}else o.fillColor=o.finalColor,o.strokeColor=o.finalColor}else o.fillColor=o.finalColor,o.strokeColor=o.finalColor}}#b(e,t,i){let a=this.container.actualOptions,n=i?.opacity??a.interactivity?.modes.bubble?.opacity;if(!n)return;let o=e7(e.opacity?.value??1,n,e.opacity?.max??1,t);void 0!==o&&(this.getOrCreateModifier(e).opacity=o)}#v(e,t,i){let a=this.container,n=i?.size?i.size*a.retina.pixelRatio:a.retina.bubbleModeSize;if(void 0===n)return;let o=e7(e.size.value,n,e.size.max,t);void 0!==o&&(this.getOrCreateModifier(e).radius=o)}#y(e,t,i,a){let n=this.container,o=a.bubbleObj.optValue,s=n.actualOptions,r=s.interactivity?.modes.bubble;if(!r||void 0===o)return;let l=r.duration,d=n.retina.bubbleModeDistance,u=a.particlesObj.optValue,p=a.bubbleObj.value,g=a.particlesObj.value??0,h=a.type;if(!d||d<0||o===u)return;n.bubble??={};let m=this.getOrCreateModifier(e);if(n.bubble.durationEnd)p&&(h===c.size&&(m.radius=void 0),h===c.opacity&&(m.opacity=void 0));else if(t<=d){if((p??g)!==o){let e=g-i*(g-o)/l;h===c.size&&(m.radius=e),h===c.opacity&&(m.opacity=e)}}else h===c.size&&(m.radius=void 0),h===c.opacity&&(m.opacity=void 0)}#m(e,t,i,a){let n=this.container,o=(0,B.safeDocument)().querySelectorAll(i),s=n.actualOptions.interactivity?.modes.bubble;s&&o.length&&o.forEach(i=>{let o=n.retina.pixelRatio,r={x:(i.offsetLeft+i.offsetWidth*R.half)*o,y:(i.offsetTop+i.offsetHeight*R.half)*o},l=i.offsetWidth*R.half*o,c=a.type===eL.DivType.circle?new eW.Circle(r.x,r.y,l):new eW.Rectangle(i.offsetLeft*o,i.offsetTop*o,i.offsetWidth*o,i.offsetHeight*o);for(let a of n.particles.grid.query(c,t=>this.isEnabled(e,t))){if(!c.contains(a.getPosition()))continue;let e=this.getOrCreateModifier(a);e.enabled=!0,e.inRange=!0;let n=eN(s.divs,i);e.div&&e.div===i||(this.clear(a,t,!0),e.div=i),this.#v(a,1,n),this.#b(a,1,n),this.#f(a,1,n)}})}}async function ti(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalBubble",t=>Promise.resolve(new tt(e.pluginManager,t)))})}class ta{opacity=.5;load(e){(0,w.isNull)(e)||(0,C.loadRangeProperty)(this,"opacity",e.opacity)}}class tn{distance=80;links=new ta;radius=60;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"distance",e.distance),this.links.load(e.links),(0,C.loadProperty)(this,"radius",e.radius))}}class to extends eA{#l;constructor(e){super(e),this.#l=0}get maxDistance(){return this.#l}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.connect;t&&(this.#l=t.distance,e.retina.connectModeDistance=t.distance*e.retina.pixelRatio,e.retina.c
1onnectModeRadius=t.radius*e.retina.pixelRatio)}interact(e){let t=this.container,i=t.actualOptions;if(i.interactivity?.events.onHover.enable&&"pointermove"===e.status){let i=e.mouse.position,{connectModeDistance:a,connectModeRadius:n}=t.retina;if(!a||a<0||!n||n<0||!i)return;let o=Math.abs(n),s=t.particles.grid.queryCircle(i,o,t=>this.isEnabled(e,t));s.forEach((e,i)=>{let n=e.getPosition();for(let o of s.slice(i+1)){let i=o.getPosition(),s=Math.abs(a),r=Math.abs(n.x-i.x),l=Math.abs(n.y-i.y);r<s&&l<s&&function(e,t,i){e.canvas.render.draw(a=>{var n;let o=function(e,t,i,a){let n=e.actualOptions,o=n.interactivity?.modes.connect;if(o)return function(e,t,i,a,n){let o=Math.floor(a.getRadius()/i.getRadius()),s=i.getFillColor(),r=a.getFillColor();if(!s||!r)return;let l=i.getPosition(),c=a.getPosition(),d=(0,T.colorMix)(s,r,i.getRadius(),a.getRadius()),u=t.createLinearGradient(l.x,l.y,c.x,c.y);return u.addColorStop(0,(0,T.getStyleFromHsl)(s,e.hdr,n)),u.addColorStop((0,D.clamp)(o,0,1),(0,T.getStyleFromRgb)(d,e.hdr,n)),u.addColorStop(1,(0,T.getStyleFromHsl)(r,e.hdr,n)),u}(e,t,i,a,o.links.opacity)}(e,a,t,i);if(!o)return;let s=t.getPosition(),r=i.getPosition();n=t.retina.linksWidth??0,ek(a,s,r),a.lineWidth=n,a.strokeStyle=o,a.stroke()})}(t,e,o)}})}}isEnabled(e,t){let i=this.container,a=e.mouse,n=(t?.interactivity??i.actualOptions.interactivity)?.events;return!!(n?.onHover.enable&&a.position)&&(0,B.isInArray)("connect",n.onHover.mode)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"connect",tn,...t)}reset(){}}async function ts(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalConnect",e=>Promise.resolve(new to(e)))})}function tr(e,t){for(let i of e.particles.grid.query(t))i.destroy()}class tl{distance=200;load(e){(0,w.isNull)(e)||(0,C.loadProperty)(this,"distance",e.distance)}}let tc="destroy";class td extends eA{#l;constructor(e){super(e),this.#l=0}get maxDistance(){return this.#l}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.destroy;t&&(this.#l=t.distance,e.retina.destroyModeDistance=t.distance*e.retina.pixelRatio)}interact(e){var t,i;let a=this.container.actualOptions,n=a.interactivity?.events,o=e.status===ej.mouseMoveEvent;if(!n)return;let s=n.onHover.enable,r=n.onHover.mode,l=n.onDiv;if(o&&s&&(0,B.isInArray)(tc,r)){let i,a,n;t=this.container,i=t.retina.pixelRatio,a=e.mouse.position,(n=t.retina.destroyModeDistance)&&!(n<R.minRadius)&&a&&tr(t,new eW.Circle(a.x,a.y,n+10*i))}else i=this.container,eB(tc,l,(e,t)=>{let a;(a=(0,B.safeDocument)().querySelectorAll(e)).length&&a.forEach(e=>{let a=i.retina.pixelRatio,n={x:(e.offsetLeft+e.offsetWidth*R.half)*a,y:(e.offsetTop+e.offsetHeight*R.half)*a},o=e.offsetWidth*R.half*a,s=10*a;tr(i,t.type===eL.DivType.circle?new eW.Circle(n.x,n.y,o+s):new eW.Rectangle(e.offsetLeft*a-s,e.offsetTop*a-s,e.offsetWidth*a+s*R.double,e.offsetHeight*a+s*R.double))})})}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;if(!n)return!1;let o=n.onDiv;return!!a.position&&n.onHover.enable&&(0,B.isInArray)(tc,n.onHover.mode)||eH(tc,o)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"destroy",tl,...t)}reset(){}}async function tu(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalDestroy",async e=>Promise.resolve(new td(e)))})}class tp{blink=!1;color;consent=!1;opacity=1;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"blink",e.blink),void 0!==e.color&&(this.color=e4.OptionsColor.create(this.color,e.color)),(0,C.loadProperty)(this,"consent",e.consent),(0,C.loadRangeProperty)(this,"opacity",e.opacity))}}class tg{distance=100;links=new tp;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"distance",e.distance),this.links.load(e.links))}}class th extends eA{#l;#t;constructor(e,t){super(t),this.#t=e,this.#l=0}get maxDistance(){return this.#l}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.grab;t&&(this.#l=t.distance,e.retina.grabModeDistance=t.distance*e.retina.pixelRatio)}interact(e){let t=this.container,i=t.actualOptions.interactivity;if(!i?.modes.grab||!i.events.onHover.enable||e.status!==ej.mouseMoveEvent)return;let a=e.mouse.position;if(!a)return;let n=t.retina.grabModeDistance;if(n&&!(n<0))for(let o of t.particles.grid.queryCircle(a,n,t=>this.isEnabled(e,t))){let e=o.getPosition(),s=(0,D.getDistance)(e,a);if(s>n)continue;let r=i.modes.grab.links,l=r.opacity,c=l-s*l/n;if(c<=0)continue;let d=r.color??o.options.links?.color;if(!t.particles.grabLineColor&&d){let e=i.modes.grab.links;t.particles.grabLineColor=(0,T.getLinkRandomColor)(this.#t,d,e.blink,e.consent)}let u=(0,T.getLinkColor)(o,void 0,t.particles.grabLineColor);u&&function(e,t,i,a,n){e.canvas.render.draw(o=>{let s=t.getPosition();!function(e,t,i,a,n,o,s=!1){ek(e,i,a),e.strokeStyle=(0,T.getStyleFromRgb)(n,s,o),e.lineWidth=t,e.stroke()}(o,t.retina.linksWidth??0,s,n,i,a,e.hdr)})}(t,o,u,c,a)}}isEnabled(e,t){let i=this.container,a=e.mouse,n=(t?.interactivity??i.actualOptions.interactivity)?.events;return!!n?.onHover.enable&&!!a.position&&(0,B.isInArray)("grab",n.onHover.mode)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"grab",tg,...t)}reset(){}}async function tm(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalGrab",t=>Promise.resolve(new th(e.pluginManager,t)))})}class ty{force=2;smooth=10;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"force",e.force),(0,C.loadProperty)(this,"smooth",e.smooth))}}class tf extends eA{maxDistance=0;constructor(e){super(e)}clear(){}init(){}interact(e){for(let t of this.container.particles.filter(t=>this.isEnabled(e,t)))this.#x(e,t)}isEnabled(e,t){let i=this.container,a=e.mouse,n=(t?.interactivity??i.actualOptions.interactivity)?.events;return!!n?.onHover.enable&&!!a.position&&(0,B.isInArray)("parallax",n.onHover.mode)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"parallax",ty,...t)}reset(){}#x(e,t){if(!this.isEnabled(e,t))return;let i=this.container,a=i.actualOptions,n=a.interactivity?.modes.parallax;if(!n)return;let o=n.force,s=e.mouse.position;if(!s)return;let r=i.canvas.size,l={x:r.width*R.half,y:r.height*R.half},c=n.smooth,d=t.getRadius()/o,u={x:(s.x-l.x)*d,y:(s.y-l.y)*d},{offset:p}=t;p.x+=(u.x-p.x)/c,p.y+=(u.y-p.y)/c}}async function tv(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalParallax",e=>Promise.resolve(new tf(e)))})}let tb="pause";class tx extends eA{handleClickMode;maxDistance=0;constructor(e){super(e),this.handleClickMode=e=>{if(e!==tb)return;let t=this.container;t.animationStatus?t.pause():t.play()}}clear(){}init(){}interact(){}isEnabled(e,t){let i=this.container.actualOptions,a=(t?.interactivity??i.interactivity)?.events;return!!a&&(0,B.isInArray)(tb,a.onClick.mode)}reset(){}}async function tM(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalPause",e=>Promise.resolve(new tx(e)))})}class tw{default=!0;groups=[];particles;quantity=4;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"default",e.default),void 0!==e.groups&&(this.groups=e.groups.map(e=>e)),this.groups.length||(this.default=!0),(0,C.loadRangeProperty)(this,"quantity",e.quantity),this.particles=(0,B.executeOnSingleOrMultiple)(e.particles,e=>(0,B.deepExtend)({},e)))}}let tC="push";class tP extends eA{handleClickMode;maxDistance=0;constructor(e){super(e),this.handleClickMode=(e,t)=>{if(e!==tC)return;let i=this.container,a=i.actualOptions,n=a.interactivity?.modes.push;if(!n)return;let o=(0,D.getRangeValue)(n.quantity);if(o<=0)return;let s=(0,B.itemFromArray)([void 0,...n.groups]),r=void 0!==s?i.actualOptions.particles.groups[s]:void 0,l=(0,B.itemFromSingleOrMultiple)(n.particles),c=(0,B.deepExtend)(r,l);i.particles.push(o,t.mouse.position,c,s)}}clear(){}init(){}interact(){}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;return!!n&&a.clicking&&a.inside&&!!a.position&&(0,B.isInArray)(tC,n.onClick.mode)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"push",tw,...t)}reset(){}}async function tO(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalPush",e=>Promise.resolve(new tP(e)))})}class tk{quantity=2;load(e){(0,w.isNull)(e)||(0,C.loadRangeProperty)(this,"quantity",e.quantity)}}let tD="remove";class tR extends eA{handleClickMode;maxDistance=0;constructor(e){super(e),this.handleClickMode=e=>{let t=this.container,i=t.actualOptions;if(!i.interactivity?.modes.remove||e!==tD)return;let a=(0,D.getRangeValue)(i.interactivity.modes.remove.quantity);for(let e=0;e<a;e++)t.particles.get(e)?.destroy()}}clear(){}init(){}interact(){}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;return!!n&&a.clicking&&a.inside&&!!a.position&&(0,B.isInArray)(tD,n.onClick.mode)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"remove",tk,...t)}reset(){}}async function tS(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalRemove",e=>Promise.resolve(new tR(e)))})}class tI{distance=200;duration=.4;easing="ease-out-quad";factor=100;maxSpeed=50;restore;speed=1;constructor(){this.restore={enable:!1,delay:0,speed:.08,follow:!0}}load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"distance",e.distance),(0,C.loadProperty)(this,"duration",e.duration),(0,C.loadProperty)(this,"easing",e.easing),(0,C.loadProperty)(this,"factor",e.factor),(0,C.loadProperty)(this,"speed",e.speed),(0,C.loadProperty)(this,"maxSpeed",e.maxSpeed),void 0!==e.restore&&(this.restore.enable=e.restore.enable??this.restore.enable,this.restore.delay=e.restore.delay??this.restore.delay,this.restore.speed=e.restore.speed??this.restore.speed,this.restore.follow=e.restore.follow??this.restore.follow))}}class tV extends tI{selectors=[];load(e){super.load(e),(0,w.isNull)(e)||(0,C.loadProperty)(this,"selectors",e.selectors)}}class tz extends tI{divs;load(e){super.load(e),(0,w.isNull)(e)||(this.divs=(0,B.executeOnSingleOrMultiple)(e.divs,e=>{let t=new tV;return t.load(e),t}))}}let tE="repulse";class tA extends eA{handleClickMode;#M;#r;#l;#w;#t;#c;constructor(e,t){super(t),this.#t=e,this.#l=0,this.#w=eo.Vector.origin,this.#r=new Set,this.#M=eo.Vector.origin,this.#c=new Map,t.repulse??={particles:[]},this.handleClickMode=(e,i)=>{let a=this.container.actualOptions,n=a.interactivity?.modes.repulse;if(!n||e!==tE)return;t.repulse??={particles:[]};let o=t.repulse;for(let e of(o.clicking=!0,o.count=0,t.repulse.particles))this.isEnabled(i,e)&&e.velocity.setTo(e.initialVelocity);o.particles=[],o.finish=!1,setTimeout(()=>{t.destroyed||(o.clicking=!1)},n.duration*R.millisecondsToSeconds)}}get maxDistance(){return this.#l}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.repulse;t&&(this.#l=t.distance,e.retina.repulseModeDistance=t.distance*e.retina.pixelRatio)}interact(e){this.#r.clear();
1let t=this.container.actualOptions,i=e.status===ej.mouseMoveEvent,a=t.interactivity?.events;if(!a)return;let n=a.onHover,o=n.enable,s=n.mode,r=a.onClick,l=r.enable,c=r.mode,d=a.onDiv;i&&o&&(0,B.isInArray)(tE,s)?this.#C(e):l&&(0,B.isInArray)(tE,c)?this.#P(e):eB(tE,d,(t,i)=>{this.#O(e,t,i)}),this.#u()}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,n=(t?.interactivity??i.interactivity)?.events;if(!n)return!1;let o=n.onDiv,s=n.onHover,r=n.onClick,l=eH(tE,o);if(!(l||s.enable&&a.position||r.enable&&a.clickPosition))return!1;let c=s.mode,d=r.mode;return(0,B.isInArray)(tE,c)||(0,B.isInArray)(tE,d)||l}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"repulse",tz,...t)}reset(){}#P(e){let t=this.container,i=t.actualOptions.interactivity?.modes.repulse;if(!i)return;let a=t.repulse??{particles:[]};if(a.finish||(a.count??=0,a.count++,a.count===t.particles.count&&(a.finish=!0)),a.clicking){let n=t.retina.repulseModeDistance;if(!n||n<0)return;let o=Math.pow(n/6,3),s=e.mouse.clickPosition;if(void 0===s)return;let r=new eW.Circle(s.x,s.y,o);for(let n of t.particles.grid.query(r,t=>this.isEnabled(e,t))){let{dx:e,dy:t,distance:r}=(0,D.getDistances)(s,n.position),l=r**2,c=-o*i.speed/l;l<=o&&(this.#d(n),a.particles.push(n),this.#M.x=e,this.#M.y=t,this.#M.length=c,n.velocity.setTo(this.#M))}}else if(!1===a.clicking){for(let e of a.particles)e.velocity.setTo(e.initialVelocity);a.particles=[]}}#C(e){let t=this.container,i=e.mouse.position,a=t.retina.repulseModeDistance;a&&!(a<0)&&i&&this.#k(e,i,a,new eW.Circle(i.x,i.y,a))}#k(e,t,i,a,n){let o=this.container,s=o.particles.grid.query(a,t=>this.isEnabled(e,t)),r=o.actualOptions.interactivity?.modes.repulse;if(!r)return;let{easing:l,speed:c,factor:d,maxSpeed:u}=r,p=this.#t.getEasing(l),g=(n?.speed??c)*d;for(let e of s){let{dx:a,dy:n,distance:o}=(0,D.getDistances)(e.position,t),s=(0,D.clamp)(p(1-o/i)*g,0,u);this.#w.x=o?a/o*s:g,this.#w.y=o?n/o*s:g,this.#d(e),e.position.addTo(this.#w)}}#u(){let e=this.container.actualOptions.interactivity?.modes.repulse?.restore;if(!e?.enable||!this.#c.size)return;let t=Date.now(),i=e.delay*R.millisecondsToSeconds,a=Math.max(.001,Math.min(1,e.speed));for(let[n,o]of this.#c){if(this.#r.has(n))continue;if(n.destroyed){this.#c.delete(n);continue}let s=o.target;if(t-o.lastInteractionTime<i)continue;e.follow&&n.options.move.enable&&(s.x+=n.velocity.x,s.y+=n.velocity.y,s.z+=n.velocity.z);let r=s.x-n.position.x,l=s.y-n.position.y,c=s.z-n.position.z;if(n.position.x+=r*a,n.position.y+=l*a,n.position.z+=c*a,.5>=Math.abs(r)&&.5>=Math.abs(l)){n.position.x=s.x,n.position.y=s.y,n.position.z=s.z,this.#c.delete(n);continue}}}#O(e,t,i){let a=this.container,n=a.actualOptions.interactivity?.modes.repulse;if(!n)return;let o=(0,B.safeDocument)().querySelectorAll(t);o.length&&o.forEach(t=>{let o=a.retina.pixelRatio,s={x:(t.offsetLeft+t.offsetWidth*R.half)*o,y:(t.offsetTop+t.offsetHeight*R.half)*o},r=t.offsetWidth*R.half*o,l=i.type===eL.DivType.circle?new eW.Circle(s.x,s.y,r):new eW.Rectangle(t.offsetLeft*o,t.offsetTop*o,t.offsetWidth*o,t.offsetHeight*o),c=eN(n.divs,t);this.#k(e,s,r,l,c)})}#d(e){this.#r.add(e);let t=this.container.actualOptions.interactivity?.modes.repulse?.restore;if(!t?.enable)return;let i=Date.now(),a=this.#c.get(e);a||(a={target:e.position.copy(),lastInteractionTime:i},this.#c.set(e,a)),a.lastInteractionTime=i,t.follow&&e.options.move.enable&&(a.target.x+=e.velocity.x,a.target.y+=e.velocity.y,a.target.z+=e.velocity.z)}}async function tT(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e);let t=e.pluginManager;t.addInteractor?.("externalRepulse",e=>Promise.resolve(new tA(t,e)))})}class tL{factor=3;radius=200;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"factor",e.factor),(0,C.loadProperty)(this,"radius",e.radius))}}class tF{enabled=!1;id="slow";priority=100;speedFactor=1}let tH="slow";class tB extends eA{#l;#p=new WeakMap;constructor(e){super(e),this.#l=0}get maxDistance(){return this.#l}clear(e,t,i){let a=this.#p.get(e);(!a?.enabled||i)&&(e.removeModifier(tH),this.#p.delete(e))}getOrCreateModifier(e){let t=this.#p.get(e);return t||(t=new tF,this.#p.set(e,t),e.addModifier(t)),t}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.slow;t&&(this.#l=t.radius,e.retina.slowModeRadius=t.radius*e.retina.pixelRatio)}interact(){}isEnabled(e,t){let i=this.container,a=e.mouse,n=(t?.interactivity??i.actualOptions.interactivity)?.events;return!!n?.onHover.enable&&!!a.position&&(0,B.isInArray)(tH,n.onHover.mode)}loadModeOptions(e,...t){(0,C.loadOptionProperty)(e,"slow",tL,...t)}reset(e,t){let i=this.#p.get(t);i&&(i.enabled=!1);let a=this.container,n=a.actualOptions,o=e.mouse.position,s=a.retina.slowModeRadius,r=n.interactivity?.modes.slow;if(!r||!s||s<0||!o)return;let l=t.getPosition(),c=(0,D.getDistance)(o,l),d=r.factor;if(c>s)return;let u=this.getOrCreateModifier(t);u.enabled=!0,u.speedFactor=c/s/d}}async function tN(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("externalSlow",e=>Promise.resolve(new tB(e)))})}var t$=e.i(32032);let tq=["image","images"],tj=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function tW(e){return new Promise(t=>{e.loading=!0;let i=new Image;e.element=i,i.addEventListener("load",()=>{e.loading=!1,t()}),i.addEventListener("error",()=>{e.element=void 0,e.error=!0,e.loading=!1,(0,t$.getLogger)().error(`Error loading image: ${e.source}`),t()}),i.src=e.source})}async function tG(e){if("svg"!==e.type)return void await tW(e);e.loading=!0;let t=await fetch(e.source);t.ok?e.svgData=await t.text():((0,t$.getLogger)().error("Image not found"),e.error=!0),e.loading=!1}class tU{#i;#D;constructor(e,t){this.#D=e,this.#i=t}
1draw(e){let{context:t,radius:i,particle:a,opacity:n}=e,o=a.image,s=o?.element;if(o){if(t.globalAlpha=n,s){let e=o.ratio,a={x:-i,y:-i},n=i*R.double;t.drawImage(s,a.x,a.y,n,n/e)}t.globalAlpha=R.defaultAlpha}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this.#D.loadImage)return;let i=[];for(let a of t.preload)i.push(this.#D.loadImage(e,a));await Promise.all(i)}loadShape(e){let t=this.#i;if(!e.shape||!tq.includes(e.shape))return;let i=e.shapeData;if(!i)return;let a=this.#D.getImages?.(t);a?.find(e=>e.name===i.name||e.source===i.src)||this.#R(t,i).then(()=>{this.loadShape(e)})}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;let i=this.#D.getImages?.(e),a=t.shapeData;if(!a)return;let n=t.getFillColor(),o=i?.find(e=>e.name===a.name||e.source===a.src);if(!o)return;let s=a.replaceColor;o.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let i;(i=o.svgData&&n?await function(e,t,i,a,n=!1){let o=function(e,t,i,a=!1){let{svgData:n}=e;if(!n)return"";let o=(0,T.getStyleFromHsl)(t,a,i);if(n.includes("fill"))return n.replaceAll(tj,()=>o);let s=n.indexOf(">");return`${n.substring(0,s)} fill="${o}"${n.substring(s)}`}(e,i,a.opacity?.value??1,n),s={color:i,data:{...e,svgData:o},loaded:!1,ratio:t.width/t.height,replaceColor:t.replaceColor,source:t.src};return new Promise(t=>{let i=new Blob([o],{type:"image/svg+xml"}),a=URL.createObjectURL(i),n=new Image;n.addEventListener("load",()=>{s.loaded=!0,s.element=n,t(s),URL.revokeObjectURL(a)});let r=async()=>{URL.revokeObjectURL(a);let i={...e,error:!1,loading:!0};await tW(i),s.loaded=!0,s.element=i.element,t(s)};n.addEventListener("error",()=>void r()),n.src=a})}(o,a,n,t,e.hdr):{color:n,data:o,element:o.element,loaded:!0,ratio:a.width&&a.height?a.width/a.height:o.ratio??R.defaultRatio,replaceColor:s,source:a.src}).ratio||(i.ratio=1);let r=a.close??t.shapeClose;t.image=i,t.shapeClose=r})()}#R=async(e,t)=>{if(!this.#D.loadImage)throw Error("Image shape not initialized");await this.#D.loadImage(e,{name:t.name,replaceColor:t.replaceColor,src:t.src})}}class tK{height;name;replaceColor;src="";width;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"height",e.height),(0,C.loadProperty)(this,"name",e.name),(0,C.loadProperty)(this,"replaceColor",e.replaceColor),(0,C.loadProperty)(this,"src",e.src),(0,C.loadProperty)(this,"width",e.width))}}class t_{id="image-preloader";#D;constructor(e){this.#D=e}async getPlugin(t){let{ImagePreloaderInstance:i}=await e.A(23782);return new i(this.#D,t)}loadOptions(e,t,i){if(!i?.preload)return;t.preload??=[];let a=t.preload;for(let e of i.preload){let t=a.find(t=>t.name===e.name||t.src===e.src);if(t)t.load(e);else{let t=new tK;t.load(e),a.push(t)}}}needsPlugin(){return!0}}async function tQ(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.getImages??=t=>{e.images??=new Map;let i=e.images.get(t);return i||(i=[],e.images.set(t,i)),i},e.loadImage??=async(t,i)=>{if(!e.getImages)throw Error("No images collection found");if(!i.name&&!i.src)throw Error("No image source provided");e.images??=new Map;let a=e.getImages(t);if(!a.some(e=>e.name===i.name||e.source===i.src))try{let n,o={name:i.name??i.src,source:i.src,type:i.src.substring(i.src.length-3),error:!1,loading:!0,replaceColor:i.replaceColor,ratio:i.width&&i.height?i.width/i.height:void 0};a.push(o),e.images.set(t,a),n=i.replaceColor?tG:tW,await n(o)}catch{throw Error(`${i.name??i.src} not found`)}},e.pluginManager.addPlugin(new t_(e)),e.pluginManager.addShape(tq,t=>Promise.resolve(new tU(e,t)))})}var tX=_;class tY extends tX.ValueWithRandom{sync=!1;load(e){(0,w.isNull)(e)||(super.load(e),(0,C.loadProperty)(this,"sync",e.sync))}}var tJ=_;class tZ extends tJ.ValueWithRandom{sync=!1;load(e){(0,w.isNull)(e)||(super.load(e),(0,C.loadProperty)(this,"sync",e.sync))}}class t0{count=0;delay=new tY;duration=new tZ;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"count",e.count),this.delay.load(e.delay),this.duration.load(e.duration))}}class t1{#i;constructor(e){this.#i=e}init(e){let t=this.#i,i=e.options.life;if(!i)return;let a=i.delay.sync?1:(0,D.getRandom)(),n=i.duration.sync?1:(0,D.getRandom)();e.life={delay:t.retina.reduceFactor?(0,D.getRangeValue)(i.delay.value)*a/t.retina.reduceFactor*R.millisecondsToSeconds:0,delayTime:0,duration:t.retina.reduceFactor?(0,D.getRangeValue)(i.duration.value)*n/t.retina.reduceFactor*R.millisecondsToSeconds:0,time:0,count:i.count},e.life.duration<=0&&(e.life.duration=-1),e.life.count<=0&&(e.life.count=-1),e.spawning=e.life.delay>0}isEnabled(e){return!e.destroyed}loadOptions(e,...t){(0,C.loadOptionProperty)(e,"life",t0,...t)}update(e,t){this.isEnabled(e)&&e.life&&function(e,t,i){if(!e.life)return;let a=e.life,n=!1;if(e.spawning){if(a.delayTime+=t.value,!(a.delayTime>=e.life.delay))return;n=!0,e.spawning=!1,a.delayTime=0,a.time=0}if(-1===a.duration||(n?a.time=0:a.time+=t.value,a.time<a.duration))return;if(a.time=0,e.life.count>0&&e.life.count--,0===e.life.count)return e.destroy();let o=(0,D.setRangeValue)(0,i.width),s=(0,D.setRangeValue)(0,i.width);e.position.x=(0,D.randomInRangeValue)(o),e.position.y=(0,D.randomInRangeValue)(s),e.spawning=!0,a.delayTime=0,a.time=0,e.reset();let r=e.options.life;r&&(a.delay=(0,D.getRangeValue)(r.delay.value)*R.millisecondsToSeconds,a.duration=(0,D.getRangeValue)(r.duration.value)*R.millisecondsToSeconds)}(e,t,this.#i.canvas.size)}}async function t2(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("life",e=>Promise.resolve(new t1(e)))})}
1class t3{draw(e){!function(e){let{context:t,particle:i,radius:a}=e,n=i.shapeData;t.moveTo(-a,0),t.lineTo(a,0),t.lineCap=n?.cap??"butt"}(e)}getSidesCount(){return 1}}async function t4(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["line"],()=>Promise.resolve(new t3))})}class t5{distance=200;enable=!1;rotate;constructor(){this.rotate={x:3e3,y:3e3}}load(e){if(!(0,w.isNull)(e)&&((0,C.loadRangeProperty)(this,"distance",e.distance),(0,C.loadProperty)(this,"enable",e.enable),e.rotate)){let t=e.rotate.x;void 0!==t&&(this.rotate.x=t);let i=e.rotate.y;void 0!==i&&(this.rotate.y=i)}}}class t6 extends eT{#l;constructor(e){super(e),this.#l=0}get maxDistance(){return this.#l}clear(){}init(){}interact(e){if(!e.options.attract?.enable)return;let t=this.container;if((0,w.isNull)(e.attractDistance)){let i=(0,D.getRangeValue)(e.options.attract.distance);i>this.#l&&(this.#l=i),e.attractDistance=i*t.retina.pixelRatio}let i=e.attractDistance,a=e.getPosition();for(let n of t.particles.grid.queryCircle(a,i)){if(e===n||!n.options.attract?.enable||n.destroyed||n.spawning)continue;let t=n.getPosition(),{dx:i,dy:o}=(0,D.getDistances)(a,t),s=e.options.attract.rotate,r=i/(1e3*s.x),l=o/(1e3*s.y),c=n.size.value/e.size.value,d=1/c;e.velocity.x-=r*c,e.velocity.y-=l*c,n.velocity.x+=r*d,n.velocity.y+=l*d}}isEnabled(e){return e.options.attract?.enable??!1}loadParticlesOptions(e,...t){(0,C.loadOptionProperty)(e,"attract",t5,...t)}reset(){}}async function t9(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addInteractor?.("particlesAttract",e=>Promise.resolve(new t6(e)))})}var t8=e.i(36960);(o=d||(d={})).absorb="absorb",o.bounce="bounce",o.destroy="destroy";class t7{speed=2;load(e){(0,w.isNull)(e)||(0,C.loadProperty)(this,"speed",e.speed)}}class ie{enable=!0;retries=0;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"enable",e.enable),(0,C.loadProperty)(this,"retries",e.retries))}}class it{absorb=new t7;bounce=new t8.ParticlesBounce;enable=!1;maxSpeed=50;mode=d.bounce;overlap=new ie;load(e){(0,w.isNull)(e)||(this.absorb.load(e.absorb),this.bounce.load(e.bounce),(0,C.loadProperty)(this,"enable",e.enable),(0,C.loadRangeProperty)(this,"maxSpeed",e.maxSpeed),(0,C.loadProperty)(this,"mode",e.mode),this.overlap.load(e.overlap))}}function ii(e,t,i,a,n,o){if(!e.options.collisions||!i.options.collisions)return;let s=e.options.collisions.absorb.speed,r=(0,D.clamp)(s*n.factor,0,a);e.size.value=Math.sqrt(t*t+r*r),i.size.value-=r,i.size.value<=o&&(i.size.value=0,i.destroy())}let ia=e=>{e.options.collisions&&(e.collisionMaxSpeed??=(0,D.getRangeValue)(e.options.collisions.maxSpeed),e.velocity.length>e.collisionMaxSpeed&&(e.velocity.length=e.collisionMaxSpeed))};function io(e,t){let i=e.getMass(),a=t.getMass(),n=e.velocity.length,o=t.velocity.length,s=i*n*n+a*o*o;(0,B.circleBounce)((0,B.circleBounceDataFromParticle)(e),(0,B.circleBounceDataFromParticle)(t));let r=e.velocity.length,l=t.velocity.length,c=i*r*r+a*l*l;if(c>1e-6*s){let i=Math.sqrt(s/c);Math.abs(i-1)>1e-4&&(e.velocity.length=r*i,t.velocity.length=l*i)}ia(e),ia(t)}class is extends eT{maxDistance;constructor(e){super(e),this.maxDistance=0}clear(){}init(){}interact(e,t,i){if(e.destroyed||e.spawning)return;let a=this.container,n=e.getPosition(),o=e.getRadius();for(let t of a.particles.grid.queryCircle(n,o*R.double)){if(e===t||e.id>=t.id||!e.options.collisions?.enable||!t.options.collisions?.enable||e.options.collisions.mode!==t.options.collisions.mode||t.destroyed||t.spawning)continue;let s=t.getPosition(),r=t.getRadius();if(!(Math.abs(Math.round(n.z)-Math.round(s.z))>o+r))(0,D.getDistance)(n,s)>o+r||function(e,t,i,a){if(e.options.collisions&&t.options.collisions)switch(e.options.collisions.mode){case d.absorb:let n,o;n=e.getRadius(),o=t.getRadius(),!n&&o?e.destroy():n&&!o?t.destroy():n&&o&&(n>=o?ii(e,n,t,o,i,a):ii(t,o,e,n,i,a));break;case d.bounce:io(e,t);break;case d.destroy:let s,r;e.unbreakable||t.unbreakable||io(e,t),s=e.getRadius(),r=t.getRadius(),!s&&r?e.destroy():s&&!r?t.destroy():s&&r&&(e.getRadius()>=t.getRadius()?t:e).destroy()}}(e,t,i,a.retina.pixelRatio)}}isEnabled(e){return!!e.options.collisions?.enable}loadParticlesOptions(e,...t){(0,C.loadOptionProperty)(e,"collisions",it,...t)}reset(){}}class ir{id="overlap";async getPlugin(t){let{OverlapPluginInstance:i}=await e.A(32118);return new i(t)}loadOptions(){}needsPlugin(){return!0}}async function il(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{eq(e),e.pluginManager.addPlugin(new ir),e.pluginManager.addInteractor?.("particlesCollisions",e=>Promise.resolve(new is(e)))})}var ic=eW;class id extends ic.Circle{#S;constructor(e,t,i,a){super(e,t,i),this.#S=a}contains(e){if(super.contains(e))return!0;let{width:t,height:i}=this.#S,{x:a,y:n}=e;return super.contains({x:a-t,y:n})||super.contains({x:a+t,y:n})||super.contains({x:a,y:n-i})||super.contains({x:a,y:n+i})||super.contains({x:a-t,y:n-i})||super.contains({x:a+t,y:n+i})||super.contains({x:a-t,y:n+i})||super.contains({x:a+t,y:n-i})}intersects(e){if(super.intersects(e))return!0;let{width:t,height:i}=this.#S,a=e.position;for(let n of[{x:-t,y:0},{x:t,y:0},{x:0,y:-i},{x:0,y:i},{x:-t,y:-i},{x:t,y:i},{x:-t,y:i},{x:t,y:-i}]){let t,i={x:a.x+n.x,y:a.y+n.y};if(t=e instanceof ic.Circle?new ic.Circle(i.x,i.y,e.radius):new ic.Rectangle(i.x,i.y,e.size.width,e.size.height),super.intersects(t))return!0}return!1}}class iu{blur=5;color=new e4.OptionsColor;enable=!1;constructor(){this.color.value="#000"}load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"blur",e.blur),this.color=e4.OptionsColor.create(this.color,e.color),(0,C.loadProperty)(this,"enable",e.enable))}}class ip{color;enable=!1;frequency=1;opacity;load(e){(0,w.isNull)(e)||(void 0!==e.color&&(this.color=e4.OptionsColor.create(this.color,e.color)),(0,C.loadProperty)(this,"enable",e.enable),(0,C.loadProperty)(this,"frequency",e.frequency),(0,C.loadProperty)(this,"opacity",e.opacity))}}class ig{blink=!1;color=new e4.OptionsColor;consent=!1;distance=100;enable=!1;frequency=1;id;opacity=1;shadow=new iu;triangles=new ip;warp=!1;width=1;constructor(){this.color.value="#fff"}load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"id",e.id),(0,C.loadProperty)(this,"blink",e.blink),this.color=e4.OptionsColor.create(this.color,e.color),(0,C.loadProperty)(this,"consent",e.consent),(0,C.loadProperty)(this,"distance",e.distance),(0,C.loadProperty)(this,"enable",e.enable),(0,C.loadProperty)(this,"frequency",e.frequency),(0,C.loadProperty)(this,"opacity",e.opacity),this.shadow.load(e.shadow),this.triangles.load(e.triangles),(0,C.loadProperty)(this,"width",e.width),(0,C.loadProperty)(this,"warp",e.warp))}}class ih extends eT{#l;#t;constructor(e,t){super(t),this.#t=e,this.#l=0}get maxDistance(){return this.#l}clear(){}init(){this.container.particles.linksColor=void 0,this.container.particles.linksColors=new Map}interact(e){if(!e.options.links)return;e.links=[],e.linksDistance&&e.linksDistance>this.#l&&(this.#l=e.linksDistance);let t=e.getPosition(),i=this.container,a=i.canvas.size;if(t.x<R.originPoint.x||t.y<R.originPoint.y||t.x>a.width||t.y>a.height)return;let n=e.options.links,o=n.opacity,s=e.retina.linksDistance??0,r=n.warp,l=r?new id(t.x,t.y,s,a):new eW.Circle(t.x,t.y,s);for(let c of i.particles.grid.query(l)){let i=c.options.links;
1if(e===c||!i?.enable||n.id!==i.id||c.spawning||c.destroyed||!c.links||e.links.some(e=>e.destination===c)||c.links.some(t=>t.destination===e))continue;let l=c.getPosition();if(l.x<R.originPoint.x||l.y<R.originPoint.y||l.x>a.width||l.y>a.height)continue;let d=(0,D.getDistances)(t,l).distance,u=r&&i.warp?function(e,t,i){let{dx:a,dy:n}=(0,D.getDistances)(e,t),o={x:Math.abs(a),y:Math.abs(n)},s={x:Math.min(o.x,i.width-o.x),y:Math.min(o.y,i.height-o.y)};return Math.hypot(s.x,s.y)}(t,l,a):d,p=Math.min(d,u);if(p>s)continue;let g=(1-p/s)*o;this.#I(e),e.links.push({destination:c,opacity:g,color:this.#V(e,c),isWarped:u<d})}}isEnabled(e){return!!e.options.links?.enable}loadParticlesOptions(e,...t){(0,C.loadOptionProperty)(e,"links",ig,...t)}reset(){}#V(e,t){let i=this.container,a=e.options.links;if(!a)return;let n=void 0!==a.id?i.particles.linksColors.get(a.id):i.particles.linksColor;return(0,T.getLinkColor)(e,t,n)}#I(e){if(!e.options.links)return;let t=this.container,i=e.options.links,a=void 0===i.id?t.particles.linksColor:t.particles.linksColors.get(i.id);a||(a=(0,T.getLinkRandomColor)(this.#t,i.color,i.blink,i.consent),void 0===i.id?t.particles.linksColor=a:t.particles.linksColors.set(i.id,a))}}class im{id="links";#t;constructor(e){this.#t=e}async getPlugin(t){let{LinkInstance:i}=await e.A(31047);return new i(this.#t,t)}loadOptions(){}needsPlugin(){return!0}}async function iy(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{let t=e.pluginManager;eq(e),t.addPlugin(new im(t)),t.addInteractor?.("particlesLinks",e=>Promise.resolve(new ih(t,e)))})}let iv=new Map;class ib{draw(e){let{particle:t,radius:i}=e;!function(e,t){let{context:i,radius:a}=e,n=function(e){let t=iv.get(e);if(t)return t;let i=R.doublePI/e,a=(-Math.PI+(e%R.double?0:i))*R.half,n=[];for(let t=0;t<e;t++){let e=a+t*i;n[t]={x:Math.cos(e),y:Math.sin(e)}}return iv.set(e,n),n}(t.count.numerator/t.count.denominator);i.beginPath();for(let e=0;e<n.length;e++){let t=n[e];if(!t)continue;let o=t.x*a,s=t.y*a;e?i.lineTo(o,s):i.moveTo(o,s)}i.closePath()}(e,this.getSidesData(t,i))}getSidesCount(e){let t=e.shapeData;return Math.round((0,D.getRangeValue)(t?.sides??5))}}class ix extends ib{getSidesData(e,t){let{sides:i}=e;return{count:{denominator:1,numerator:i},length:2.66*t/(i/3)}}}class iM extends ib{getSidesCount(){return 3}getSidesData(e,t){return{count:{denominator:1,numerator:3},length:2.66*t/1}}}async function iw(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["polygon"],()=>Promise.resolve(new ix))})}async function iC(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["triangle"],()=>Promise.resolve(new iM))})}async function iP(e){e.checkVersion("4.3.2"),await Promise.all([iw(e),iC(e)])}var iO=e.i(22704),ik=_;class iD{decay=0;enable=!1;speed=0;sync=!1;load(e){(0,w.isNull)(e)||((0,C.loadProperty)(this,"enable",e.enable),(0,C.loadRangeProperty)(this,"speed",e.speed),(0,C.loadRangeProperty)(this,"decay",e.decay),(0,C.loadProperty)(this,"sync",e.sync))}}class iR extends ik.ValueWithRandom{animation=new iD;direction=iO.RotateDirection.clockwise;path=!1;load(e){(0,w.isNull)(e)||(super.load(e),(0,C.loadProperty)(this,"direction",e.direction),this.animation.load(e.animation),(0,C.loadProperty)(this,"path",e.path))}}class iS{#i;constructor(e){this.#i=e}init(e){let t=e.options.rotate;if(!t)return;e.rotate={enable:t.animation.enable,value:(0,D.degToRad)((0,D.getRangeValue)(t.value)),min:0,max:R.doublePI},e.pathRotation=t.path;let i=t.direction;switch(i===iO.RotateDirection.random&&(i=Math.floor((0,D.getRandom)()*R.double)>0?iO.RotateDirection.counterClockwise:iO.RotateDirection.clockwise),i){case iO.RotateDirection.counterClockwise:case"counterClockwise":e.rotate.status=j.AnimationStatus.decreasing;break;case iO.RotateDirection.clockwise:e.rotate.status=j.AnimationStatus.increasing}let a=t.animation;a.enable&&(e.rotate.decay=R.identity-(0,D.getRangeValue)(a.decay),e.rotate.velocity=(0,D.getRangeValue)(a.speed)/360*this.#i.retina.reduceFactor,a.sync||(e.rotate.velocity*=(0,D.getRandom)())),e.rotation=e.rotate.value}isEnabled(e){let t=e.options.rotate;return!!t&&!e.destroyed&&!e.spawning&&(!!t.value||t.animation.enable||t.path)}loadOptions(e,...t){(0,C.loadOptionProperty)(e,"rotate",iR,...t)}update(e,t){!this.isEnabled(e)||(e.isRotating=!!e.rotate,e.rotate&&(K(e,e.rotate,!1,W.DestroyType.none,t),e.rotation=e.rotate.value))}}async function iI(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("rotate",e=>Promise.resolve(new iS(e)))})}
1class iV{draw(e){!function(e){let{context:t,radius:i}=e,a=i*Math.SQRT1_2,n=a*R.double;t.rect(-a,-a,n,n)}(e)}getSidesCount(){return 4}}async function iz(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["edge","square"],()=>Promise.resolve(new iV))})}class iE{draw(e){!function(e){let{context:t,particle:i,radius:a}=e,n=i.sides,o=i.starInset??2;t.moveTo(0,0-a);for(let e=0;e<n;e++)t.rotate(Math.PI/n),t.lineTo(0,0-a*o),t.rotate(Math.PI/n),t.lineTo(0,0-a)}(e)}getSidesCount(e){let t=e.shapeData;return Math.round((0,D.getRangeValue)(t?.sides??5))}particleInit(e,t){let i=t.shapeData;t.starInset=(0,D.getRangeValue)(i?.inset??2)}}async function iA(e){e.checkVersion("4.3.2"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["star"],()=>Promise.resolve(new iE))})}async function iT(e){e.checkVersion("4.3.2"),await e.pluginManager.register(async e=>{let t=async e=>{await e$(e),await Promise.all([tv(e),eX(e),e3(e),ti(e),ts(e),tu(e),tm(e),tM(e),tO(e),tS(e),tT(e),tN(e),t9(e),il(e),iy(e)])};await Promise.all([ew(e),t(e),eP(e),eI(e),tQ(e),t4(e),iP(e),iz(e),iA(e),t2(e),ep(e),iI(e)])})}async function iL(e){await iT(e)}e.s(["default",0,function({className:e,enable:t}){let i=(0,h.useMemo)(()=>({background:{image:"url('/images/BG_Frontpage.png')"},fpsLimit:15,interactivity:{events:{onClick:{enable:!0,mode:"push"},onHover:{enable:!1,mode:"repulse"}},modes:{push:{quantity:1},repulse:{distance:50,duration:.4}}},particles:{paint:{fill:{enable:!0,color:{value:"#50686e"}}},links:{color:"#50686e",distance:150,enable:!0,width:1},move:{direction:x.MoveDirection.none,enable:!0,outModes:{default:M.OutMode.out},random:!1,speed:.2,straight:!1},number:{density:{enable:!0},value:80},shape:{type:"circle"},size:{value:{min:1,max:5}}},detectRetina:!0}),[]);return t?(0,g.jsx)(v,{init:iL,children:(0,g.jsx)(b,{id:"tsparticles",options:i,className:e})}):(0,g.jsx)(g.Fragment,{})}],25180);var iF=e.i(91917),iH=e.i(15349),iB=e.i(21091);e.s(["Pagination",0,function({swiper:e,extendParams:t,on:i,emit:a}){let n,o="swiper-pagination";t({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${o}-bullet`,bulletActiveClass:`${o}-bullet-active`,modifierClass:`${o}-`,currentClass:`${o}-current`,totalClass:`${o}-total`,hiddenClass:`${o}-hidden`,progressbarFillClass:`${o}-progressbar-fill`,progressbarOppositeClass:`${o}-progressbar-opposite`,clickableClass:`${o}-clickable`,lockClass:`${o}-lock`,horizontalClass:`${o}-horizontal`,verticalClass:`${o}-vertical`,paginationDisabledClass:`${o}-disabled`}}),e.pagination={el:null,bullets:[]};let s=0;function r(){return!e.params.pagination.el||!e.pagination.el||Array.isArray(e.pagination.el)&&0===e.pagination.el.length}function l(t,i){let{bulletActiveClass:a}=e.params.pagination;t&&(t=t[`${"prev"===i?"previous":"next"}ElementSibling`])&&(t.classList.add(`${a}-${i}`),(t=t[`${"prev"===i?"previous":"next"}ElementSibling`])&&t.classList.add(`${a}-${i}-${i}`))}function c(t){let i=t.target.closest((0,iF.c)(e.params.pagination.bulletClass));if(!i)return;t.preventDefault();let a=(0,iB.j)(i)*e.params.slidesPerGroup;if(e.params.loop){var n,o,s;if(e.realIndex===a)return;let t=(n=e.realIndex,o=a,(n%=s=e.slides.length,(o%=s)===n+1)?"next":o===n-1?"previous":void 0);"next"===t?e.slideNext():"previous"===t?e.slidePrev():e.slideToLoop(a)}else e.slideTo(a)}function d(){let t,i,o=e.rtl,c=e.params.pagination;if(r())return;let d=e.pagination.el;d=(0,iB.m)(d);let u=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,p=e.params.loop?Math.ceil(u/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?(i=e.previousRealIndex||0,t=e.params.slidesPerGroup>1?Math.floor(e.realIndex/e.params.slidesPerGroup):e.realIndex):void 0!==e.snapIndex?(t=e.snapIndex,i=e.previousSnapIndex):(i=e.previousIndex||0,t=e.activeIndex||0),"bullets"===c.type&&e.pagination.bullets&&e.pagination.bullets.length>0){let a,r,u,p=e.pagination.bullets;if(c.dynamicBullets&&(n=(0,iB.i)(p[0],e.isHorizontal()?"width":"height",!0),d.forEach(t=>{t.style[e.isHorizontal()?"width":"height"]=`${n*(c.dynamicMainBullets+4)}px`}),c.dynamicMainBullets>1&&void 0!==i&&((s+=t-(i||0))>c.dynamicMainBullets-1?s=c.dynamicMainBullets-1:s<0&&(s=0)),u=((r=(a=Math.max(t-s,0))+(Math.min(p.length,c.dynamicMainBullets)-1))+a)/2),p.forEach(e
1=>{let t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(e=>`${c.bulletActiveClass}${e}`)].map(e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e).flat();e.classList.remove(...t)}),d.length>1)p.forEach(i=>{let n=(0,iB.j)(i);n===t?i.classList.add(...c.bulletActiveClass.split(" ")):e.isElement&&i.setAttribute("part","bullet"),c.dynamicBullets&&(n>=a&&n<=r&&i.classList.add(...`${c.bulletActiveClass}-main`.split(" ")),n===a&&l(i,"prev"),n===r&&l(i,"next"))});else{let i=p[t];if(i&&i.classList.add(...c.bulletActiveClass.split(" ")),e.isElement&&p.forEach((e,i)=>{e.setAttribute("part",i===t?"bullet-active":"bullet")}),c.dynamicBullets){let e=p[a],t=p[r];for(let e=a;e<=r;e+=1)p[e]&&p[e].classList.add(...`${c.bulletActiveClass}-main`.split(" "));l(e,"prev"),l(t,"next")}}if(c.dynamicBullets){let t=Math.min(p.length,c.dynamicMainBullets+4),i=(n*t-n)/2-u*n,a=o?"right":"left";p.forEach(t=>{t.style[e.isHorizontal()?a:"top"]=`${i}px`})}}d.forEach((i,n)=>{if("fraction"===c.type&&(i.querySelectorAll((0,iF.c)(c.currentClass)).forEach(e=>{e.textContent=c.formatFractionCurrent(t+1)}),i.querySelectorAll((0,iF.c)(c.totalClass)).forEach(e=>{e.textContent=c.formatFractionTotal(p)})),"progressbar"===c.type){let a;a=c.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";let n=(t+1)/p,o=1,s=1;"horizontal"===a?o=n:s=n,i.querySelectorAll((0,iF.c)(c.progressbarFillClass)).forEach(t=>{t.style.transform=`translate3d(0,0,0) scaleX(${o}) scaleY(${s})`,t.style.transitionDuration=`${e.params.speed}ms`})}"custom"===c.type&&c.renderCustom?((0,iB.s)(i,c.renderCustom(e,t+1,p)),0===n&&a("paginationRender",i)):(0===n&&a("paginationRender",i),a("paginationUpdate",i)),e.params.watchOverflow&&e.enabled&&i.classList[e.isLocked?"add":"remove"](c.lockClass)})}function u(){let t=e.params.pagination;if(r())return;let i=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.grid&&e.params.grid.rows>1?e.slides.length/Math.ceil(e.params.grid.rows):e.slides.length,n=e.pagination.el;n=(0,iB.m)(n);let o="";if("bullets"===t.type){let a=e.params.loop?Math.ceil(i/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&e.params.freeMode.enabled&&a>i&&(a=i);for(let i=0;i<a;i+=1)t.renderBullet?o+=t.renderBullet.call(e,i,t.bulletClass):o+=`<${t.bulletElement} ${e.isElement?'part="bullet"':""} class="${t.bulletClass}"></${t.bulletElement}>`}"fraction"===t.type&&(o=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):`<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`),"progressbar"===t.type&&(o=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):`<span class="${t.progressbarFillClass}"></span>`),e.pagination.bullets=[],n.forEach(i=>{"custom"!==t.type&&(0,iB.s)(i,o||""),"bullets"===t.type&&e.pagination.bullets.push(...i.querySelectorAll((0,iF.c)(t.bulletClass)))}),"custom"!==t.type&&a("paginationRender",n[0])}function p(){let t;e.params.pagination=(0,iH.c)(e,e.originalParams.pagination,e.params.pagination,{el:"swiper-pagination"});let i=e.params.pagination;!i.el||("string"==typeof i.el&&e.isElement&&(t=e.el.querySelector(i.el)),t||"string"!=typeof i.el||(t=[...document.querySelectorAll(i.el)]),t||(t=i.el),t&&0!==t.length&&(e.params.uniqueNavElements&&"string"==typeof i.el&&Array.isArray(t)&&t.length>1&&(t=[...e.el.querySelectorAll(i.el)]).length>1&&(t=t.find(t=>(0,iB.d)(t,".swiper")[0]===e.el)),Array.isArray(t)&&1===t.length&&(t=t[0]),Object.assign(e.pagination,{el:t}),(t=(0,iB.m)(t)).forEach(t=>{"bullets"===i.type&&i.clickable&&t.classList.add(...(i.clickableClass||"").split(" ")),t.classList.add(i.modifierClass+i.type),t.classList.add(e.isHorizontal()?i.horizontalClass:i.verticalClass),"bullets"===i.type&&i.dynamicBullets&&(t.classList.add(`${i.modifierClass}${i.type}-dynamic`),s=0,i.dynamicMainBullets<1&&(i.dynamicMainBullets=1)),"progressbar"===i.type&&i.progressbarOpposite&&t.classList.add(i.progressbarOppositeClass),i.clickable&&t.addEventListener("click",c),e.enabled||t.classList.add(i.lockClass)})))}function g(){let t=e.params.pagination;
1if(r())return;let i=e.pagination.el;i&&(i=(0,iB.m)(i)).forEach(i=>{i.classList.remove(t.hiddenClass),i.classList.remove(t.modifierClass+t.type),i.classList.remove(e.isHorizontal()?t.horizontalClass:t.verticalClass),t.clickable&&(i.classList.remove(...(t.clickableClass||"").split(" ")),i.removeEventListener("click",c))}),e.pagination.bullets&&e.pagination.bullets.forEach(e=>e.classList.remove(...t.bulletActiveClass.split(" ")))}i("changeDirection",()=>{if(!e.pagination||!e.pagination.el)return;let t=e.params.pagination,{el:i}=e.pagination;(i=(0,iB.m)(i)).forEach(i=>{i.classList.remove(t.horizontalClass,t.verticalClass),i.classList.add(e.isHorizontal()?t.horizontalClass:t.verticalClass)})}),i("init",()=>{!1===e.params.pagination.enabled?h():(p(),u(),d())}),i("activeIndexChange",()=>{void 0===e.snapIndex&&d()}),i("snapIndexChange",()=>{d()}),i("snapGridLengthChange",()=>{u(),d()}),i("destroy",()=>{g()}),i("enable disable",()=>{let{el:t}=e.pagination;t&&(t=(0,iB.m)(t)).forEach(t=>t.classList[e.enabled?"remove":"add"](e.params.pagination.lockClass))}),i("lock unlock",()=>{d()}),i("click",(t,i)=>{let n=i.target,o=(0,iB.m)(e.pagination.el);if(e.params.pagination.el&&e.params.pagination.hideOnClick&&o&&o.length>0&&!n.classList.contains(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&n===e.navigation.nextEl||e.navigation.prevEl&&n===e.navigation.prevEl))return;!0===o[0].classList.contains(e.params.pagination.hiddenClass)?a("paginationShow"):a("paginationHide"),o.forEach(t=>t.classList.toggle(e.params.pagination.hiddenClass))}});let h=()=>{e.el.classList.add(e.params.pagination.paginationDisabledClass);let{el:t}=e.pagination;t&&(t=(0,iB.m)(t)).forEach(t=>t.classList.add(e.params.pagination.paginationDisabledClass)),g()};Object.assign(e.pagination,{enable:()=>{e.el.classList.remove(e.params.pagination.paginationDisabledClass);let{el:t}=e.pagination;t&&(t=(0,iB.m)(t)).forEach(t=>t.classList.remove(e.params.pagination.paginationDisabledClass)),p(),u(),d()},disable:h,render:u,update:d,init:p,destroy:g})}],3783)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.