biohazard-vfx/.next/static/chunks/3878-7b8e4fa94c2ebd2e.js
nicholai 2e476d7f34
Some checks are pending
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Waiting to run
1.1.design-tokens-and-typography in progress
2025-09-24 11:38:27 -06:00

1 line
164 KiB
JavaScript

try{!function(){var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="e5ae2855-230f-425b-8b7a-aa7c4517fda7",t._sentryDebugIdIdentifier="sentry-dbid-e5ae2855-230f-425b-8b7a-aa7c4517fda7")}()}catch(t){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3878],{21463:(t,e,i)=>{i.d(e,{A:()=>n});var s=i(12115),o={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};let n=((t,e,i,n)=>{let a=(0,s.forwardRef)((i,a)=>{let{color:r="currentColor",size:l=24,stroke:c=2,title:h,className:d,children:u,...p}=i;return(0,s.createElement)("svg",{ref:a,...o[t],width:l,height:l,className:["tabler-icon","tabler-icon-".concat(e),d].join(" "),..."filled"===t?{fill:r}:{strokeWidth:c,stroke:r},...p},[h&&(0,s.createElement)("title",{key:"svg-title"},h),...n.map(t=>{let[e,i]=t;return(0,s.createElement)(e,i)}),...Array.isArray(u)?u:[u]])});return a.displayName="".concat(i),a})("outline","dots-vertical","DotsVertical",[["path",{d:"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]])},32810:(t,e,i)=>{function s(t,e,i){return Math.max(t,Math.min(e,i))}i.d(e,{A:()=>d});var o=class{isRunning=!1;value=0;from=0;to=0;currentTime=0;lerp;duration;easing;onUpdate;advance(t){if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){this.currentTime+=t;let i=s(0,this.currentTime/this.duration,1),o=(e=i>=1)?1:this.easing(i);this.value=this.from+(this.to-this.from)*o}else if(this.lerp){var i,o,n,a;this.value=(i=this.value,o=this.to,n=60*this.lerp,(1-(a=1-Math.exp(-n*t)))*i+a*o),Math.round(this.value)===this.to&&(this.value=this.to,e=!0)}else this.value=this.to,e=!0;e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(t,e,{lerp:i,duration:s,easing:o,onStart:n,onUpdate:a}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=a}},n=class{constructor(t,e,{autoResize:i=!0,debounce:s=250}={}){this.wrapper=t,this.content=e,i&&(this.debouncedResize=function(t,e){let i;return function(...s){let o=this;clearTimeout(i),i=setTimeout(()=>{i=void 0,t.apply(o,s)},e)}}(this.resize,s),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}width=0;height=0;scrollHeight=0;scrollWidth=0;debouncedResize;wrapperResizeObserver;contentResizeObserver;destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},a=class{events={};emit(t,...e){let i=this.events[t]||[];for(let t=0,s=i.length;t<s;t++)i[t]?.(...e)}on(t,e){return this.events[t]?.push(e)||(this.events[t]=[e]),()=>{this.events[t]=this.events[t]?.filter(t=>e!==t)}}off(t,e){this.events[t]=this.events[t]?.filter(t=>e!==t)}destroy(){this.events={}}},r=100/6,l={passive:!1},c=class{constructor(t,e={wheelMultiplier:1,touchMultiplier:1}){this.element=t,this.options=e,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,l),this.element.addEventListener("touchstart",this.onTouchStart,l),this.element.addEventListener("touchmove",this.onTouchMove,l),this.element.addEventListener("touchend",this.onTouchEnd,l)}touchStart={x:0,y:0};lastDelta={x:0,y:0};window={width:0,height:0};emitter=new a;on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,l),this.element.removeEventListener("touchstart",this.onTouchStart,l),this.element.removeEventListener("touchmove",this.onTouchMove,l),this.element.removeEventListener("touchend",this.onTouchEnd,l)}onTouchStart=t=>{let{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{let{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,s=-(e-this.touchStart.x)*this.options.touchMultiplier,o=-(i-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:s,y:o},this.emitter.emit("scroll",{deltaX:s,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=t=>{let{deltaX:e,deltaY:i,deltaMode:s}=t,o=1===s?r:2===s?this.window.width:1,n=1===s?r:2===s?this.window.height:1;e*=o,i*=n,e*=this.options.wheelMultiplier,i*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:e,deltaY:i,event:t})};onWindowResize=()=>{this.window={width:window.innerWidth,height:window.innerHeight}}},h=t=>Math.min(1,1.001-Math.pow(2,-10*t)),d=class{_isScrolling=!1;_isStopped=!1;_isLocked=!1;_preventNextNativeScrollEvent=!1;_resetVelocityTimeout=null;__rafID=null;isTouching;time=0;userData={};lastVelocity=0;velocity=0;direction=0;options;targetScroll;animatedScroll;animate=new o;emitter=new a;dimensions;virtualScroll;constructor({wrapper:t=window,content:e=document.documentElement,eventsTarget:i=t,smoothWheel:s=!0,syncTouch:o=!1,syncTouchLerp:a=.075,touchInertiaExponent:r=1.7,duration:l,easing:d,lerp:u=.1,infinite:p=!1,orientation:f="vertical",gestureOrientation:v="horizontal"===f?"both":"vertical",touchMultiplier:m=1,wheelMultiplier:g=1,autoResize:y=!0,prevent:b,virtualScroll:w,overscroll:x=!0,autoRaf:_=!1,anchors:k=!1,autoToggle:z=!1,allowNestedScroll:S=!1,__experimental__naiveDimensions:M=!1}={}){window.lenisVersion="1.3.11",t&&t!==document.documentElement||(t=window),"number"==typeof l&&"function"!=typeof d?d=h:"function"==typeof d&&"number"!=typeof l&&(l=1),this.options={wrapper:t,content:e,eventsTarget:i,smoothWheel:s,syncTouch:o,syncTouchLerp:a,touchInertiaExponent:r,duration:l,easing:d,lerp:u,infinite:p,gestureOrientation:v,orientation:f,touchMultiplier:m,wheelMultiplier:g,autoResize:y,prevent:b,virtualScroll:w,overscroll:x,autoRaf:_,anchors:k,autoToggle:z,allowNestedScroll:S,__experimental__naiveDimensions:M},this.dimensions=new n(t,e,{autoResize:y}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.addEventListener("click",this.onClick,!1),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll=new c(i,{touchMultiplier:m,wheelMultiplier:g}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoToggle&&this.rootElement.addEventListener("transitionend",this.onTransitionEnd,{passive:!0}),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown,!1),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.removeEventListener("click",this.onClick,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this.__rafID&&cancelAnimationFrame(this.__rafID)}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}onScrollEnd=t=>{t instanceof CustomEvent||"smooth"!==this.isScrolling&&!1!==this.isScrolling||t.stopPropagation()};dispatchScrollendEvent=()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))};onTransitionEnd=t=>{if(t.propertyName.includes("overflow")){let t=this.isHorizontal?"overflow-x":"overflow-y";["hidden","clip"].includes(getComputedStyle(this.rootElement)[t])?this.internalStop():this.internalStart()}};setScroll(t){this.isHorizontal?this.options.wrapper.scrollTo({left:t,behavior:"instant"}):this.options.wrapper.scrollTo({top:t,behavior:"instant"})}onClick=t=>{let e=t.composedPath().find(t=>t instanceof HTMLAnchorElement&&(t.getAttribute("href")?.startsWith("#")||t.getAttribute("href")?.startsWith("/#")||t.getAttribute("href")?.startsWith("./#")));if(e){let t=e.getAttribute("href");if(t){let e="object"==typeof this.options.anchors&&this.options.anchors?this.options.anchors:void 0,i=`#${t.split("#")[1]}`;["#","/#","./#","#top","/#top","./#top"].includes(t)&&(i=0),this.scrollTo(i,e)}}};onPointerDown=t=>{1===t.button&&this.reset()};onVirtualScroll=t=>{if("function"==typeof this.options.virtualScroll&&!1===this.options.virtualScroll(t))return;let{deltaX:e,deltaY:i,event:s}=t;if(this.emitter.emit("virtual-scroll",{deltaX:e,deltaY:i,event:s}),s.ctrlKey||s.lenisStopPropagation)return;let o=s.type.includes("touch"),n=s.type.includes("wheel");this.isTouching="touchstart"===s.type||"touchmove"===s.type;let a=0===e&&0===i;if(this.options.syncTouch&&o&&"touchstart"===s.type&&a&&!this.isStopped&&!this.isLocked)return void this.reset();let r="vertical"===this.options.gestureOrientation&&0===i||"horizontal"===this.options.gestureOrientation&&0===e;if(a||r)return;let l=s.composedPath();l=l.slice(0,l.indexOf(this.rootElement));let c=this.options.prevent;if(l.find(t=>t instanceof HTMLElement&&("function"==typeof c&&c?.(t)||t.hasAttribute?.("data-lenis-prevent")||o&&t.hasAttribute?.("data-lenis-prevent-touch")||n&&t.hasAttribute?.("data-lenis-prevent-wheel")||this.options.allowNestedScroll&&this.checkNestedScroll(t,{deltaX:e,deltaY:i}))))return;if(this.isStopped||this.isLocked){s.cancelable&&s.preventDefault();return}if(!(this.options.syncTouch&&o||this.options.smoothWheel&&n)){this.isScrolling="native",this.animate.stop(),s.lenisStopPropagation=!0;return}let h=i;"both"===this.options.gestureOrientation?h=Math.abs(i)>Math.abs(e)?i:e:"horizontal"===this.options.gestureOrientation&&(h=e),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&this.limit>0&&(this.animatedScroll>0&&this.animatedScroll<this.limit||0===this.animatedScroll&&i>0||this.animatedScroll===this.limit&&i<0))&&(s.lenisStopPropagation=!0),s.cancelable&&s.preventDefault();let d=o&&this.options.syncTouch,u=o&&"touchend"===s.type;u&&(h=Math.sign(this.velocity)*Math.pow(Math.abs(this.velocity),this.options.touchInertiaExponent)),this.scrollTo(this.targetScroll+h,{programmatic:!1,...d?{lerp:u?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})};resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit()}emit(){this.emitter.emit("scroll",this)}onNativeScroll=()=>{if(null!==this._resetVelocityTimeout&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(!1===this.isScrolling||"native"===this.isScrolling){let t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-t,this.direction=Math.sign(this.animatedScroll-t),this.isStopped||(this.isScrolling="native"),this.emit(),0!==this.velocity&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}};reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){if(this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.removeProperty("overflow");this.internalStart()}}internalStart(){this.isStopped&&(this.reset(),this.isStopped=!1,this.emit())}stop(){if(!this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.setProperty("overflow","clip");this.internalStop()}}internalStop(){this.isStopped||(this.reset(),this.isStopped=!0,this.emit())}raf=t=>{let e=t-(this.time||t);this.time=t,this.animate.advance(.001*e),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))};scrollTo(t,{offset:e=0,immediate:i=!1,lock:o=!1,duration:n=this.options.duration,easing:a=this.options.easing,lerp:r=this.options.lerp,onStart:l,onComplete:c,force:d=!1,programmatic:u=!0,userData:p}={}){if(!this.isStopped&&!this.isLocked||d){if("string"==typeof t&&["top","left","start"].includes(t))t=0;else if("string"==typeof t&&["bottom","right","end"].includes(t))t=this.limit;else{let i;if("string"==typeof t?i=document.querySelector(t):t instanceof HTMLElement&&t?.nodeType&&(i=t),i){if(this.options.wrapper!==window){let t=this.rootElement.getBoundingClientRect();e-=this.isHorizontal?t.left:t.top}let s=i.getBoundingClientRect();t=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if("number"==typeof t){if(t+=e,t=Math.round(t),this.options.infinite){if(u){this.targetScroll=this.animatedScroll=this.scroll;let e=t-this.animatedScroll;e>this.limit/2?t-=this.limit:e<-this.limit/2&&(t+=this.limit)}}else t=s(0,t,this.limit);if(t===this.targetScroll){l?.(this),c?.(this);return}if(this.userData=p??{},i){this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),c?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}u||(this.targetScroll=t),"number"==typeof n&&"function"!=typeof a?a=h:"function"==typeof a&&"number"!=typeof n&&(n=1),this.animate.fromTo(this.animatedScroll,t,{duration:n,easing:a,lerp:r,onStart:()=>{o&&(this.isLocked=!0),this.isScrolling="smooth",l?.(this)},onUpdate:(t,e)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),u&&(this.targetScroll=t),e||this.emit(),e&&(this.reset(),this.emit(),c?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}checkNestedScroll(t,{deltaX:e,deltaY:i}){let s,o,n,a,r,l,c,h,d,u,p,f,v,m,g=Date.now(),y=t._lenis??={},b=this.options.gestureOrientation;if(g-(y.time??0)>2e3){y.time=Date.now();let e=window.getComputedStyle(t);y.computedStyle=e;let i=e.overflowX,d=e.overflowY;if(s=["auto","overlay","scroll"].includes(i),o=["auto","overlay","scroll"].includes(d),y.hasOverflowX=s,y.hasOverflowY=o,!s&&!o||"vertical"===b&&!o||"horizontal"===b&&!s)return!1;r=t.scrollWidth,l=t.scrollHeight,c=t.clientWidth,h=t.clientHeight,n=r>c,a=l>h,y.isScrollableX=n,y.isScrollableY=a,y.scrollWidth=r,y.scrollHeight=l,y.clientWidth=c,y.clientHeight=h}else n=y.isScrollableX,a=y.isScrollableY,s=y.hasOverflowX,o=y.hasOverflowY,r=y.scrollWidth,l=y.scrollHeight,c=y.clientWidth,h=y.clientHeight;if(!s&&!o||!n&&!a||"vertical"===b&&(!o||!a)||"horizontal"===b&&(!s||!n)||("horizontal"===b?d="x":"vertical"===b?d="y":(0!==e&&s&&n&&(d="x"),0!==i&&o&&a&&(d="y")),!d))return!1;if("x"===d)u=t.scrollLeft,p=r-c,f=e,v=s,m=n;else{if("y"!==d)return!1;u=t.scrollTop,p=l-h,f=i,v=o,m=a}return(f>0?u<p:u>0)&&v&&m}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return"horizontal"===this.options.orientation}get actualScroll(){let t=this.options.wrapper;return this.isHorizontal?t.scrollX??t.scrollLeft:t.scrollY??t.scrollTop}get scroll(){var t;return this.options.infinite?(this.animatedScroll%(t=this.limit)+t)%t:this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(t){this._isScrolling!==t&&(this._isScrolling=t,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(t){this._isStopped!==t&&(this._isStopped=t,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(t){this._isLocked!==t&&(this._isLocked=t,this.updateClassName())}get isSmooth(){return"smooth"===this.isScrolling}get className(){let t="lenis";return this.options.autoToggle&&(t+=" lenis-autoToggle"),this.isStopped&&(t+=" lenis-stopped"),this.isLocked&&(t+=" lenis-locked"),this.isScrolling&&(t+=" lenis-scrolling"),"smooth"===this.isScrolling&&(t+=" lenis-smooth"),t}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\w+)?/g,"").trim()}}},46896:(t,e,i)=>{i.d(e,{s:()=>h});var s=i(82885),o=i(97494),n=i(54542),a=i(18802),r=i(63601);function l(t,e){[...e].reverse().forEach(i=>{let s=t.getVariant(i);s&&(0,a.U)(t,s),t.variantChildren&&t.variantChildren.forEach(t=>{l(t,e)})})}function c(){let t=!1,e=new Set,i={subscribe:t=>(e.add(t),()=>void e.delete(t)),start(i,s){(0,n.V)(t,"controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.");let o=[];return e.forEach(t=>{o.push((0,r._)(t,i,{transitionOverride:s}))}),Promise.all(o)},set:i=>((0,n.V)(t,"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook."),e.forEach(t=>{var e,s;e=t,Array.isArray(s=i)?l(e,s):"string"==typeof s?l(e,[s]):(0,a.U)(e,s)})),stop(){e.forEach(t=>{t.values.forEach(t=>t.stop())})},mount:()=>(t=!0,()=>{t=!1,i.stop()})};return i}let h=function(){let t=(0,s.M)(c);return(0,o.E)(t.mount,[]),t}},60760:(t,e,i)=>{i.d(e,{N:()=>y});var s=i(95155),o=i(12115),n=i(90869),a=i(82885),r=i(97494),l=i(80845),c=i(27351),h=i(51508);class d extends o.Component{getSnapshotBeforeUpdate(t){let e=this.props.childRef.current;if(e&&t.isPresent&&!this.props.isPresent){let t=e.offsetParent,i=(0,c.s)(t)&&t.offsetWidth||0,s=this.props.sizeRef.current;s.height=e.offsetHeight||0,s.width=e.offsetWidth||0,s.top=e.offsetTop,s.left=e.offsetLeft,s.right=i-s.width-s.left}return null}componentDidUpdate(){}render(){return this.props.children}}function u(t){let{children:e,isPresent:i,anchorX:n,root:a}=t,r=(0,o.useId)(),l=(0,o.useRef)(null),c=(0,o.useRef)({width:0,height:0,top:0,left:0,right:0}),{nonce:u}=(0,o.useContext)(h.Q);return(0,o.useInsertionEffect)(()=>{let{width:t,height:e,top:s,left:o,right:h}=c.current;if(i||!l.current||!t||!e)return;l.current.dataset.motionPopId=r;let d=document.createElement("style");u&&(d.nonce=u);let p=null!=a?a:document.head;return p.appendChild(d),d.sheet&&d.sheet.insertRule('\n [data-motion-pop-id="'.concat(r,'"] {\n position: absolute !important;\n width: ').concat(t,"px !important;\n height: ").concat(e,"px !important;\n ").concat("left"===n?"left: ".concat(o):"right: ".concat(h),"px !important;\n top: ").concat(s,"px !important;\n }\n ")),()=>{p.contains(d)&&p.removeChild(d)}},[i]),(0,s.jsx)(d,{isPresent:i,childRef:l,sizeRef:c,children:o.cloneElement(e,{ref:l})})}let p=t=>{let{children:e,initial:i,isPresent:n,onExitComplete:r,custom:c,presenceAffectsLayout:h,mode:d,anchorX:p,root:v}=t,m=(0,a.M)(f),g=(0,o.useId)(),y=!0,b=(0,o.useMemo)(()=>(y=!1,{id:g,initial:i,isPresent:n,custom:c,onExitComplete:t=>{for(let e of(m.set(t,!0),m.values()))if(!e)return;r&&r()},register:t=>(m.set(t,!1),()=>m.delete(t))}),[n,m,r]);return h&&y&&(b={...b}),(0,o.useMemo)(()=>{m.forEach((t,e)=>m.set(e,!1))},[n]),o.useEffect(()=>{n||m.size||!r||r()},[n]),"popLayout"===d&&(e=(0,s.jsx)(u,{isPresent:n,anchorX:p,root:v,children:e})),(0,s.jsx)(l.t.Provider,{value:b,children:e})};function f(){return new Map}var v=i(32082);let m=t=>t.key||"";function g(t){let e=[];return o.Children.forEach(t,t=>{(0,o.isValidElement)(t)&&e.push(t)}),e}let y=t=>{let{children:e,custom:i,initial:l=!0,onExitComplete:c,presenceAffectsLayout:h=!0,mode:d="sync",propagate:u=!1,anchorX:f="left",root:y}=t,[b,w]=(0,v.xQ)(u),x=(0,o.useMemo)(()=>g(e),[e]),_=u&&!b?[]:x.map(m),k=(0,o.useRef)(!0),z=(0,o.useRef)(x),S=(0,a.M)(()=>new Map),[M,C]=(0,o.useState)(x),[E,T]=(0,o.useState)(x);(0,r.E)(()=>{k.current=!1,z.current=x;for(let t=0;t<E.length;t++){let e=m(E[t]);_.includes(e)?S.delete(e):!0!==S.get(e)&&S.set(e,!1)}},[E,_.length,_.join("-")]);let P=[];if(x!==M){let t=[...x];for(let e=0;e<E.length;e++){let i=E[e],s=m(i);_.includes(s)||(t.splice(e,0,i),P.push(i))}return"wait"===d&&P.length&&(t=P),T(g(t)),C(x),null}let{forceRender:O}=(0,o.useContext)(n.L);return(0,s.jsx)(s.Fragment,{children:E.map(t=>{let e=m(t),o=(!u||!!b)&&(x===E||_.includes(e));return(0,s.jsx)(p,{isPresent:o,initial:(!k.current||!!l)&&void 0,custom:i,presenceAffectsLayout:h,mode:d,root:y,onExitComplete:o?void 0:()=>{if(!S.has(e))return;S.set(e,!0);let t=!0;S.forEach(e=>{e||(t=!1)}),t&&(null==O||O(),T(z.current),u&&(null==w||w()),c&&c())},anchorX:f,children:t},e)})})}},70046:(t,e,i)=>{var s,o,n,a,r,l,c,h,d,u,p,f,v,m,g,y,b,w,x,_,k,z;i.d(e,{H_P:()=>n,jlt:()=>eQ,_or:()=>m,VKE:()=>a,Q5V:()=>p,mgy:()=>z,sJd:()=>ie,Oit:()=>t1,Yzx:()=>g,v5k:()=>r,x_I:()=>w,U4p:()=>ii,M_G:()=>eK,pTR:()=>_,PVU:()=>ev,Miz:()=>Y,AEc:()=>ty,pEn:()=>tz,Tgl:()=>tk,qE8:()=>X,EYT:()=>tq,zwS:()=>tb,puj:()=>ta,NVT:()=>t_,U6C:()=>tx,V6E:()=>tJ,dIx:()=>T,wJ2:()=>tM,YfF:()=>tn,vrU:()=>to,pzy:()=>tj,_hh:()=>tG,PGG:()=>tH,tZQ:()=>th,G0i:()=>Z,W9e:()=>ti,VGA:()=>tt,LCf:()=>tU,xxz:()=>tB,YLU:()=>tA,ayx:()=>tV,XsS:()=>tT,cyL:()=>W,iKf:()=>tw,hnD:()=>tf,kZJ:()=>j,Gvm:()=>H,Tj8:()=>tg,B90:()=>tu,Vh1:()=>tm,TA3:()=>tC,AlN:()=>tv,XuV:()=>O,Z04:()=>M,RbF:()=>C,M3Y:()=>tl,a56:()=>P,U43:()=>K,R5R:()=>tI,BN0:()=>tD,jon:()=>tS,K6u:()=>tL,DT4:()=>ts,$k3:()=>is,UC0:()=>tO,JvX:()=>t$});let S="generated",M="pointerleave",C="pointermove",E="touchend",T="tsParticles - Error",P=100,O=1e3,R={x:0,y:0,z:0},D={a:1,b:0,c:0,d:1},I="random",L=2*Math.PI,A="true",V="false",F="canvas",B=0;function U(t){return"boolean"==typeof t}function q(t){return"string"==typeof t}function G(t){return"number"==typeof t}function H(t){return"object"==typeof t&&null!==t}function W(t){return Array.isArray(t)}function j(t){return null==t}!function(t){t.bottom="bottom",t.bottomLeft="bottom-left",t.bottomRight="bottom-right",t.left="left",t.none="none",t.right="right",t.top="top",t.topLeft="top-left",t.topRight="top-right",t.outside="outside",t.inside="inside"}(s||(s={}));class N{constructor(t,e,i){if(this._updateFromAngle=(t,e)=>{this.x=Math.cos(t)*e,this.y=Math.sin(t)*e},!G(t)&&t)this.x=t.x,this.y=t.y,this.z=t.z?t.z:R.z;else if(void 0!==t&&void 0!==e)this.x=t,this.y=e,this.z=i??R.z;else throw Error(`${T} Vector3d not initialized correctly`)}static get origin(){return N.create(R.x,R.y,R.z)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this._updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(t){this._updateFromAngle(this.angle,t)}static clone(t){return N.create(t.x,t.y,t.z)}static create(t,e,i){return new N(t,e,i)}add(t){return N.create(this.x+t.x,this.y+t.y,this.z+t.z)}addTo(t){this.x+=t.x,this.y+=t.y,this.z+=t.z}copy(){return N.clone(this)}distanceTo(t){return this.sub(t).length}distanceToSq(t){return this.sub(t).getLengthSq()}div(t){return N.create(this.x/t,this.y/t,this.z/t)}divTo(t){this.x/=t,this.y/=t,this.z/=t}getLengthSq(){return this.x**2+this.y**2}mult(t){return N.create(this.x*t,this.y*t,this.z*t)}multTo(t){this.x*=t,this.y*=t,this.z*=t}normalize(){let t=this.length;0!=t&&this.multTo(1/t)}rotate(t){return N.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t),R.z)}setTo(t){this.x=t.x,this.y=t.y,this.z=t.z?t.z:R.z}sub(t){return N.create(this.x-t.x,this.y-t.y,this.z-t.z)}subFrom(t){this.x-=t.x,this.y-=t.y,this.z-=t.z}}class Y extends N{constructor(t,e){super(t,e,R.z)}static get origin(){return Y.create(R.x,R.y)}static clone(t){return Y.create(t.x,t.y)}static create(t,e){return new Y(t,e)}}let $=Math.random,J={nextFrame:t=>requestAnimationFrame(t),cancel:t=>cancelAnimationFrame(t)};function Z(){return X($(),0,1-Number.EPSILON)}function X(t,e,i){return Math.min(Math.max(t,e),i)}function Q(t,e,i,s){return Math.floor((t*i+e*s)/(i+s))}function K(t){let e=ti(t),i=te(t);return e===i&&(i=0),Z()*(e-i)+i}function tt(t){return G(t)?t:K(t)}function te(t){return G(t)?t:t.min}function ti(t){return G(t)?t:t.max}function ts(t,e){if(t===e||void 0===e&&G(t))return t;let i=te(t),s=ti(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(s,e)}:ts(i,s)}function to(t,e){let i=t.x-e.x,s=t.y-e.y;return{dx:i,dy:s,distance:Math.sqrt(i**2+s**2)}}function tn(t,e){return to(t,e).distance}function ta(t){return t*Math.PI/180}function tr(t,e,i,s){return Y.create(t.x*(i-s)/(i+s)+2*e.x*s/(i+s),t.y)}function tl(t){return t?t.endsWith("%")?parseFloat(t)/P:parseFloat(t):1}!function(t){t.auto="auto",t.increase="increase",t.decrease="decrease",t.random="random"}(o||(o={})),function(t){t.increasing="increasing",t.decreasing="decreasing"}(n||(n={})),function(t){t.none="none",t.max="max",t.min="min"}(a||(a={})),function(t){t.bottom="bottom",t.left="left",t.right="right",t.top="top"}(r||(r={})),function(t){t.precise="precise",t.percent="percent"}(l||(l={})),function(t){t.max="max",t.min="min",t.random="random"}(c||(c={}));let tc={debug:console.debug,error:console.error,info:console.info,log:console.log,verbose:console.log,warning:console.warn};function th(){return tc}function td(t){let e={bounced:!1},{pSide:i,pOtherSide:s,rectSide:o,rectOtherSide:n,velocity:a,factor:r}=t;return s.min<n.min||s.min>n.max||s.max<n.min||s.max>n.max||(i.max>=o.min&&i.max<=(o.max+o.min)*.5&&a>0||i.min<=o.max&&i.min>(o.max+o.min)*.5&&a<0)&&(e.velocity=-(a*r),e.bounced=!0),e}function tu(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function tp(t){if(!tu()&&"undefined"!=typeof matchMedia)return matchMedia(t)}function tf(t,e){return t===e||W(e)&&e.indexOf(t)>-1}async function tv(t,e){try{await document.fonts.load(`${e??"400"} 36px '${t??"Verdana"}'`)}catch{}}function tm(t,e,i=!0){return t[void 0!==e&&i?e%t.length:Math.floor(Z()*t.length)]}function tg(t,e,i,s,o){var n,a,l,c;let h;return n=ty(t,s??0),a=e,l=i,h=!0,(c=o)&&c!==r.bottom||(h=n.top<a.height+l.x),h&&(!c||c===r.left)&&(h=n.right>l.x),h&&(!c||c===r.right)&&(h=n.left<a.width+l.y),h&&(!c||c===r.top)&&(h=n.bottom>l.y),h}function ty(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function tb(t,...e){for(let i of e){if(null==i)continue;if(!H(i)){t=i;continue}let e=Array.isArray(i);for(let s in e&&(H(t)||!t||!Array.isArray(t))?t=[]:!e&&(H(t)||!t||Array.isArray(t))&&(t={}),i){if("__proto__"===s)continue;let e=i[s],o=t;o[s]=H(e)&&Array.isArray(e)?e.map(t=>tb(o[s],t)):tb(o[s],e)}}return t}function tw(t,e){return!!tE(e,e=>e.enable&&tf(t,e.mode))}function tx(t,e,i){tM(e,e=>{var s,o;let n=e.mode;e.enable&&tf(t,n)&&(s=e,o=i,tM(s.selectors,t=>{o(t,s)}))})}function t_(t,e){if(e&&t)return tE(t,t=>(function(t,e){let i=tM(e,e=>t.matches(e));return W(i)?i.some(t=>t):i})(e,t.selectors))}function tk(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:Y.create(tt(t.options.bounce.horizontal.value),tt(t.options.bounce.vertical.value))}}function tz(t,e){let{x:i,y:s}=t.velocity.sub(e.velocity),[o,n]=[t.position,e.position],{dx:a,dy:r}=to(n,o);if(i*a+s*r<0)return;let l=-Math.atan2(r,a),c=t.mass,h=e.mass,d=t.velocity.rotate(l),u=e.velocity.rotate(l),p=tr(d,u,c,h),f=tr(u,d,c,h),v=p.rotate(-l),m=f.rotate(-l);t.velocity.x=v.x*t.factor.x,t.velocity.y=v.y*t.factor.y,e.velocity.x=m.x*e.factor.x,e.velocity.y=m.y*e.factor.y}function tS(t,e){let i=ty(t.getPosition(),t.getRadius()),s=t.options.bounce,o=td({pSide:{min:i.left,max:i.right},pOtherSide:{min:i.top,max:i.bottom},rectSide:{min:e.left,max:e.right},rectOtherSide:{min:e.top,max:e.bottom},velocity:t.velocity.x,factor:tt(s.horizontal.value)});o.bounced&&(void 0!==o.velocity&&(t.velocity.x=o.velocity),void 0!==o.position&&(t.position.x=o.position));let n=td({pSide:{min:i.top,max:i.bottom},pOtherSide:{min:i.left,max:i.right},rectSide:{min:e.top,max:e.bottom},rectOtherSide:{min:e.left,max:e.right},velocity:t.velocity.y,factor:tt(s.vertical.value)});n.bounced&&(void 0!==n.velocity&&(t.velocity.y=n.velocity),void 0!==n.position&&(t.position.y=n.position))}function tM(t,e){return W(t)?t.map((t,i)=>e(t,i)):e(t,0)}function tC(t,e,i){return W(t)?tm(t,e,i):t}function tE(t,e){return W(t)?t.find((t,i)=>e(t,i)):e(t,0)?t:void 0}function tT(t,e){let i=t.value,s=t.animation,a={delayTime:tt(s.delay)*O,enable:s.enable,value:tt(t.value)*e,max:ti(i)*e,min:te(i)*e,loops:0,maxLoops:tt(s.count),time:0};if(s.enable){switch(a.decay=1-tt(s.decay),s.mode){case o.increase:a.status=n.increasing;break;case o.decrease:a.status=n.decreasing;break;case o.random:a.status=Z()>=.5?n.increasing:n.decreasing}let t=s.mode===o.auto;switch(s.startValue){case c.min:a.value=a.min,t&&(a.status=n.increasing);break;case c.max:a.value=a.max,t&&(a.status=n.decreasing);break;case c.random:default:a.value=K(a),t&&(a.status=Z()>=.5?n.increasing:n.decreasing)}}return a.initialValue=a.value,a}function tP(t,e){if(t.mode!==l.percent){let{mode:e,...i}=t;return i}return"x"in t?{x:t.x/P*e.width,y:t.y/P*e.height}:{width:t.width/P*e.width,height:t.height/P*e.height}}function tO(t,e,i,s,o){if(t.destroyed||!e||!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0))return;let r=(e.velocity??0)*o.factor,l=e.min,c=e.max,h=e.decay??1;if(e.time||(e.time=0),(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=o.value),!((e.delayTime??0)>0)||!(e.time<(e.delayTime??0))){switch(e.status){case n.increasing:e.value>=c?(i?e.status=n.decreasing:e.value-=c,e.loops||(e.loops=0),e.loops++):e.value+=r;break;case n.decreasing:e.value<=l?(i?e.status=n.increasing:e.value+=c,e.loops||(e.loops=0),e.loops++):e.value-=r}e.velocity&&1!==h&&(e.velocity*=h);var d=e.value;switch(s){case a.max:d>=c&&t.destroy();break;case a.min:d<=l&&t.destroy()}t.destroyed||(e.value=X(e.value,l,c))}}let tR=function(t){let e=new Map;return(...i)=>{let s=JSON.stringify(i);if(e.has(s))return e.get(s);let o=t(...i);return e.set(s,o),o}}(function(t){let e=document.createElement("div").style,i={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:t.toString(10),"z-index":t.toString(10),top:"0",left:"0"};for(let t in i){let s=i[t];e.setProperty(t,s)}return e});function tD(t,e,i,s=!0){if(!e)return;let o=q(e)?{value:e}:e;if(q(o.value))return function t(e,i,s,o=!0){if(!i)return;let n=q(i)?{value:i}:i;if(q(n.value))return n.value===I?tF():function(t,e){if(e){for(let i of t.colorManagers.values())if(e.startsWith(i.stringPrefix))return i.parseString(e)}}(e,n.value);if(W(n.value))return t(e,{value:tm(n.value,s,o)});for(let t of e.colorManagers.values()){let e=t.handleColor(n);if(e)return e}}(t,o.value,i,s);if(W(o.value))return tD(t,{value:tm(o.value,i,s)});for(let e of t.colorManagers.values()){let t=e.handleRangeColor(o);if(t)return t}}function tI(t,e,i,s=!0){let o=tD(t,e,i,s);return o?tL(o):void 0}function tL(t){let e=t.r/255,i=t.g/255,s=t.b/255,o=Math.max(e,i,s),n=Math.min(e,i,s),a={h:0,l:(o+n)*.5,s:0};return o!==n&&(a.s=a.l<.5?(o-n)/(o+n):(o-n)/(2-o-n),a.h=e===o?(i-s)/(o-n):a.h=i===o?2+(s-e)/(o-n):4+(e-i)/(o-n)),a.l*=100,a.s*=100,a.h*=60,a.h<0&&(a.h+=360),a.h>=360&&(a.h-=360),a}function tA(t){let e=(t.h%360+360)%360,i=Math.max(0,Math.min(100,t.s)),s=Math.max(0,Math.min(100,t.l)),o=e/360,n=i/100,a=s/100;if(0===i){let t=Math.round(255*a);return{r:t,g:t,b:t}}let r=(t,e,i)=>(i<0&&i++,i>1&&i--,6*i<1)?t+(e-t)*6*i:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t,l=a<.5?a*(1+n):a+n-a*n,c=2*a-l,h=Math.min(255,255*r(c,l,o+.3333333333333333));return{r:Math.round(h),g:Math.round(Math.min(255,255*r(c,l,o))),b:Math.round(Math.min(255,255*r(c,l,o-.3333333333333333)))}}function tV(t){let e=tA(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function tF(t){let e=t??0;return{b:Math.floor(K(ts(e,256))),g:Math.floor(K(ts(e,256))),r:Math.floor(K(ts(e,256)))}}function tB(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${e??1})`}function tU(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${e??1})`}function tq(t,e,i,s){let o=t,n=e;return void 0===o.r&&(o=tA(t)),void 0===n.r&&(n=tA(e)),{b:Q(o.b,n.b,i,s),g:Q(o.g,n.g,i,s),r:Q(o.r,n.r,i,s)}}function tG(t,e,i){if(i===I)return tF();if("mid"!==i)return i;{let i=t.getFillColor()??t.getStrokeColor(),s=e?.getFillColor()??e?.getStrokeColor();if(i&&s&&e)return tq(i,s,t.getRadius(),e.getRadius());{let t=i??s;if(t)return tA(t)}}}function tH(t,e,i,s){let o=q(e)?e:e.value;return o===I?s?tD(t,{value:o}):i?I:"mid":"mid"===o?"mid":tD(t,{value:o})}function tW(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function tj(t,e,i){let s={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(tN(s.h,e.h,i),tN(s.s,e.s,i),tN(s.l,e.l,i)),s}function tN(t,e,i){t.enable=e.enable,t.enable?(t.velocity=tt(e.speed)/P*i,t.decay=1-tt(e.decay),t.status=n.increasing,t.loops=0,t.maxLoops=tt(e.count),t.time=0,t.delayTime=tt(e.delay)*O,e.sync||(t.velocity*=Z(),t.value*=Z()),t.initialValue=t.value,t.offset=ts(e.offset)):t.velocity=0}function tY(t,e,i,s){if(!t||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0)||(t.time||(t.time=0),(t.delayTime??0)>0&&t.time<(t.delayTime??0)&&(t.time+=s.value),(t.delayTime??0)>0&&t.time<(t.delayTime??0)))return;let o=t.offset?K(t.offset):0,a=(t.velocity??0)*s.factor+3.6*o,r=t.decay??1,l=ti(e),c=te(e);i&&t.status!==n.increasing?(t.value-=a,t.value<0&&(t.loops||(t.loops=0),t.loops++,t.status=n.increasing)):(t.value+=a,t.value>l&&(t.loops||(t.loops=0),t.loops++,i?t.status=n.decreasing:t.value-=l)),t.velocity&&1!==r&&(t.velocity*=r),t.value=X(t.value,c,l)}function t$(t,e){if(!t)return;let{h:i,s,l:o}=t;i&&tY(i,{min:0,max:360},!1,e),s&&tY(s,{min:0,max:100},!0,e),o&&tY(o,{min:0,max:100},!0,e)}function tJ(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function tZ(t,e){t.clearRect(R.x,R.y,e.width,e.height)}function tX(t,e,i=!1){if(!e||!t)return;let s=t.style;if(!s)return;let o=new Set;for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&o.add(s[t]);for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.add(e[t]);for(let t of o){let o=e.getPropertyValue(t);o?s.setProperty(t,o,i?"important":""):s.removeProperty(t)}}!function(t){t.darken="darken",t.enlighten="enlighten"}(h||(h={}));class tQ{constructor(t,e){this.container=t,this._applyPostDrawUpdaters=t=>{for(let e of this._postDrawUpdaters)e.afterDraw?.(t)},this._applyPreDrawUpdaters=(t,e,i,s,o,n)=>{for(let a of this._preDrawUpdaters){if(a.getColorStyles){let{fill:n,stroke:r}=a.getColorStyles(e,t,i,s);n&&(o.fill=n),r&&(o.stroke=r)}if(a.getTransformValues){let t=a.getTransformValues(e);for(let e in t)!function(t,e,i){let s=e[i];void 0!==s&&(t[i]=(t[i]??1)*s)}(n,t,e)}a.beforeDraw?.(e)}},this._applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()},this._getPluginParticleColors=t=>{let e,i;for(let s of this._colorPlugins)if(!e&&s.particleFillColor&&(e=tI(this._engine,s.particleFillColor(t))),!i&&s.particleStrokeColor&&(i=tI(this._engine,s.particleStrokeColor(t))),e&&i)break;return[e,i]},this._initCover=async()=>{let t=this.container.actualOptions.backgroundMask.cover,e=t.color;if(e){let i=tD(this._engine,e);if(i){let e={...i,a:t.opacity};this._coverColorStyle=tB(e,e.a)}}else await new Promise((e,i)=>{if(!t.image)return;let s=document.createElement("img");s.addEventListener("load",()=>{this._coverImage={image:s,opacity:t.opacity},e()}),s.addEventListener("error",t=>{i(t.error)}),s.src=t.image})},this._initStyle=()=>{let t=this.element,e=this.container.actualOptions;if(t)for(let i in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),e.style){if(!i||!e.style||!Object.prototype.hasOwnProperty.call(e.style,i))continue;let s=e.style[i];s&&t.style.setProperty(i,s,"important")}},this._initTrail=async()=>{let t=this.container.actualOptions.particles.move.trail,e=t.fill;if(!t.enable)return;let i=1/t.length;if(e.color){let t=tD(this._engine,e.color);if(!t)return;this._trailFill={color:{...t},opacity:i}}else await new Promise((t,s)=>{if(!e.image)return;let o=document.createElement("img");o.addEventListener("load",()=>{this._trailFill={image:o,opacity:i},t()}),o.addEventListener("error",t=>{s(t.error)}),o.src=e.image})},this._paintBase=t=>{this.draw(e=>(function(t,e,i){t.fillStyle=i??"rgba(0,0,0,0)",t.fillRect(R.x,R.y,e.width,e.height)})(e,this.size,t))},this._paintImage=(t,e)=>{this.draw(i=>(function(t,e,i,s){i&&(t.globalAlpha=s,t.drawImage(i,R.x,R.y,e.width,e.height),t.globalAlpha=1)})(i,this.size,t,e))},this._repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>t.disconnect()),this._initStyle(),this.initBackground();let e=this._pointerEvents;t.style.pointerEvents=e,t.setAttribute("pointer-events",e),this._safeMutationObserver(e=>{t&&t instanceof Node&&e.observe(t,{attributes:!0})})},this._resetOriginalStyle=()=>{let t=this.element,e=this._originalStyle;t&&e&&tX(t,e,!0)},this._safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)},this._setFullScreenStyle=()=>{let t=this.element;t&&tX(t,tR(this.container.actualOptions.fullScreen.zIndex),!0)},this._engine=e,this._standardSize={height:0,width:0};let i=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*i,width:s.width*i},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._pointerEvents="none"}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}clear(){let t=this.container.actualOptions,e=t.particles.move.trail,i=this._trailFill;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&i?i.color?this._paintBase(tB(i.color,i.opacity)):i.image&&this._paintImage(i.image,i.opacity):t.clear&&this.draw(t=>{tZ(t,this.size)})}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(t){let e=this._context;if(e)return t(e)}drawAsync(t){let e=this._context;if(e)return t(e)}drawParticle(t,e){if(t.spawning||t.destroyed)return;let i=t.getRadius();if(i<=0)return;let s=t.getFillColor(),o=t.getStrokeColor()??s,[n,a]=this._getPluginParticleColors(t);n||(n=s),a||(a=o),(n||a)&&this.draw(s=>{let o=this.container,r=o.actualOptions,l=t.options.zIndex,c=1-t.zIndexFactor,h=c**l.opacityRate,d=t.bubble.opacity??t.opacity?.value??1,u=t.strokeOpacity??d,p=d*h,f={},v={fill:n?tU(n,p):void 0};v.stroke=a?tU(a,u*h):v.fill,this._applyPreDrawUpdaters(s,t,i,p,v,f),function(t){let{container:e,context:i,particle:s,delta:o,colorStyles:n,backgroundMask:a,composite:r,radius:l,opacity:c,shadow:h,transform:d}=t,u=s.getPosition(),p=s.rotation+(s.pathRotation?s.velocity.angle:0),f={sin:Math.sin(p),cos:Math.cos(p)},v=!!p,m={a:f.cos*(d.a??D.a),b:v?f.sin*(d.b??1):d.b??D.b,c:v?-f.sin*(d.c??1):d.c??D.c,d:f.cos*(d.d??D.d)};i.setTransform(m.a,m.b,m.c,m.d,u.x,u.y),a&&(i.globalCompositeOperation=r);let g=s.shadowColor;h.enable&&g&&(i.shadowBlur=h.blur,i.shadowColor=tB(g),i.shadowOffsetX=h.offset.x,i.shadowOffsetY=h.offset.y),n.fill&&(i.fillStyle=n.fill);let y=s.strokeWidth??0;i.lineWidth=y,n.stroke&&(i.strokeStyle=n.stroke);let b={container:e,context:i,particle:s,radius:l,opacity:c,delta:o,transformData:m,strokeWidth:y};(function(t){let{container:e,context:i,particle:s,radius:o,opacity:n,delta:a,strokeWidth:r,transformData:l}=t;if(!s.shape)return;let c=e.shapeDrawers.get(s.shape);c&&(i.beginPath(),c.draw({context:i,particle:s,radius:o,opacity:n,delta:a,pixelRatio:e.retina.pixelRatio,transformData:{...l}}),s.shapeClose&&i.closePath(),r>0&&i.stroke(),s.shapeFill&&i.fill())})(b),function(t){let{container:e,context:i,particle:s,radius:o,opacity:n,delta:a,transformData:r}=t;if(!s.shape)return;let l=e.shapeDrawers.get(s.shape);l?.afterDraw&&l.afterDraw({context:i,particle:s,radius:o,opacity:n,delta:a,pixelRatio:e.retina.pixelRatio,transformData:{...r}})}(b),function(t){let{container:e,context:i,particle:s,radius:o,opacity:n,delta:a,transformData:r}=t;if(!s.effect)return;let l=e.effectDrawers.get(s.effect);l&&l.draw({context:i,particle:s,radius:o,opacity:n,delta:a,pixelRatio:e.retina.pixelRatio,transformData:{...r}})}(b),i.globalCompositeOperation="source-over",i.resetTransform()}({container:o,context:s,particle:t,delta:e,colorStyles:v,backgroundMask:r.backgroundMask.enable,composite:r.backgroundMask.composite,radius:i*c**l.sizeRate,opacity:p,shadow:t.options.shadow,transform:f}),this._applyPostDrawUpdaters(t)})}drawParticlePlugin(t,e,i){this.draw(s=>{t.drawParticle&&t.drawParticle(s,e,i)})}drawPlugin(t,e){this.draw(i=>{t.draw&&t.draw(i,e)})}async init(){this._safeMutationObserver(t=>t.disconnect()),this._mutationObserver=function(t){if(!tu()&&"undefined"!=typeof MutationObserver)return new MutationObserver(t)}(t=>{for(let e of t)"attributes"===e.type&&"style"===e.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(t){tc.error(t)}this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let t=this.container.actualOptions.background,e=this.element;if(!e)return;let i=e.style;if(i){if(t.color){let e=tD(this._engine,t.color);i.backgroundColor=e?tB(e,t.opacity):""}else i.backgroundColor="";i.backgroundImage=t.image||"",i.backgroundPosition=t.position||"",i.backgroundRepeat=t.repeat||"",i.backgroundSize=t.size||""}}initPlugins(){for(let t of(this._resizePlugins=[],this.container.plugins.values()))t.resize&&this._resizePlugins.push(t),(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove(),this._generated=t.dataset&&S in t.dataset?"true"===t.dataset[S]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=function(t){let e=document.createElement("div").style;if(!t)return e;for(let i in t){let s=t[i];if(!Object.prototype.hasOwnProperty.call(t,i)||j(s))continue;let o=t.getPropertyValue?.(s);if(!o)continue;let n=t.getPropertyPriority?.(s);n?e.setProperty?.(s,o,n):e.setProperty?.(s,o)}return e}(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let i=this.container.retina.pixelRatio,s=this.size;t.height=s.height=e.height*i,t.width=s.width=e.width*i,this._context=this.element.getContext("2d"),this._safeMutationObserver(t=>t.disconnect()),this.container.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}paint(){let t=this.container.actualOptions;this.draw(e=>{t.backgroundMask.enable&&t.backgroundMask.cover?(tZ(e,this.size),this._coverImage?this._paintImage(this._coverImage.image,this._coverImage.opacity):this._coverColorStyle?this._paintBase(this._coverColorStyle):this._paintBase()):this._paintBase()})}resize(){if(!this.element)return!1;let t=this.container,e=t.canvas._standardSize,i={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,o={width:i.width*s,height:i.height*s};if(i.height===e.height&&i.width===e.width&&o.height===this.element.height&&o.width===this.element.width)return!1;let n={...e};e.height=i.height,e.width=i.width;let a=this.size;return this.element.width=a.width=o.width,this.element.height=a.height=o.height,this.container.started&&t.particles.setResizeFactor({width:e.width/n.width,height:e.height/n.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}stop(){this._safeMutationObserver(t=>t.disconnect()),this._mutationObserver=void 0,this.draw(t=>tZ(t,this.size))}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,e=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),e&&await t.refresh()}}function tK(t,e,i,s,o){if(s){let s={passive:!0};U(o)?s.capture=o:void 0!==o&&(s=o),t.addEventListener(e,i,s)}else t.removeEventListener(e,i,o)}!function(t){t.canvas="canvas",t.parent="parent",t.window="window"}(d||(d={}));class t0{constructor(t){this.container=t,this._doMouseTouchClick=t=>{let e=this.container,i=e.actualOptions;if(this._canPush){let t=e.interactivity.mouse,s=t.position;if(!s)return;t.clickPosition={...s},t.clickTime=new Date().getTime(),tM(i.interactivity.events.onClick.mode,t=>this.container.handleClickMode(t))}"touchend"===t.type&&setTimeout(()=>this._mouseTouchFinish(),500)},this._handleThemeChange=t=>{let e=this.container,i=e.options,s=i.defaultThemes,o=t.matches?s.dark:s.light,n=i.themes.find(t=>t.name===o);n?.default.auto&&e.loadTheme(o)},this._handleVisibilityChange=()=>{let t=this.container,e=t.actualOptions;this._mouseTouchFinish(),e.pauseOnBlur&&(document?.hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t?.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),this.container.actualOptions.interactivity.events.resize.delay*O)},this._manageInteractivityListeners=(t,e)=>{let i=this._handlers,s=this.container,o=s.actualOptions,n=s.interactivity.element;if(!n)return;let a=s.canvas;a.setPointerEvents(n===a.element?"initial":"none"),(o.interactivity.events.onHover.enable||o.interactivity.events.onClick.enable)&&(tK(n,C,i.mouseMove,e),tK(n,"touchstart",i.touchStart,e),tK(n,"touchmove",i.touchMove,e),o.interactivity.events.onClick.enable?(tK(n,E,i.touchEndClick,e),tK(n,"pointerup",i.mouseUp,e),tK(n,"pointerdown",i.mouseDown,e)):tK(n,E,i.touchEnd,e),tK(n,t,i.mouseLeave,e),tK(n,"touchcancel",i.touchCancel,e))},this._manageListeners=t=>{let e=this._handlers,i=this.container,s=i.actualOptions.interactivity.detectsOn,o=i.canvas.element,n=M;s===d.window?(i.interactivity.element=window,n="pointerout"):s===d.parent&&o?i.interactivity.element=o.parentElement??o.parentNode:i.interactivity.element=o,this._manageMediaMatch(t),this._manageResize(t),this._manageInteractivityListeners(n,t),document&&tK(document,"visibilitychange",e.visibilityChange,t,!1)},this._manageMediaMatch=t=>{let e=this._handlers,i=tp("(prefers-color-scheme: dark)");if(i){if(void 0!==i.addEventListener)return void tK(i,"change",e.themeChange,t);void 0!==i.addListener&&(t?i.addListener(e.oldThemeChange):i.removeListener(e.oldThemeChange))}},this._manageResize=t=>{let e=this._handlers,i=this.container;if(!i.actualOptions.interactivity.events.resize)return;if("undefined"==typeof ResizeObserver)return void tK(window,"resize",e.resize,t);let s=i.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))},this._mouseDown=()=>{let{interactivity:t}=this.container;if(!t)return;let{mouse:e}=t;e.clicking=!0,e.downPosition=e.position},this._mouseTouchClick=t=>{let e=this.container,i=e.actualOptions,{mouse:s}=e.interactivity;s.inside=!0;let o=!1,n=s.position;if(n&&i.interactivity.events.onClick.enable){for(let t of e.plugins.values())if(t.clickPositionValid&&(o=t.clickPositionValid(n)))break;o||this._doMouseTouchClick(t),s.clicking=!1}},this._mouseTouchFinish=()=>{let t=this.container.interactivity;if(!t)return;let e=t.mouse;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=M,e.inside=!1,e.clicking=!1},this._mouseTouchMove=t=>{let e,i=this.container,s=i.actualOptions,o=i.interactivity,n=i.canvas.element;if(!o?.element)return;if(o.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,o.element===window){if(n){let i=n.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(s.interactivity.detectsOn===d.parent){let i=t.target,s=t.currentTarget;if(i&&s&&n){let o=i.getBoundingClientRect(),a=s.getBoundingClientRect(),r=n.getBoundingClientRect();e={x:t.offsetX+2*o.left-(a.left+r.left),y:t.offsetY+2*o.top-(a.top+r.top)}}else e={x:t.offsetX??t.clientX,y:t.offsetY??t.clientY}}else t.target===n&&(e={x:t.offsetX??t.clientX,y:t.offsetY??t.clientY});else if(this._canPush="touchmove"!==t.type,n){let i=t.touches[t.touches.length-1],s=n.getBoundingClientRect();e={x:i.clientX-(s.left??0),y:i.clientY-(s.top??0)}}let a=i.retina.pixelRatio;e&&(e.x*=a,e.y*=a),o.mouse.position=e,o.status=C},this._touchEnd=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchFinish()},this._touchEndClick=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchClick(t)},this._touchStart=t=>{for(let e of Array.from(t.changedTouches))this._touches.set(e.identifier,performance.now());this._mouseTouchMove(t)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:t=>this._mouseTouchMove(t),mouseUp:t=>this._mouseTouchClick(t),touchStart:t=>this._touchStart(t),touchMove:t=>this._mouseTouchMove(t),touchEnd:t=>this._touchEnd(t),touchCancel:t=>this._touchEnd(t),touchEndClick:t=>this._touchEndClick(t),visibilityChange:()=>this._handleVisibilityChange(),themeChange:t=>this._handleThemeChange(t),oldThemeChange:t=>this._handleThemeChange(t),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}!function(t){t.configAdded="configAdded",t.containerInit="containerInit",t.particlesSetup="particlesSetup",t.containerStarted="containerStarted",t.containerStopped="containerStopped",t.containerDestroyed="containerDestroyed",t.containerPaused="containerPaused",t.containerPlay="containerPlay",t.containerBuilt="containerBuilt",t.particleAdded="particleAdded",t.particleDestroyed="particleDestroyed",t.particleRemoved="particleRemoved"}(u||(u={}));class t1{constructor(){this.value=""}static create(t,e){let i=new t1;return i.load(t),void 0!==e&&(q(e)||W(e)?i.load({value:e}):i.load(e)),i}load(t){!j(t)&&(j(t.value)||(this.value=t.value))}}class t2{constructor(){this.color=new t1,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(t){j(t)||(void 0!==t.color&&(this.color=t1.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.position&&(this.position=t.position),void 0!==t.repeat&&(this.repeat=t.repeat),void 0!==t.size&&(this.size=t.size),void 0!==t.opacity&&(this.opacity=t.opacity))}}class t5{constructor(){this.opacity=1}load(t){j(t)||(void 0!==t.color&&(this.color=t1.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.opacity&&(this.opacity=t.opacity))}}class t3{constructor(){this.composite="destination-out",this.cover=new t5,this.enable=!1}load(t){if(!j(t)){if(void 0!==t.composite&&(this.composite=t.composite),void 0!==t.cover){let e=t.cover,i=q(t.cover)?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color||void 0!==e.image?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class t4{constructor(){this.enable=!0,this.zIndex=0}load(t){j(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.zIndex&&(this.zIndex=t.zIndex))}}class t6{constructor(){this.enable=!1,this.mode=[]}load(t){j(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}!function(t){t.circle="circle",t.rectangle="rectangle"}(p||(p={}));class t9{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=p.circle}load(t){j(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}class t8{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(t){j(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.force&&(this.force=t.force),void 0!==t.smooth&&(this.smooth=t.smooth))}}class t7{constructor(){this.enable=!1,this.mode=[],this.parallax=new t8}load(t){j(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.parallax.load(t.parallax))}}class et{constructor(){this.delay=.5,this.enable=!0}load(t){j(t)||(void 0!==t.delay&&(this.delay=t.delay),void 0!==t.enable&&(this.enable=t.enable))}}class ee{constructor(){this.onClick=new t6,this.onDiv=new t9,this.onHover=new t7,this.resize=new et}load(t){if(j(t))return;this.onClick.load(t.onClick);let e=t.onDiv;void 0!==e&&(this.onDiv=tM(e,t=>{let e=new t9;return e.load(t),e})),this.onHover.load(t.onHover),this.resize.load(t.resize)}}class ei{constructor(t,e){this._engine=t,this._container=e}load(t){if(j(t)||!this._container)return;let e=this._engine.interactors.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}class es{constructor(t,e){this.detectsOn=d.window,this.events=new ee,this.modes=new ei(t,e)}load(t){if(j(t))return;let e=t.detectsOn;void 0!==e&&(this.detectsOn=e),this.events.load(t.events),this.modes.load(t.modes)}}class eo{load(t){!j(t)&&(t.position&&(this.position={x:t.position.x??50,y:t.position.y??50,mode:t.position.mode??l.percent}),t.options&&(this.options=tb({},t.options)))}}!function(t){t.screen="screen",t.canvas="canvas"}(f||(f={}));class en{constructor(){this.maxWidth=1/0,this.options={},this.mode=f.canvas}load(t){!j(t)&&(j(t.maxWidth)||(this.maxWidth=t.maxWidth),j(t.mode)||(t.mode===f.screen?this.mode=f.screen:this.mode=f.canvas),j(t.options)||(this.options=tb({},t.options)))}}!function(t){t.any="any",t.dark="dark",t.light="light"}(v||(v={}));class ea{constructor(){this.auto=!1,this.mode=v.any,this.value=!1}load(t){j(t)||(void 0!==t.auto&&(this.auto=t.auto),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class er{constructor(){this.name="",this.default=new ea}load(t){j(t)||(void 0!==t.name&&(this.name=t.name),this.default.load(t.default),void 0!==t.options&&(this.options=tb({},t.options)))}}class el{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(t){j(t)||(void 0!==t.count&&(this.count=ts(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=ts(t.speed)),void 0!==t.decay&&(this.decay=ts(t.decay)),void 0!==t.delay&&(this.delay=ts(t.delay)),void 0!==t.sync&&(this.sync=t.sync))}}class ec extends el{constructor(){super(),this.mode=o.auto,this.startValue=c.random}load(t){super.load(t),j(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.startValue&&(this.startValue=t.startValue))}}class eh extends el{constructor(){super(),this.offset=0,this.sync=!0}load(t){super.load(t),j(t)||void 0!==t.offset&&(this.offset=ts(t.offset))}}class ed{constructor(){this.h=new eh,this.s=new eh,this.l=new eh}load(t){j(t)||(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class eu extends t1{constructor(){super(),this.animation=new ed}static create(t,e){let i=new eu;return i.load(t),void 0!==e&&(q(e)||W(e)?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),j(t))return;let e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}!function(t){t.absorb="absorb",t.bounce="bounce",t.destroy="destroy"}(m||(m={}));class ep{constructor(){this.speed=2}load(t){j(t)||void 0!==t.speed&&(this.speed=t.speed)}}class ef{constructor(){this.enable=!0,this.retries=0}load(t){j(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.retries&&(this.retries=t.retries))}}class ev{constructor(){this.value=0}load(t){!j(t)&&(j(t.value)||(this.value=ts(t.value)))}}class em extends ev{constructor(){super(),this.animation=new el}load(t){if(super.load(t),j(t))return;let e=t.animation;void 0!==e&&this.animation.load(e)}}class eg extends em{constructor(){super(),this.animation=new ec}load(t){super.load(t)}}class ey extends ev{constructor(){super(),this.value=1}}class eb{constructor(){this.horizontal=new ey,this.vertical=new ey}load(t){j(t)||(this.horizontal.load(t.horizontal),this.vertical.load(t.vertical))}}class ew{constructor(){this.absorb=new ep,this.bounce=new eb,this.enable=!1,this.maxSpeed=50,this.mode=m.bounce,this.overlap=new ef}load(t){j(t)||(this.absorb.load(t.absorb),this.bounce.load(t.bounce),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.maxSpeed&&(this.maxSpeed=ts(t.maxSpeed)),void 0!==t.mode&&(this.mode=t.mode),this.overlap.load(t.overlap))}}class ex{constructor(){this.close=!0,this.fill=!0,this.options={},this.type=[]}load(t){if(j(t))return;let e=t.options;if(void 0!==e)for(let t in e){let i=e[t];i&&(this.options[t]=tb(this.options[t]??{},i))}void 0!==t.close&&(this.close=t.close),void 0!==t.fill&&(this.fill=t.fill),void 0!==t.type&&(this.type=t.type)}}class e_{constructor(){this.offset=0,this.value=90}load(t){j(t)||(void 0!==t.offset&&(this.offset=ts(t.offset)),void 0!==t.value&&(this.value=ts(t.value)))}}class ek{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(t){if(!j(t)&&(void 0!==t.distance&&(this.distance=ts(t.distance)),void 0!==t.enable&&(this.enable=t.enable),t.rotate)){let e=t.rotate.x;void 0!==e&&(this.rotate.x=e);let i=t.rotate.y;void 0!==i&&(this.rotate.y=i)}}}class ez{constructor(){this.x=50,this.y=50,this.mode=l.percent,this.radius=0}load(t){j(t)||(void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.radius&&(this.radius=t.radius))}}class eS{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(t){j(t)||(void 0!==t.acceleration&&(this.acceleration=ts(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.inverse&&(this.inverse=t.inverse),void 0!==t.maxSpeed&&(this.maxSpeed=ts(t.maxSpeed)))}}class eM{constructor(){this.clamp=!0,this.delay=new ev,this.enable=!1,this.options={}}load(t){!j(t)&&(void 0!==t.clamp&&(this.clamp=t.clamp),this.delay.load(t.delay),void 0!==t.enable&&(this.enable=t.enable),this.generator=t.generator,t.options&&(this.options=tb(this.options,t.options)))}}class eC{load(t){j(t)||(void 0!==t.color&&(this.color=t1.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image))}}class eE{constructor(){this.enable=!1,this.length=10,this.fill=new eC}load(t){j(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.fill&&this.fill.load(t.fill),void 0!==t.length&&(this.length=t.length))}}!function(t){t.bounce="bounce",t.none="none",t.out="out",t.destroy="destroy",t.split="split"}(g||(g={}));class eT{constructor(){this.default=g.out}load(t){j(t)||(void 0!==t.default&&(this.default=t.default),this.bottom=t.bottom??t.default,this.left=t.left??t.default,this.right=t.right??t.default,this.top=t.top??t.default)}}class eP{constructor(){this.acceleration=0,this.enable=!1}load(t){!j(t)&&(void 0!==t.acceleration&&(this.acceleration=ts(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),t.position&&(this.position=tb({},t.position)))}}class eO{constructor(){this.angle=new e_,this.attract=new ek,this.center=new ez,this.decay=0,this.distance={},this.direction=s.none,this.drift=0,this.enable=!1,this.gravity=new eS,this.path=new eM,this.outModes=new eT,this.random=!1,this.size=!1,this.speed=2,this.spin=new eP,this.straight=!1,this.trail=new eE,this.vibrate=!1,this.warp=!1}load(t){if(j(t))return;this.angle.load(G(t.angle)?{value:t.angle}:t.angle),this.attract.load(t.attract),this.center.load(t.center),void 0!==t.decay&&(this.decay=ts(t.decay)),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.distance&&(this.distance=G(t.distance)?{horizontal:t.distance,vertical:t.distance}:{...t.distance}),void 0!==t.drift&&(this.drift=ts(t.drift)),void 0!==t.enable&&(this.enable=t.enable),this.gravity.load(t.gravity);let e=t.outModes;void 0!==e&&(H(e)?this.outModes.load(e):this.outModes.load({default:e})),this.path.load(t.path),void 0!==t.random&&(this.random=t.random),void 0!==t.size&&(this.size=t.size),void 0!==t.speed&&(this.speed=ts(t.speed)),this.spin.load(t.spin),void 0!==t.straight&&(this.straight=t.straight),this.trail.load(t.trail),void 0!==t.vibrate&&(this.vibrate=t.vibrate),void 0!==t.warp&&(this.warp=t.warp)}}class eR extends ec{constructor(){super(),this.destroy=a.none,this.speed=2}load(t){super.load(t),j(t)||void 0!==t.destroy&&(this.destroy=t.destroy)}}class eD extends eg{constructor(){super(),this.animation=new eR,this.value=1}load(t){if(j(t))return;super.load(t);let e=t.animation;void 0!==e&&this.animation.load(e)}}class eI{constructor(){this.enable=!1,this.width=1920,this.height=1080}load(t){if(j(t))return;void 0!==t.enable&&(this.enable=t.enable);let e=t.width;void 0!==e&&(this.width=e);let i=t.height;void 0!==i&&(this.height=i)}}!function(t){t.delete="delete",t.wait="wait"}(y||(y={}));class eL{constructor(){this.mode=y.delete,this.value=0}load(t){j(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class eA{constructor(){this.density=new eI,this.limit=new eL,this.value=0}load(t){j(t)||(this.density.load(t.density),this.limit.load(t.limit),void 0!==t.value&&(this.value=t.value))}}class eV{constructor(){this.blur=0,this.color=new t1,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(t){j(t)||(void 0!==t.blur&&(this.blur=t.blur),this.color=t1.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(void 0!==t.offset.x&&(this.offset.x=t.offset.x),void 0!==t.offset.y&&(this.offset.y=t.offset.y)))}}class eF{constructor(){this.close=!0,this.fill=!0,this.options={},this.type="circle"}load(t){if(j(t))return;let e=t.options;if(void 0!==e)for(let t in e){let i=e[t];i&&(this.options[t]=tb(this.options[t]??{},i))}void 0!==t.close&&(this.close=t.close),void 0!==t.fill&&(this.fill=t.fill),void 0!==t.type&&(this.type=t.type)}}class eB extends ec{constructor(){super(),this.destroy=a.none,this.speed=5}load(t){super.load(t),j(t)||void 0!==t.destroy&&(this.destroy=t.destroy)}}class eU extends eg{constructor(){super(),this.animation=new eB,this.value=3}load(t){if(super.load(t),j(t))return;let e=t.animation;void 0!==e&&this.animation.load(e)}}class eq{constructor(){this.width=0}load(t){j(t)||(void 0!==t.color&&(this.color=eu.create(this.color,t.color)),void 0!==t.width&&(this.width=ts(t.width)),void 0!==t.opacity&&(this.opacity=ts(t.opacity)))}}class eG extends ev{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(t){super.load(t),j(t)||(void 0!==t.opacityRate&&(this.opacityRate=t.opacityRate),void 0!==t.sizeRate&&(this.sizeRate=t.sizeRate),void 0!==t.velocityRate&&(this.velocityRate=t.velocityRate))}}class eH{constructor(t,e){this._engine=t,this._container=e,this.bounce=new eb,this.collisions=new ew,this.color=new eu,this.color.value="#fff",this.effect=new ex,this.groups={},this.move=new eO,this.number=new eA,this.opacity=new eD,this.reduceDuplicates=!1,this.shadow=new eV,this.shape=new eF,this.size=new eU,this.stroke=new eq,this.zIndex=new eG}load(t){if(j(t))return;if(void 0!==t.groups)for(let e of Object.keys(t.groups)){if(!Object.hasOwn(t.groups,e))continue;let i=t.groups[e];void 0!==i&&(this.groups[e]=tb(this.groups[e]??{},i))}void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates),this.bounce.load(t.bounce),this.color.load(eu.create(this.color,t.color)),this.effect.load(t.effect),this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow),this.zIndex.load(t.zIndex),this.collisions.load(t.collisions),void 0!==t.interactivity&&(this.interactivity=tb({},t.interactivity));let e=t.stroke;if(e&&(this.stroke=tM(e,t=>{let e=new eq;return e.load(t),e})),this._container){let e=this._engine.updaters.get(this._container);if(e)for(let i of e)i.loadOptions&&i.loadOptions(this,t);let i=this._engine.interactors.get(this._container);if(i)for(let e of i)e.loadParticlesOptions&&e.loadParticlesOptions(this,t)}}}function eW(t,...e){for(let i of e)t.load(i)}function ej(t,e,...i){let s=new eH(t,e);return eW(s,...i),s}class eN{constructor(t,e){this._findDefaultTheme=t=>this.themes.find(e=>e.default.value&&e.default.mode===t)??this.themes.find(t=>t.default.value&&t.default.mode===v.any),this._importPreset=t=>{this.load(this._engine.getPreset(t))},this._engine=t,this._container=e,this.autoPlay=!0,this.background=new t2,this.backgroundMask=new t3,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new t4,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new es(t,e),this.manualParticles=[],this.particles=ej(this._engine,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.smooth=!1,this.style={},this.themes=[],this.zLayers=100}load(t){if(j(t))return;void 0!==t.preset&&tM(t.preset,t=>this._importPreset(t)),void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.clear&&(this.clear=t.clear),void 0!==t.key&&(this.key=t.key),void 0!==t.name&&(this.name=t.name),void 0!==t.delay&&(this.delay=ts(t.delay));let e=t.detectRetina;void 0!==e&&(this.detectRetina=e),void 0!==t.duration&&(this.duration=ts(t.duration));let i=t.fpsLimit;void 0!==i&&(this.fpsLimit=i),void 0!==t.pauseOnBlur&&(this.pauseOnBlur=t.pauseOnBlur),void 0!==t.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=t.pauseOnOutsideViewport),void 0!==t.zLayers&&(this.zLayers=t.zLayers),this.background.load(t.background);let s=t.fullScreen;U(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.backgroundMask.load(t.backgroundMask),this.interactivity.load(t.interactivity),t.manualParticles&&(this.manualParticles=t.manualParticles.map(t=>{let e=new eo;return e.load(t),e})),this.particles.load(t.particles),this.style=tb(this.style,t.style),this._engine.loadOptions(this,t),void 0!==t.smooth&&(this.smooth=t.smooth);let o=this._engine.interactors.get(this._container);if(o)for(let e of o)e.loadOptions&&e.loadOptions(this,t);if(void 0!==t.responsive)for(let e of t.responsive){let t=new en;t.load(e),this.responsive.push(t)}if(this.responsive.sort((t,e)=>t.maxWidth-e.maxWidth),void 0!==t.themes)for(let e of t.themes){let t=this.themes.find(t=>t.name===e.name);if(t)t.load(e);else{let t=new er;t.load(e),this.themes.push(t)}}this.defaultThemes.dark=this._findDefaultTheme(v.dark)?.name,this.defaultThemes.light=this._findDefaultTheme(v.light)?.name}setResponsive(t,e,i){this.load(i);let s=this.responsive.find(i=>i.mode===f.screen&&screen?i.maxWidth>screen.availWidth:i.maxWidth*e>t);return this.load(s?.options),s?.maxWidth}setTheme(t){if(t){let e=this.themes.find(e=>e.name===t);e&&this.load(e.options)}else{let t=tp("(prefers-color-scheme: dark)"),e=t?.matches,i=this._findDefaultTheme(e?v.dark:v.light);i&&this.load(i.options)}}}!function(t){t.external="external",t.particles="particles"}(b||(b={}));class eY{constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(t){for(let e of this._externalInteractors)e.isEnabled()&&e.interact(t)}handleClickMode(t){for(let e of this._externalInteractors)e.handleClickMode?.(t)}async init(){for(let t of(this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[],this._interactors)){switch(t.type){case b.external:this._externalInteractors.push(t);break;case b.particles:this._particleInteractors.push(t)}t.init()}}particlesInteract(t,e){for(let i of this._externalInteractors)i.clear(t,e);for(let i of this._particleInteractors)i.isEnabled(t)&&i.interact(t,e)}reset(t){for(let e of this._externalInteractors)e.isEnabled()&&e.reset(t);for(let e of this._particleInteractors)e.isEnabled(t)&&e.reset(t)}}function e$(t){if(!tf(t.outMode,t.checkModes))return;let e=2*t.radius;t.coord>t.maxCoord-e?t.setCb(-t.radius):t.coord<e&&t.setCb(t.radius)}!function(t){t.normal="normal",t.inside="inside",t.outside="outside"}(w||(w={}));class eJ{constructor(t,e){this.container=e,this._calcPosition=(t,e,i,s=B)=>{for(let s of t.plugins.values()){let t=void 0!==s.particlePosition?s.particlePosition(e,this):void 0;if(t)return N.create(t.x,t.y,i)}let o=function(t){return{x:t.position?.x??Z()*t.size.width,y:t.position?.y??Z()*t.size.height}}({size:t.canvas.size,position:e}),n=N.create(o.x,o.y,i),a=this.getRadius(),r=this.options.move.outModes,l=e=>{e$({outMode:e,checkModes:[g.bounce],coord:n.x,maxCoord:t.canvas.size.width,setCb:t=>n.x+=t,radius:a})},c=e=>{e$({outMode:e,checkModes:[g.bounce],coord:n.y,maxCoord:t.canvas.size.height,setCb:t=>n.y+=t,radius:a})};return(l(r.left??r.default),l(r.right??r.default),c(r.top??r.default),c(r.bottom??r.default),this._checkOverlap(n,s))?this._calcPosition(t,void 0,i,s+1):n},this._calculateVelocity=()=>{let t=(function(t){let e=Y.origin;return e.length=1,e.angle=t,e})(this.direction).copy(),e=this.options.move;if(e.direction===s.inside||e.direction===s.outside)return t;let i=ta(tt(e.angle.value)),o=ta(tt(e.angle.offset)),n={left:o-.5*i,right:o+.5*i};return e.straight||(t.angle+=K(ts(n.left,n.right))),e.random&&"number"==typeof e.speed&&(t.length*=Z()),t},this._checkOverlap=(t,e=B)=>{let i=this.options.collisions,s=this.getRadius();if(!i.enable)return!1;let o=i.overlap;if(o.enable)return!1;let n=o.retries;if(n>=0&&e>n)throw Error(`${T} particle is overlapping and can't be placed`);return!!this.container.particles.find(e=>tn(t,e.position)<s+e.getRadius())},this._getRollColor=t=>{if(!t||!this.roll||!this.backColor&&!this.roll.alter)return t;let e=this.roll.horizontal&&this.roll.vertical?2:1,i=this.roll.horizontal?.5*Math.PI:0;return Math.floor(((this.roll.angle??0)+i)/(Math.PI/e))%2?this.backColor?this.backColor:this.roll.alter?function(t,e,i){return{h:t.h,s:t.s,l:t.l+(e===h.darken?-1:1)*i}}(t,this.roll.alter.type,this.roll.alter.value):t:t},this._initPosition=t=>{let e=this.container,i=tt(this.options.zIndex.value);this.position=this._calcPosition(e,t,X(i,0,e.zLayers)),this.initialPosition=this.position.copy();let o=e.canvas.size;switch(this.moveCenter={...tP(this.options.move.center,o),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??l.percent},this.direction=function(t,e,i){if(G(t))return ta(t);switch(t){case s.top:return-(.5*Math.PI);case s.topRight:return-(.25*Math.PI);case s.right:return 0;case s.bottomRight:return .25*Math.PI;case s.bottom:return .5*Math.PI;case s.bottomLeft:return .75*Math.PI;case s.left:return Math.PI;case s.topLeft:return-(.75*Math.PI);case s.inside:return Math.atan2(i.y-e.y,i.x-e.x);case s.outside:return Math.atan2(e.y-i.y,e.x-i.x);default:return Z()*L}}(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case s.inside:this.outType=w.inside;break;case s.outside:this.outType=w.outside}this.offset=Y.origin},this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let e=this.container,i=this.pathGenerator,s=e.shapeDrawers.get(this.shape);for(let i of(s?.particleDestroy?.(this),e.plugins.values()))i.particleDestroyed?.(this,t);for(let i of e.particles.updaters)i.particleDestroyed?.(this,t);i?.reset(this),this._engine.dispatchEvent(u.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let e=this.container,i=e.canvas;for(let s of e.plugins.values())i.drawParticlePlugin(s,this,t);i.drawParticle(this,t)}getFillColor(){return this._getRollColor(this.bubble.color??tW(this.color))}getMass(){return this.getRadius()**2*Math.PI*.5}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){return this.bubble.radius??this.size.value}getStrokeColor(){return this._getRollColor(this.bubble.color??tW(this.strokeColor))}init(t,e,i,s){let o=this.container,n=this._engine;this.id=t,this.group=s,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=w.normal,this.ignoresResizeRatio=!0;let a=o.retina.pixelRatio,r=o.actualOptions,l=ej(this._engine,o,r.particles),{reduceDuplicates:c}=l,h=l.effect.type,d=l.shape.type;this.effect=tC(h,this.id,c),this.shape=tC(d,this.id,c);let u=l.effect,p=l.shape;if(i){if(i.effect?.type){let t=tC(i.effect.type,this.id,c);t&&(this.effect=t,u.load(i.effect))}if(i.shape?.type){let t=tC(i.shape.type,this.id,c);t&&(this.shape=t,p.load(i.shape))}}if(this.effect===I){let t=[...this.container.effectDrawers.keys()];this.effect=t[Math.floor(Z()*t.length)]}if(this.shape===I){let t=[...this.container.shapeDrawers.keys()];this.shape=t[Math.floor(Z()*t.length)]}this.effectData=function(t,e,i,s){let o=e.options[t];if(o)return tb({close:e.close,fill:e.fill},tC(o,i,s))}(this.effect,u,this.id,c),this.shapeData=function(t,e,i,s){let o=e.options[t];if(o)return tb({close:e.close,fill:e.fill},tC(o,i,s))}(this.shape,p,this.id,c),l.load(i);let f=this.effectData;f&&l.load(f.particles);let v=this.shapeData;v&&l.load(v.particles);let m=new es(n,o);m.load(o.actualOptions.interactivity),m.load(l.interactivity),this.interactivity=m,this.effectFill=f?.fill??l.effect.fill,this.effectClose=f?.close??l.effect.close,this.shapeFill=v?.fill??l.shape.fill,this.shapeClose=v?.close??l.shape.close,this.options=l;let g=this.options.move.path;this.pathDelay=tt(g.delay.value)*O,g.generator&&(this.pathGenerator=this._engine.getPathGenerator(g.generator),this.pathGenerator&&o.addPath(g.generator,this.pathGenerator)&&this.pathGenerator.init(o)),o.retina.initParticle(this),this.size=tT(this.options.size,a),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(e),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-tt(this.options.move.decay);let y=o.particles;y.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/o.zLayers,this.sides=24;let b=o.effectDrawers.get(this.effect);!b&&(b=this._engine.getEffectDrawer(this.effect))&&o.effectDrawers.set(this.effect,b),b?.loadEffect&&b.loadEffect(this);let x=o.shapeDrawers.get(this.shape);!x&&(x=this._engine.getShapeDrawer(this.shape))&&o.shapeDrawers.set(this.shape,x),x?.loadShape&&x.loadShape(this);let _=x?.getSidesCount;for(let t of(_&&(this.sides=_(this)),this.spawning=!1,this.shadowColor=tD(this._engine,this.options.shadow.color),y.updaters))t.init(this);for(let t of y.movers)t.init?.(this);for(let t of(b?.particleInit?.(o,this),x?.particleInit?.(o,this),o.plugins.values()))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),e=this.container.canvas.size,i=this.position;return i.x>=-t&&i.y>=-t&&i.y<=e.height+t&&i.x<=e.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this.container.particles.updaters)t.reset?.(this)}}class eZ{constructor(t,e){this.position=t,this.particle=e}}!function(t){t.circle="circle",t.rectangle="rectangle"}(x||(x={}));class eX{constructor(t,e,i){this.position={x:t,y:e},this.type=i}}class eQ extends eX{constructor(t,e,i){super(t,e,x.circle),this.radius=i}contains(t){return tn(t,this.position)<=this.radius}intersects(t){let e=this.position,i=t.position,s={x:Math.abs(i.x-e.x),y:Math.abs(i.y-e.y)},o=this.radius;if(t instanceof eQ||t.type===x.circle)return o+t.radius>Math.sqrt(s.x**2+s.y**2);if(t instanceof eK||t.type===x.rectangle){let{width:e,height:i}=t.size;return Math.pow(s.x-e,2)+Math.pow(s.y-i,2)<=o**2||s.x<=o+e&&s.y<=o+i||s.x<=e||s.y<=i}return!1}}class eK extends eX{constructor(t,e,i,s){super(t,e,x.rectangle),this.size={height:s,width:i}}contains(t){let e=this.size.width,i=this.size.height,s=this.position;return t.x>=s.x&&t.x<=s.x+e&&t.y>=s.y&&t.y<=s.y+i}intersects(t){if(t instanceof eQ)return t.intersects(this);let e=this.size.width,i=this.size.height,s=this.position,o=t.position,n=t instanceof eK?t.size:{width:0,height:0},a=n.width,r=n.height;return o.x<s.x+e&&o.x+a>s.x&&o.y<s.y+i&&o.y+r>s.y}}class e0{constructor(t,e){this.rectangle=t,this.capacity=e,this._subdivide=()=>{let{x:t,y:e}=this.rectangle.position,{width:i,height:s}=this.rectangle.size,{capacity:o}=this;for(let n=0;n<4;n++){let a=n%2;this._subs.push(new e0(new eK(t+.5*i*a,e+.5*s*(Math.round(.5*n)-a),.5*i,.5*s),o))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(e=>e.insert(t))))}query(t,e){let i=[];if(!t.intersects(this.rectangle))return[];for(let s of this._points)!t.contains(s.position)&&tn(t.position,s.position)>s.particle.getRadius()&&(!e||e(s.particle))||i.push(s.particle);if(this._divided)for(let s of this._subs)i.push(...s.query(t,e));return i}queryCircle(t,e,i){return this.query(new eQ(t.x,t.y,e),i)}queryRectangle(t,e,i){return this.query(new eK(t.x,t.y,e.width,e.height),i)}}let e1=t=>{let{height:e,width:i}=t;return new eK(-.25*i,-.25*e,1.5*i,1.5*e)};class e2{constructor(t,e){this._addToPool=(...t)=>{this._pool.push(...t)},this._applyDensity=(t,e,i,s)=>{let o=t.number;if(!t.number.density?.enable)return void(void 0===i?this._limit=o.limit.value:(s?.number.limit?.value??o.limit.value)&&this._groupLimits.set(i,s?.number.limit?.value??o.limit.value));let n=this._initDensityFactor(o.density),a=o.value,r=o.limit.value>0?o.limit.value:a,l=Math.min(a,r)*n+e,c=Math.min(this.count,this.filter(t=>t.group===i).length);void 0===i?this._limit=o.limit.value*n:this._groupLimits.set(i,o.limit.value*n),c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)},this._initDensityFactor=t=>{let e=this._container;if(!e.canvas.element||!t.enable)return 1;let i=e.canvas.element,s=e.retina.pixelRatio;return i.width*i.height/(t.height*t.width*s**2)},this._pushParticle=(t,e,i,s)=>{try{let o=this._pool.pop();o||(o=new eJ(this._engine,this._container)),o.init(this._nextId,t,e,i);let n=!0;if(s&&(n=s(o)),!n)return;return this._array.push(o),this._zArray.push(o),this._nextId++,this._engine.dispatchEvent(u.particleAdded,{container:this._container,data:{particle:o}}),o}catch(t){tc.warning(`${T} adding particle: ${t}`)}},this._removeParticle=(t,e,i)=>{let s=this._array[t];if(!s||s.group!==e)return!1;let o=this._zArray.indexOf(s);return this._array.splice(t,1),this._zArray.splice(o,1),s.destroy(i),this._engine.dispatchEvent(u.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0},this._engine=t,this._container=e,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._lastZIndex=0,this._interactionManager=new eY(t,e),this._pluginsInitialized=!1;let i=e.canvas.size;this.quadTree=new e0(e1(i),4),this.movers=[],this.updaters=[]}get count(){return this._array.length}addManualParticles(){let t=this._container;t.actualOptions.manualParticles.forEach(e=>this.addParticle(e.position?tP(e.position,t.canvas.size):void 0,e.options))}addParticle(t,e,i,s){let o=this._container.actualOptions.particles.number.limit.mode,n=void 0===i?this._limit:this._groupLimits.get(i)??this._limit,a=this.count;if(n>0)switch(o){case y.delete:{let t=a+1-n;t>0&&this.removeQuantity(t);break}case y.wait:if(a>=n)return}return this._pushParticle(t,e,i,s)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(t){let e=this._container,i=e.canvas;for(let s of(i.clear(),this.update(t),e.plugins.values()))i.drawPlugin(s,t);for(let e of this._zArray)e.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}handleClickMode(t){this._interactionManager.handleClickMode(t)}async init(){let t=this._container,e=t.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let i=!1;for(let e of t.plugins.values())if(i=e.particlesInitialization?.()??i)break;if(this.addManualParticles(),!i){let t=e.particles,i=t.groups;for(let e in i){let s=i[e];for(let i=this.count,o=0;o<s.number?.value&&i<t.number.value;i++,o++)this.addParticle(void 0,s,e)}for(let e=this.count;e<t.number.value;e++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;let t=this._container;for(let e of(this.movers=await this._engine.getMovers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),await this._interactionManager.init(),t.pathGenerators.values()))e.init(t)}push(t,e,i,s){for(let o=0;o<t;o++)this.addParticle(e?.position,i,s)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(t,e,i){this.removeAt(this._array.indexOf(t),void 0,e,i)}removeAt(t,e=1,i,s){if(t<0||t>this.count)return;let o=0;for(let n=t;o<e&&n<this.count;n++)this._removeParticle(n,i,s)&&(n--,o++)}removeQuantity(t,e){this.removeAt(0,t,e)}setDensity(){let t=this._container.actualOptions,e=t.particles.groups,i=t.manualParticles.length;for(let t in e)this._applyDensity(e[t],i,t);this._applyDensity(t.particles,i)}setLastZIndex(t){this._lastZIndex=t,this._needsSort=this._needsSort||this._lastZIndex<t}setResizeFactor(t){this._resizeFactor=t}update(t){let e=this._container,i=new Set;for(let t of(this.quadTree=new e0(e1(e.canvas.size),4),e.pathGenerators.values()))t.update();for(let i of e.plugins.values())i.update?.(t);let s=this._resizeFactor;for(let e of this._array){for(let i of(s&&!e.ignoresResizeRatio&&(e.position.x*=s.width,e.position.y*=s.height,e.initialPosition.x*=s.width,e.initialPosition.y*=s.height),e.ignoresResizeRatio=!1,this._interactionManager.reset(e),this._container.plugins.values())){if(e.destroyed)break;i.particleUpdate?.(e,t)}for(let i of this.movers)i.isEnabled(e)&&i.move(e,t);if(e.destroyed){i.add(e);continue}this.quadTree.insert(new eZ(e.getPosition(),e))}if(i.size){let t=t=>!i.has(t);for(let e of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),i))this._engine.dispatchEvent(u.particleRemoved,{container:this._container,data:{particle:e}});this._addToPool(...i)}for(let e of(this._interactionManager.externalInteract(t),this._array)){for(let i of this.updaters)i.update(e,t);e.destroyed||e.spawning||this._interactionManager.particlesInteract(e,t)}if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,e)=>e.position.z-t.position.z||t.id-e.id),this._lastZIndex=t[t.length-1].position.z,this._needsSort=!1}}}class e5{constructor(t){this.container=t,this.pixelRatio=1,this.reduceFactor=1}init(){let t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||tu()?1:devicePixelRatio,this.reduceFactor=1;let i=this.pixelRatio,s=t.canvas;if(s.element){let t=s.element;s.size.width=t.offsetWidth*i,s.size.height=t.offsetHeight*i}let o=e.particles,n=o.move;this.maxSpeed=tt(n.gravity.maxSpeed)*i,this.sizeAnimationSpeed=tt(o.size.animation.speed)*i}initParticle(t){let e=t.options,i=this.pixelRatio,s=e.move,o=s.distance,n=t.retina;n.moveDrift=tt(s.drift)*i,n.moveSpeed=tt(s.speed)*i,n.sizeAnimationSpeed=tt(e.size.animation.speed)*i;let a=n.maxDistance;a.horizontal=void 0!==o.horizontal?o.horizontal*i:void 0,a.vertical=void 0!==o.vertical?o.vertical*i:void 0,n.maxSpeed=tt(s.gravity.maxSpeed)*i}}function e3(t){return t&&!t.destroyed}function e4(t,e,...i){let s=new eN(t,e);return eW(s,...i),s}class e6{constructor(t,e,i){this._intersectionManager=t=>{if(e3(this)&&this.actualOptions.pauseOnOutsideViewport)for(let e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play():this.pause())},this._nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+O/this.fpsLimit)return void this.draw(!1);this._lastFrameTime??=t;let e=function(t,e=60,i=!1){return{value:t,factor:i?60/e:60*t/O}}(t-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(e.value),this._lastFrameTime=t,e.value>O)return void this.draw(!1);if(this.particles.draw(e),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){tc.error(`${T} in animation loop`,t)}},this._engine=t,this.id=Symbol(e),this.fpsLimit=120,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._clickHandlers=new Map,this._sourceOptions=i,this._initialSourceOptions=i,this.retina=new e5(this),this.canvas=new tQ(this,this._engine),this.particles=new e2(this._engine,this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this._options=e4(this._engine,this),this.actualOptions=e4(this._engine,this),this._eventListeners=new t0(this),this._intersectionObserver=function(t){if(!tu()&&"undefined"!=typeof IntersectionObserver)return new IntersectionObserver(t)}(t=>this._intersectionManager(t)),this._engine.dispatchEvent(u.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&e3(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(t){if(!e3(this))return;let e=this.interactivity.element;if(!e)return;let i=(e,i,s)=>{if(!e3(this))return;let o=this.retina.pixelRatio,n={x:i.x*o,y:i.y*o};t(e,this.particles.quadTree.queryCircle(n,s*o))},s=t=>{if(!e3(this))return;let e={x:t.offsetX||t.clientX,y:t.offsetY||t.clientY};i(t,e,1)},o=()=>{e3(this)&&(l=!0,c=!1)},n=()=>{e3(this)&&(c=!0)},a=t=>{if(e3(this)){if(l&&!c){let e=t.touches[t.touches.length-1];if(!e&&!(e=t.changedTouches[t.changedTouches.length-1]))return;let s=this.canvas.element,o=s?s.getBoundingClientRect():void 0;i(t,{x:e.clientX-(o?o.left:0),y:e.clientY-(o?o.top:0)},Math.max(e.radiusX,e.radiusY))}l=!1,c=!1}},r=()=>{e3(this)&&(l=!1,c=!1)},l=!1,c=!1;for(let[t,i]of(this._clickHandlers.set("click",s),this._clickHandlers.set("touchstart",o),this._clickHandlers.set("touchmove",n),this._clickHandlers.set("touchend",a),this._clickHandlers.set("touchcancel",r),this._clickHandlers))e.addEventListener(t,i)}addLifeTime(t){this._lifeTime+=t}addPath(t,e,i=!1){return!(!e3(this)||!i&&this.pathGenerators.has(t))&&(this.pathGenerators.set(t,e),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}clearClickHandlers(){if(e3(this)){for(let[t,e]of this._clickHandlers)this.interactivity.element?.removeEventListener(t,e);this._clickHandlers.clear()}}destroy(t=!0){if(e3(this)){for(let t of(this.stop(),this.clearClickHandlers(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers.values()))t.destroy?.(this);for(let t of this.shapeDrawers.values())t.destroy?.(this);for(let t of this.effectDrawers.keys())this.effectDrawers.delete(t);for(let t of this.shapeDrawers.keys())this.shapeDrawers.delete(t);if(this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,e=t.findIndex(t=>t===this);e>=0&&t.splice(e,1)}this._engine.dispatchEvent(u.containerDestroyed,{container:this})}}draw(t){var e;if(!e3(this))return;let i=t,s=t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)};this._drawAnimationFrame=(e=t=>s(t),J.nextFrame(e))}async export(t,e={}){for(let i of this.plugins.values()){if(!i.export)continue;let s=await i.export(t,e);if(s.supported)return s.blob}tc.error(`${T} - Export plugin with type ${t} not found`)}handleClickMode(t){if(e3(this))for(let e of(this.particles.handleClickMode(t),this.plugins.values()))e.handleClickMode?.(t)}async init(){if(!e3(this))return;for(let t of this._engine.getSupportedEffects()){let e=this._engine.getEffectDrawer(t);e&&this.effectDrawers.set(t,e)}for(let t of this._engine.getSupportedShapes()){let e=this._engine.getShapeDrawer(t);e&&this.shapeDrawers.set(t,e)}for(let[t,e]of(await this.particles.initPlugins(),this._options=e4(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=e4(this._engine,this,this._options),await this._engine.getAvailablePlugins(this)))this.plugins.set(t,e);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{zLayers:t,duration:e,delay:i,fpsLimit:s,smooth:o}=this.actualOptions;for(let n of(this.zLayers=t,this._duration=tt(e)*O,this._delay=tt(i)*O,this._lifeTime=0,this.fpsLimit=s>0?s:120,this._smooth=o,this.effectDrawers.values()))await n.init?.(this);for(let t of this.shapeDrawers.values())await t.init?.(this);for(let t of this.plugins.values())await t.init?.();for(let t of(this._engine.dispatchEvent(u.containerInit,{container:this}),await this.particles.init(),this.particles.setDensity(),this.plugins.values()))t.particlesSetup?.();this._engine.dispatchEvent(u.particlesSetup,{container:this})}async loadTheme(t){e3(this)&&(this._currentTheme=t,await this.refresh())}pause(){if(e3(this)){if(void 0!==this._drawAnimationFrame){var t;t=this._drawAnimationFrame,J.cancel(t),delete this._drawAnimationFrame}if(!this._paused){for(let t of this.plugins.values())t.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(u.containerPaused,{container:this})}}}play(t){if(!e3(this))return;let e=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),e)for(let t of this.plugins.values())t.play&&t.play();this._engine.dispatchEvent(u.containerPlay,{container:this}),this.draw(e??!1)}async refresh(){if(e3(this))return this.stop(),this.start()}async reset(t){if(e3(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=e4(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=e4(this._engine,this,this._options),this.refresh()}async start(){e3(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let e=async()=>{for(let t of(this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element),this.plugins.values()))await t.start?.();this._engine.dispatchEvent(u.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void e(),this._delay)}))}stop(){if(e3(this)&&this.started){for(let t of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(this.interactivity.element),this.plugins.values()))t.stop?.();for(let t of this.plugins.keys())this.plugins.delete(t);this._sourceOptions=this._options,this._engine.dispatchEvent(u.containerStopped,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];let t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth!==t&&(this._responsiveMaxWidth=t,!0)}}class e9{constructor(){this._listeners=new Map}addEventListener(t,e){this.removeEventListener(t,e);let i=this._listeners.get(t);i||(i=[],this._listeners.set(t,i)),i.push(e)}dispatchEvent(t,e){let i=this._listeners.get(t);i?.forEach(t=>t(e))}hasEventListener(t){return!!this._listeners.get(t)}removeAllEventListeners(t){t?this._listeners.delete(t):this._listeners=new Map}removeEventListener(t,e){let i=this._listeners.get(t);if(!i)return;let s=i.length,o=i.indexOf(e);o<0||(1===s?this._listeners.delete(t):i.splice(o,1))}}async function e8(t,e,i,s=!1){let o=e.get(t);return(!o||s)&&(o=await Promise.all([...i.values()].map(e=>e(t))),e.set(t,o)),o}async function e7(t){let e=tC(t.url,t.index);if(!e)return t.fallback;let i=await fetch(e);return i.ok?await i.json():(tc.error(`${T} ${i.status} while retrieving config file`),t.fallback)}class it{constructor(){this._configs=new Map,this._domArray=[],this._eventDispatcher=new e9,this._initialized=!1,this.plugins=[],this.colorManagers=new Map,this.easingFunctions=new Map,this._initializers={interactors:new Map,movers:new Map,updaters:new Map},this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this.pathGenerators=new Map}get configs(){let t={};for(let[e,i]of this._configs)t[e]=i;return t}get items(){return this._domArray}get version(){return"3.9.1"}async addColorManager(t,e=!0){this.colorManagers.set(t.key,t),await this.refresh(e)}addConfig(t){let e=t.key??t.name??"default";this._configs.set(e,t),this._eventDispatcher.dispatchEvent(u.configAdded,{data:{name:e,config:t}})}async addEasing(t,e,i=!0){this.getEasing(t)||(this.easingFunctions.set(t,e),await this.refresh(i))}async addEffect(t,e,i=!0){tM(t,t=>{this.getEffectDrawer(t)||this.effectDrawers.set(t,e)}),await this.refresh(i)}addEventListener(t,e){this._eventDispatcher.addEventListener(t,e)}async addInteractor(t,e,i=!0){this._initializers.interactors.set(t,e),await this.refresh(i)}async addMover(t,e,i=!0){this._initializers.movers.set(t,e),await this.refresh(i)}async addParticleUpdater(t,e,i=!0){this._initializers.updaters.set(t,e),await this.refresh(i)}async addPathGenerator(t,e,i=!0){this.getPathGenerator(t)||this.pathGenerators.set(t,e),await this.refresh(i)}async addPlugin(t,e=!0){this.getPlugin(t.id)||this.plugins.push(t),await this.refresh(e)}async addPreset(t,e,i=!1,s=!0){(i||!this.getPreset(t))&&this.presets.set(t,e),await this.refresh(s)}async addShape(t,e=!0){for(let e of t.validTypes)this.getShapeDrawer(e)||this.shapeDrawers.set(e,t);await this.refresh(e)}checkVersion(t){if(this.version!==t)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${t}`)}clearPlugins(t){this.updaters.delete(t),this.movers.delete(t),this.interactors.delete(t)}dispatchEvent(t,e){this._eventDispatcher.dispatchEvent(t,e)}dom(){return this.items}domItem(t){return this.item(t)}async getAvailablePlugins(t){let e=new Map;for(let i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,await i.getPlugin(t));return e}getEasing(t){return this.easingFunctions.get(t)??(t=>t)}getEffectDrawer(t){return this.effectDrawers.get(t)}async getInteractors(t,e=!1){return e8(t,this.interactors,this._initializers.interactors,e)}async getMovers(t,e=!1){return e8(t,this.movers,this._initializers.movers,e)}getPathGenerator(t){return this.pathGenerators.get(t)}getPlugin(t){return this.plugins.find(e=>e.id===t)}getPreset(t){return this.presets.get(t)}getShapeDrawer(t){return this.shapeDrawers.get(t)}getSupportedEffects(){return this.effectDrawers.keys()}getSupportedShapes(){return this.shapeDrawers.keys()}async getUpdaters(t,e=!1){return e8(t,this.updaters,this._initializers.updaters,e)}init(){this._initialized||(this._initialized=!0)}item(t){let{items:e}=this,i=e[t];return!i||i.destroyed?void e.splice(t,1):i}async load(t){let e,i=t.id??t.element?.id??`tsparticles${Math.floor(1e4*Z())}`,{index:s,url:o}=t,n=tC(o?await e7({fallback:t.options,url:o,index:s}):t.options,s),{items:a}=this,r=a.findIndex(t=>t.id.description===i),l=new e6(this,i,n);if(r>=0){let t=this.item(r),e=+!!t;t&&!t.destroyed&&t.destroy(!1),a.splice(r,e,l)}else a.push(l);let c=(t=>{let e;if(t instanceof HTMLCanvasElement||t.tagName.toLowerCase()===F)(e=t).dataset[S]||(e.dataset[S]=V);else{let i=t.getElementsByTagName(F);i.length?(e=i[0]).dataset[S]=V:((e=document.createElement(F)).dataset[S]=A,t.appendChild(e))}let i="100%";return e.style.width||(e.style.width=i),e.style.height||(e.style.height=i),e})(((e=t.element??document.getElementById(i))||((e=document.createElement("div")).id=i,e.dataset[S]=A,document.body.append(e)),e));return l.canvas.loadCanvas(c),await l.start(),l}loadOptions(t,e){this.plugins.forEach(i=>i.loadOptions?.(t,e))}loadParticlesOptions(t,e,...i){let s=this.updaters.get(t);s&&s.forEach(t=>t.loadOptions?.(e,...i))}async refresh(t=!0){t&&await Promise.all(this.items.map(t=>t.refresh()))}removeEventListener(t,e){this._eventDispatcher.removeEventListener(t,e)}setOnClickHandler(t){let{items:e}=this;if(!e.length)throw Error(`${T} can only set click handlers after calling tsParticles.load()`);e.forEach(e=>e.addClickHandler(t))}}class ie{constructor(t){this.type=b.external,this.container=t}}class ii{constructor(t){this.type=b.particles,this.container=t}}!function(t){t.clockwise="clockwise",t.counterClockwise="counter-clockwise",t.random="random"}(_||(_={})),function(t){t.linear="linear",t.radial="radial",t.random="random"}(k||(k={})),function(t){t.easeInBack="ease-in-back",t.easeInCirc="ease-in-circ",t.easeInCubic="ease-in-cubic",t.easeInLinear="ease-in-linear",t.easeInQuad="ease-in-quad",t.easeInQuart="ease-in-quart",t.easeInQuint="ease-in-quint",t.easeInExpo="ease-in-expo",t.easeInSine="ease-in-sine",t.easeOutBack="ease-out-back",t.easeOutCirc="ease-out-circ",t.easeOutCubic="ease-out-cubic",t.easeOutLinear="ease-out-linear",t.easeOutQuad="ease-out-quad",t.easeOutQuart="ease-out-quart",t.easeOutQuint="ease-out-quint",t.easeOutExpo="ease-out-expo",t.easeOutSine="ease-out-sine",t.easeInOutBack="ease-in-out-back",t.easeInOutCirc="ease-in-out-circ",t.easeInOutCubic="ease-in-out-cubic",t.easeInOutLinear="ease-in-out-linear",t.easeInOutQuad="ease-in-out-quad",t.easeInOutQuart="ease-in-out-quart",t.easeInOutQuint="ease-in-out-quint",t.easeInOutExpo="ease-in-out-expo",t.easeInOutSine="ease-in-out-sine"}(z||(z={}));let is=function(){let t=new it;return t.init(),t}();tu()||(window.tsParticles=is)},76231:(t,e,i)=>{i.d(e,{m:()=>eO});var s,o,n,a,r,l,c=i(70046);let h=2*Math.PI;class d{init(t){let e=t.options.move.gravity;t.gravity={enable:e.enable,acceleration:(0,c.VGA)(e.acceleration),inverse:e.inverse},function(t){let e=t.container,i=t.options.move.spin;if(!i.enable)return;let s=i.position??{x:50,y:50},o={x:.01*s.x*e.canvas.size.width,y:.01*s.y*e.canvas.size.height},n=t.getPosition(),a=(0,c.YfF)(n,o),r=(0,c.VGA)(i.acceleration);t.retina.spinAcceleration=r*e.retina.pixelRatio,t.spin={center:o,direction:t.velocity.x>=0?c.pTR.clockwise:c.pTR.counterClockwise,angle:(0,c.G0i)()*h,radius:a,acceleration:t.retina.spinAcceleration}}(t)}isEnabled(t){return!t.destroyed&&t.options.move.enable}move(t,e){let i=t.options,s=i.move;if(!s.enable)return;let o=t.container,n=o.retina.pixelRatio;t.retina.moveSpeed??=(0,c.VGA)(s.speed)*n,t.retina.moveDrift??=(0,c.VGA)(t.options.move.drift)*n;let a=t.slow.inRange?t.slow.factor:1,r=o.retina.reduceFactor,l=t.retina.moveSpeed,h=t.retina.moveDrift,d=(0,c.W9e)(i.size.value)*n,u=l*(s.size?t.getRadius()/d:1)*a*(e.factor||1)/2,p=t.retina.maxSpeed??o.retina.maxSpeed;s.spin.enable?function(t,e,i){let s=t.container;if(!t.spin)return;let o=t.spin.direction===c.pTR.clockwise,n={x:o?Math.cos:Math.sin,y:o?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*n.x(t.spin.angle)*i,t.position.y=t.spin.center.y+t.spin.radius*n.y(t.spin.angle)*i,t.spin.radius+=t.spin.acceleration*i;let a=Math.max(s.canvas.size.width,s.canvas.size.height),r=.5*a;t.spin.radius>r?(t.spin.radius=r,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=.01*e*(1-t.spin.radius/a)}(t,u,r):function(t,e,i,s,o,n,a){!function(t,e){let i=t.options.move.path;if(!i.enable)return;if(t.lastPathTime<=t.pathDelay){t.lastPathTime+=e.value;return}let s=t.pathGenerator?.generate(t,e);s&&t.velocity.addTo(s),i.clamp&&(t.velocity.x=(0,c.qE8)(t.velocity.x,-1,1),t.velocity.y=(0,c.qE8)(t.velocity.y,-1,1)),t.lastPathTime-=t.pathDelay}(t,a);let r=t.gravity,l=r?.enable&&r.inverse?-1:1;o&&i&&(t.velocity.x+=o*a.factor/(60*i)),r?.enable&&i&&(t.velocity.y+=l*(r.acceleration*a.factor)/(60*i));let h=t.moveDecay;t.velocity.multTo(h);let d=t.velocity.mult(i);r?.enable&&s>0&&(!r.inverse&&d.y>=0&&d.y>=s||r.inverse&&d.y<=0&&d.y<=-s)&&(d.y=l*s,i&&(t.velocity.y=d.y/i));let u=t.options.zIndex,p=(1-t.zIndexFactor)**u.velocityRate;d.multTo(p),d.multTo(n);let{position:f}=t;f.addTo(d),e.vibrate&&(f.x+=Math.sin(f.x*Math.cos(f.y))*n,f.y+=Math.cos(f.y*Math.sin(f.x))*n)}(t,s,u,p,h,r,e),function(t){let e=t.initialPosition,{dx:i,dy:s}=(0,c.vrU)(e,t.position),o=Math.abs(i),n=Math.abs(s),{maxDistance:a}=t.retina,r=a.horizontal,l=a.vertical;if(r||l){if((r&&o>=r||l&&n>=l)&&!t.misplaced)t.misplaced=!!r&&o>r||!!l&&n>l,r&&(t.velocity.x=.5*t.velocity.y-t.velocity.x),l&&(t.velocity.y=.5*t.velocity.x-t.velocity.y);else if((!r||o<r)&&(!l||n<l)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){let i=t.position,s=t.velocity;r&&(i.x<e.x&&s.x<0||i.x>e.x&&s.x>0)&&(s.x*=-(0,c.G0i)()),l&&(i.y<e.y&&s.y<0||i.y>e.y&&s.y>0)&&(s.y*=-(0,c.G0i)())}}}(t)}}async function u(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("base",()=>Promise.resolve(new d),e)}let p=2*Math.PI,f={x:0,y:0};class v{constructor(){this.validTypes=["circle"]}draw(t){let{context:e,particle:i,radius:s}=t;i.circleRange||(i.circleRange={min:0,max:p});let o=i.circleRange;e.arc(f.x,f.y,s,o.min,o.max,!1)}getSidesCount(){return 12}particleInit(t,e){let i=e.shapeData,s=i?.angle??{max:360,min:0};e.circleRange=(0,c.Gvm)(s)?{min:(0,c.puj)(s.min),max:(0,c.puj)(s.max)}:{min:0,max:(0,c.puj)(s)}}}async function m(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new v,e)}class g{constructor(t,e){this._container=t,this._engine=e}init(t){let e=(0,c.R5R)(this._engine,t.options.color,t.id,t.options.reduceDuplicates);e&&(t.color=(0,c.pzy)(e,t.options.color.animation,this._container.retina.reduceFactor))}isEnabled(t){let{h:e,s:i,l:s}=t.options.color.animation,{color:o}=t;return!t.destroyed&&!t.spawning&&(o?.h.value!==void 0&&e.enable||o?.s.value!==void 0&&i.enable||o?.l.value!==void 0&&s.enable)}update(t,e){(0,c.JvX)(t.color,e)}}async function y(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("color",e=>Promise.resolve(new g(e,t)),e)}!function(t){t[t.r=1]="r",t[t.g=2]="g",t[t.b=3]="b",t[t.a=4]="a"}(s||(s={}));let b=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,w=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class x{constructor(){this.key="hex",this.stringPrefix="#"}handleColor(t){return this._parseString(t.value)}handleRangeColor(t){return this._parseString(t.value)}parseString(t){return this._parseString(t)}_parseString(t){if("string"!=typeof t||!t?.startsWith(this.stringPrefix))return;let e=t.replace(b,(t,e,i,s,o)=>e+e+i+i+s+s+(void 0!==o?o+o:"")),i=w.exec(e);return i?{a:void 0!==i[s.a]?parseInt(i[s.a],16)/255:1,b:parseInt(i[s.b],16),g:parseInt(i[s.g],16),r:parseInt(i[s.r],16)}:void 0}}async function _(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new x,e)}!function(t){t[t.h=1]="h",t[t.s=2]="s",t[t.l=3]="l",t[t.a=5]="a"}(o||(o={}));class k{constructor(){this.key="hsl",this.stringPrefix="hsl"}handleColor(t){let e=t.value.hsl??t.value;if(void 0!==e.h&&void 0!==e.s&&void 0!==e.l)return(0,c.YLU)(e)}handleRangeColor(t){let e=t.value.hsl??t.value;if(void 0!==e.h&&void 0!==e.l)return(0,c.YLU)({h:(0,c.VGA)(e.h),l:(0,c.VGA)(e.l),s:(0,c.VGA)(e.s)})}parseString(t){if(!t.startsWith("hsl"))return;let e=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(t);return e?(0,c.ayx)({a:e.length>4?(0,c.M3Y)(e[o.a]):1,h:parseInt(e[o.h],10),l:parseInt(e[o.l],10),s:parseInt(e[o.s],10)}):void 0}}async function z(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new k,e)}class S{constructor(t){this.container=t}init(t){let e=t.options.opacity;t.opacity=(0,c.XsS)(e,1);let i=e.animation;i.enable&&(t.opacity.velocity=(0,c.VGA)(i.speed)/c.a56*this.container.retina.reduceFactor,i.sync||(t.opacity.velocity*=(0,c.G0i)()))}isEnabled(t){return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((t.opacity.maxLoops??0)<=0||(t.opacity.maxLoops??0)>0&&(t.opacity.loops??0)<(t.opacity.maxLoops??0))}reset(t){t.opacity&&(t.opacity.time=0,t.opacity.loops=0)}update(t,e){this.isEnabled(t)&&t.opacity&&(0,c.UC0)(t,t.opacity,!0,t.options.opacity.animation.destroy,e)}}async function M(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("opacity",t=>Promise.resolve(new S(t)),e)}class C{constructor(t){this.container=t,this.modes=[c.Yzx.bounce,c.Yzx.split]}update(t,e,i,s){if(!this.modes.includes(s))return;let o=this.container,n=!1;for(let s of o.plugins.values())if(void 0!==s.particleBounce&&(n=s.particleBounce(t,i,e)),n)break;if(n)return;let a=t.getPosition(),r=t.offset,l=t.getRadius(),h=(0,c.AEc)(a,l),d=o.canvas.size;!function(t){if(t.outMode!==c.Yzx.bounce&&t.outMode!==c.Yzx.split||t.direction!==c.v5k.left&&t.direction!==c.v5k.right)return;t.bounds.right<0&&t.direction===c.v5k.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===c.v5k.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);let e=t.particle.velocity.x,i=!1;if(t.direction===c.v5k.right&&t.bounds.right>=t.canvasSize.width&&e>0||t.direction===c.v5k.left&&t.bounds.left<=0&&e<0){let e=(0,c.VGA)(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-e,i=!0}if(!i)return;let s=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===c.v5k.right?t.particle.position.x=t.canvasSize.width-s:t.bounds.left<=0&&t.direction===c.v5k.left&&(t.particle.position.x=s),t.outMode===c.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:e,bounds:h,canvasSize:d,offset:r,size:l}),function(t){if(t.outMode!==c.Yzx.bounce&&t.outMode!==c.Yzx.split||t.direction!==c.v5k.bottom&&t.direction!==c.v5k.top)return;t.bounds.bottom<0&&t.direction===c.v5k.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===c.v5k.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);let e=t.particle.velocity.y,i=!1;if(t.direction===c.v5k.bottom&&t.bounds.bottom>=t.canvasSize.height&&e>0||t.direction===c.v5k.top&&t.bounds.top<=0&&e<0){let e=(0,c.VGA)(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-e,i=!0}if(!i)return;let s=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===c.v5k.bottom?t.particle.position.y=t.canvasSize.height-s:t.bounds.top<=0&&t.direction===c.v5k.top&&(t.particle.position.y=s),t.outMode===c.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:e,bounds:h,canvasSize:d,offset:r,size:l})}}class E{constructor(t){this.container=t,this.modes=[c.Yzx.destroy]}update(t,e,i,s){if(!this.modes.includes(s))return;let o=this.container;switch(t.outType){case c.x_I.normal:case c.x_I.outside:if((0,c.Tj8)(t.position,o.canvas.size,c.Miz.origin,t.getRadius(),e))return;break;case c.x_I.inside:{let{dx:e,dy:i}=(0,c.vrU)(t.position,t.moveCenter),{x:s,y:o}=t.velocity;if(s<0&&e>t.moveCenter.radius||o<0&&i>t.moveCenter.radius||s>=0&&e<-t.moveCenter.radius||o>=0&&i<-t.moveCenter.radius)return}}o.particles.remove(t,t.group,!0)}}class T{constructor(t){this.container=t,this.modes=[c.Yzx.none]}update(t,e,i,s){if(!this.modes.includes(s)||((t.options.move.distance.horizontal&&(e===c.v5k.left||e===c.v5k.right))??(t.options.move.distance.vertical&&(e===c.v5k.top||e===c.v5k.bottom))))return;let o=t.options.move.gravity,n=this.container,a=n.canvas.size,r=t.getRadius();if(o.enable){let i=t.position;(!o.inverse&&i.y>a.height+r&&e===c.v5k.bottom||o.inverse&&i.y<-r&&e===c.v5k.top)&&n.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=a.height+r||t.velocity.y<0&&t.position.y>=-r||t.velocity.x>0&&t.position.x<=a.width+r||t.velocity.x<0&&t.position.x>=-r)return;(0,c.Tj8)(t.position,n.canvas.size,c.Miz.origin,r,e)||n.particles.remove(t)}}}class P{constructor(t){this.container=t,this.modes=[c.Yzx.out]}update(t,e,i,s){if(!this.modes.includes(s))return;let o=this.container;if(t.outType===c.x_I.inside){let{x:e,y:i}=t.velocity,s=c.Miz.origin;s.length=t.moveCenter.radius,s.angle=t.velocity.angle+Math.PI,s.addTo(c.Miz.create(t.moveCenter));let{dx:n,dy:a}=(0,c.vrU)(t.position,s);if(e<=0&&n>=0||i<=0&&a>=0||e>=0&&n<=0||i>=0&&a<=0)return;t.position.x=Math.floor((0,c.U43)({min:0,max:o.canvas.size.width})),t.position.y=Math.floor((0,c.U43)({min:0,max:o.canvas.size.height}));let{dx:r,dy:l}=(0,c.vrU)(t.position,t.moveCenter);t.direction=Math.atan2(-l,-r),t.velocity.angle=t.direction}else{if((0,c.Tj8)(t.position,o.canvas.size,c.Miz.origin,t.getRadius(),e))return;switch(t.outType){case c.x_I.outside:{t.position.x=Math.floor((0,c.U43)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor((0,c.U43)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;let{dx:e,dy:i}=(0,c.vrU)(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(i,e),t.velocity.angle=t.direction);break}case c.x_I.normal:{let i=t.options.move.warp,s=o.canvas.size,n={bottom:s.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:s.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},a=t.getRadius(),r=(0,c.AEc)(t.position,a);e===c.v5k.right&&r.left>s.width+t.offset.x?(t.position.x=n.left,t.initialPosition.x=t.position.x,i||(t.position.y=(0,c.G0i)()*s.height,t.initialPosition.y=t.position.y)):e===c.v5k.left&&r.right<-t.offset.x&&(t.position.x=n.right,t.initialPosition.x=t.position.x,i||(t.position.y=(0,c.G0i)()*s.height,t.initialPosition.y=t.position.y)),e===c.v5k.bottom&&r.top>s.height+t.offset.y?(i||(t.position.x=(0,c.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=n.top,t.initialPosition.y=t.position.y):e===c.v5k.top&&r.bottom<-t.offset.y&&(i||(t.position.x=(0,c.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=n.bottom,t.initialPosition.y=t.position.y)}}}}}class O{constructor(t){this._addUpdaterIfMissing=(t,e,i)=>{let s=t.options.move.outModes;!this.updaters.has(e)&&((t,e)=>t.default===e||t.bottom===e||t.left===e||t.right===e||t.top===e)(s,e)&&this.updaters.set(e,i(this.container))},this._updateOutMode=(t,e,i,s)=>{for(let o of this.updaters.values())o.update(t,s,e,i)},this.container=t,this.updaters=new Map}init(t){this._addUpdaterIfMissing(t,c.Yzx.bounce,t=>new C(t)),this._addUpdaterIfMissing(t,c.Yzx.out,t=>new P(t)),this._addUpdaterIfMissing(t,c.Yzx.destroy,t=>new E(t)),this._addUpdaterIfMissing(t,c.Yzx.none,t=>new T(t))}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,e){let i=t.options.move.outModes;this._updateOutMode(t,e,i.bottom??i.default,c.v5k.bottom),this._updateOutMode(t,e,i.left??i.default,c.v5k.left),this._updateOutMode(t,e,i.right??i.default,c.v5k.right),this._updateOutMode(t,e,i.top??i.default,c.v5k.top)}}async function R(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("outModes",t=>Promise.resolve(new O(t)),e)}!function(t){t[t.r=1]="r",t[t.g=2]="g",t[t.b=3]="b",t[t.a=5]="a"}(n||(n={}));class D{constructor(){this.key="rgb",this.stringPrefix="rgb"}handleColor(t){let e=t.value.rgb??t.value;if(void 0!==e.r)return e}handleRangeColor(t){let e=t.value.rgb??t.value;if(void 0!==e.r)return{r:(0,c.VGA)(e.r),g:(0,c.VGA)(e.g),b:(0,c.VGA)(e.b)}}parseString(t){if(!t.startsWith(this.stringPrefix))return;let e=/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.exec(t);return e?{a:e.length>4?(0,c.M3Y)(e[n.a]):1,b:parseInt(e[n.b],10),g:parseInt(e[n.g],10),r:parseInt(e[n.r],10)}:void 0}}async function I(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new D,e)}class L{init(t){let e=t.container,i=t.options.size.animation;i.enable&&(t.size.velocity=(t.retina.sizeAnimationSpeed??e.retina.sizeAnimationSpeed)/c.a56*e.retina.reduceFactor,i.sync||(t.size.velocity*=(0,c.G0i)()))}isEnabled(t){return!t.destroyed&&!t.spawning&&t.size.enable&&((t.size.maxLoops??0)<=0||(t.size.maxLoops??0)>0&&(t.size.loops??0)<(t.size.maxLoops??0))}reset(t){t.size.loops=0}update(t,e){this.isEnabled(t)&&(0,c.UC0)(t,t.size,!0,t.options.size.animation.destroy,e)}}async function A(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("size",()=>Promise.resolve(new L),e)}async function V(t,e=!0){t.checkVersion("3.9.1"),await _(t,!1),await z(t,!1),await I(t,!1),await u(t,!1),await m(t,!1),await y(t,!1),await M(t,!1),await R(t,!1),await A(t,!1),await t.refresh(e)}async function F(t,e=!0){t.checkVersion("3.9.1"),await t.addEasing(c.mgy.easeInQuad,t=>t**2,!1),await t.addEasing(c.mgy.easeOutQuad,t=>1-(1-t)**2,!1),await t.addEasing(c.mgy.easeInOutQuad,t=>t<.5?2*t**2:1-(-2*t+2)**2/2,!1),await t.refresh(e)}let B='"Twemoji Mozilla", Apple Color Emoji, "Segoe UI Emoji", "Noto Color Emoji", "EmojiOne Color"';class U{constructor(){this.validTypes=["emoji"],this._emojiShapeDict=new Map}destroy(){for(let[t,e]of this._emojiShapeDict)e instanceof ImageBitmap&&e?.close(),this._emojiShapeDict.delete(t)}draw(t){let e=t.particle.emojiDataKey;if(!e)return;let i=this._emojiShapeDict.get(e);i&&function(t,e){let{context:i,opacity:s}=t,o=i.globalAlpha;if(!e)return;let n=e.width,a=.5*n;i.globalAlpha=s,i.drawImage(e,-a,-a,n,n),i.globalAlpha=o}(t,i)}async init(t){let e=t.actualOptions,{validTypes:i}=this;if(!i.find(t=>(0,c.hnD)(t,e.particles.shape.type)))return;let s=[(0,c.AlN)(B)],o=i.map(t=>e.particles.shape.options[t]).find(t=>!!t);o&&(0,c.wJ2)(o,t=>{t.font&&s.push((0,c.AlN)(t.font))}),await Promise.all(s)}particleDestroy(t){t.emojiDataKey=void 0}particleInit(t,e){let i,s=e.shapeData;if(!s?.value)return;let o=(0,c.TA3)(s.value,e.randomIndexData);if(!o)return;let n="string"==typeof o?{font:s.font??B,padding:s.padding??0,value:o}:{font:B,padding:0,...s,...o},a=n.font,r=n.value,l=`${r}_${a}`;if(this._emojiShapeDict.has(l)){e.emojiDataKey=l;return}let h=2*n.padding,d=(0,c.W9e)(e.size.value),u=d+h,p=2*u;if("undefined"!=typeof OffscreenCanvas){let t=new OffscreenCanvas(p,p),e=t.getContext("2d");if(!e)return;e.font=`400 ${2*d}px ${a}`,e.textBaseline="middle",e.textAlign="center",e.fillText(r,u,u),i=t.transferToImageBitmap()}else{let t=document.createElement("canvas");t.width=p,t.height=p;let e=t.getContext("2d");if(!e)return;e.font=`400 ${2*d}px ${a}`,e.textBaseline="middle",e.textAlign="center",e.fillText(r,u,u),i=t}this._emojiShapeDict.set(l,i),e.emojiDataKey=l}}async function q(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new U,e)}function G(t,e,i,s,o,n){let a=e.actualOptions.interactivity.modes.attract;if(a)for(let r of e.particles.quadTree.query(o,n)){let{dx:e,dy:o,distance:n}=(0,c.vrU)(r.position,i),l=a.speed*a.factor,h=(0,c.qE8)(t.getEasing(a.easing)(1-n/s)*l,1,a.maxSpeed),d=c.Miz.create(n?e/n*h:l,n?o/n*h:l);r.position.subFrom(d)}}class H{constructor(){this.distance=200,this.duration=.4,this.easing=c.mgy.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(t){(0,c.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed),void 0!==t.speed&&(this.speed=t.speed))}}let W="attract";class j extends c.sJd{constructor(t,e){super(e),this._engine=t,e.attract||(e.attract={particles:[]}),this.handleClickMode=t=>{let i=this.container.actualOptions.interactivity.modes.attract;if(i&&t===W){for(let t of(e.attract||(e.attract={particles:[]}),e.attract.clicking=!0,e.attract.count=0,e.attract.particles))this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout(()=>{e.destroyed||(e.attract||(e.attract={particles:[]}),e.attract.clicking=!1)},i.duration*c.XuV)}}}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.attract;e&&(t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions,i=t.interactivity.status===c.RbF,s=e.interactivity.events,{enable:o,mode:n}=s.onHover,{enable:a,mode:r}=s.onClick;i&&o&&(0,c.hnD)(W,n)?function(t,e,i){let s=e.interactivity.mouse.position,o=e.retina.attractModeDistance;o&&!(o<0)&&s&&G(t,e,s,o,new c.jlt(s.x,s.y,o),t=>i(t))}(this._engine,this.container,t=>this.isEnabled(t)):a&&(0,c.hnD)(W,r)&&function(t,e,i){e.attract||(e.attract={particles:[]});let{attract:s}=e;if(s.finish||(s.count||(s.count=0),s.count++,s.count===e.particles.count&&(s.finish=!0)),s.clicking){let s=e.interactivity.mouse.clickPosition,o=e.retina.attractModeDistance;if(!o||o<0||!s)return;G(t,e,s,o,new c.jlt(s.x,s.y,o),t=>i(t))}else!1===s.clicking&&(s.particles=[])}(this._engine,this.container,t=>this.isEnabled(t))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,o=(t?.interactivity??i.interactivity).events;if((!s.position||!o.onHover.enable)&&(!s.clickPosition||!o.onClick.enable))return!1;let n=o.onHover.mode,a=o.onClick.mode;return(0,c.hnD)(W,n)||(0,c.hnD)(W,a)}loadModeOptions(t,...e){for(let i of(t.attract||(t.attract=new H),e))t.attract.load(i?.attract)}reset(){}}async function N(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalAttract",e=>Promise.resolve(new j(t,e)),e)}let Y=.5*Math.PI;function $(t,e,i,s,o){for(let n of t.particles.quadTree.query(s,o))s instanceof c.jlt?(0,c.pEn)((0,c.Tgl)(n),{position:e,radius:i,mass:i**2*Y,velocity:c.Miz.origin,factor:c.Miz.origin}):s instanceof c.M_G&&(0,c.jon)(n,(0,c.AEc)(e,i))}class J{constructor(){this.distance=200}load(t){(0,c.kZJ)(t)||void 0!==t.distance&&(this.distance=t.distance)}}let Z="bounce";class X extends c.sJd{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.bounce;e&&(t.retina.bounceModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions.interactivity.events,i=t.interactivity.status===c.RbF,s=e.onHover.enable,o=e.onHover.mode,n=e.onDiv;if(i&&s&&(0,c.hnD)(Z,o))!function(t,e){let i=t.retina.pixelRatio,s=t.interactivity.mouse.position,o=t.retina.bounceModeDistance;o&&!(o<0)&&s&&$(t,s,o,new c.jlt(s.x,s.y,o+10*i),e)}(this.container,t=>this.isEnabled(t));else{var a,r;a=this.container,r=t=>this.isEnabled(t),(0,c.U6C)(Z,n,(t,e)=>(function(t,e,i,s){let o=document.querySelectorAll(e);o.length&&o.forEach(e=>{let o=t.retina.pixelRatio,n={x:(e.offsetLeft+.5*e.offsetWidth)*o,y:(e.offsetTop+.5*e.offsetHeight)*o},a=.5*e.offsetWidth*o,r=10*o,l=i.type===c.Q5V.circle?new c.jlt(n.x,n.y,a+r):new c.M_G(e.offsetLeft*o-r,e.offsetTop*o-r,e.offsetWidth*o+2*r,e.offsetHeight*o+2*r);s(n,a,l)})})(a,t,e,(t,e,i)=>$(a,t,e,i,r)))}}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,o=(t?.interactivity??i.interactivity).events,n=o.onDiv;return!!s.position&&o.onHover.enable&&(0,c.hnD)(Z,o.onHover.mode)||(0,c.iKf)(Z,n)}loadModeOptions(t,...e){for(let i of(t.bounce||(t.bounce=new J),e))t.bounce.load(i?.bounce)}reset(){}}async function Q(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBounce",t=>Promise.resolve(new X(t)),e)}class K{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){if(!(0,c.kZJ)(t)){if(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.mix&&(this.mix=t.mix),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.color){let e=(0,c.cyL)(this.color)?void 0:this.color;this.color=(0,c.wJ2)(t.color,t=>c.Oit.create(e,t))}void 0!==t.size&&(this.size=t.size)}}}class tt extends K{constructor(){super(),this.selectors=[]}load(t){super.load(t),(0,c.kZJ)(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}class te extends K{load(t){super.load(t),(0,c.kZJ)(t)||(this.divs=(0,c.wJ2)(t.divs,t=>{let e=new tt;return e.load(t),e}))}}function ti(t,e,i,s){return e>=i?(0,c.qE8)(t+(e-i)*s,t,e):e<i?(0,c.qE8)(t-(i-e)*s,e,t):void 0}!function(t){t.color="color",t.opacity="opacity",t.size="size"}(a||(a={}));let ts="bubble";class to extends c.sJd{constructor(t,e){super(t),this._clickBubble=()=>{let t=this.container,e=t.actualOptions,i=t.interactivity.mouse.clickPosition,s=e.interactivity.modes.bubble;if(!s||!i)return;t.bubble||(t.bubble={});let o=t.retina.bubbleModeDistance;if(!o||o<0)return;let n=t.particles.quadTree.queryCircle(i,o,t=>this.isEnabled(t)),{bubble:r}=t;for(let e of n){if(!r.clicking)continue;e.bubble.inRange=!r.durationEnd;let n=e.getPosition(),l=(0,c.YfF)(n,i),h=(new Date().getTime()-(t.interactivity.mouse.clickTime??0))/c.XuV;h>s.duration&&(r.durationEnd=!0),h>2*s.duration&&(r.clicking=!1,r.durationEnd=!1);let d={bubbleObj:{optValue:t.retina.bubbleModeSize,value:e.bubble.radius},particlesObj:{optValue:(0,c.W9e)(e.options.size.value)*t.retina.pixelRatio,value:e.size.value},type:a.size};this._process(e,l,h,d);let u={bubbleObj:{optValue:s.opacity,value:e.bubble.opacity},particlesObj:{optValue:(0,c.W9e)(e.options.opacity.value),value:e.opacity?.value??1},type:a.opacity};this._process(e,l,h,u),!r.durationEnd&&l<=o?this._hoverBubbleColor(e,l):delete e.bubble.color}},this._hoverBubble=()=>{let t=this.container,e=t.interactivity.mouse.position,i=t.retina.bubbleModeDistance;if(i&&!(i<0)&&e)for(let s of t.particles.quadTree.queryCircle(e,i,t=>this.isEnabled(t))){s.bubble.inRange=!0;let o=s.getPosition(),n=(0,c.YfF)(o,e),a=1-n/i;n<=i?a>=0&&t.interactivity.status===c.RbF&&(this._hoverBubbleSize(s,a),this._hoverBubbleOpacity(s,a),this._hoverBubbleColor(s,a)):this.reset(s),t.interactivity.status===c.Z04&&this.reset(s)}},this._hoverBubbleColor=(t,e,i)=>{let s=this.container.actualOptions,o=i??s.interactivity.modes.bubble;if(o){if(!t.bubble.finalColor){let e=o.color;if(!e)return;let i=(0,c.TA3)(e);t.bubble.finalColor=(0,c.R5R)(this._engine,i)}if(t.bubble.finalColor)if(o.mix){t.bubble.color=void 0;let i=t.getFillColor();t.bubble.color=i?(0,c.K6u)((0,c.EYT)(i,t.bubble.finalColor,1-e,e)):t.bubble.finalColor}else t.bubble.color=t.bubble.finalColor}},this._hoverBubbleOpacity=(t,e,i)=>{let s=this.container.actualOptions,o=i?.opacity??s.interactivity.modes.bubble?.opacity;if(!o)return;let n=t.options.opacity.value,a=ti(t.opacity?.value??1,o,(0,c.W9e)(n),e);void 0!==a&&(t.bubble.opacity=a)},this._hoverBubbleSize=(t,e,i)=>{let s=this.container,o=i?.size?i.size*s.retina.pixelRatio:s.retina.bubbleModeSize;if(void 0===o)return;let n=(0,c.W9e)(t.options.size.value)*s.retina.pixelRatio,a=ti(t.size.value,o,n,e);void 0!==a&&(t.bubble.radius=a)},this._process=(t,e,i,s)=>{let o=this.container,n=s.bubbleObj.optValue,r=o.actualOptions.interactivity.modes.bubble;if(!r||void 0===n)return;let l=r.duration,c=o.retina.bubbleModeDistance,h=s.particlesObj.optValue,d=s.bubbleObj.value,u=s.particlesObj.value??0,p=s.type;if(c&&!(c<0)&&n!==h)if(o.bubble||(o.bubble={}),o.bubble.durationEnd)d&&(p===a.size&&delete t.bubble.radius,p===a.opacity&&delete t.bubble.opacity);else if(e<=c){if((d??u)!==n){let e=u-i*(u-n)/l;p===a.size&&(t.bubble.radius=e),p===a.opacity&&(t.bubble.opacity=e)}}else p===a.size&&delete t.bubble.radius,p===a.opacity&&delete t.bubble.opacity},this._singleSelectorHover=(t,e,i)=>{let s=this.container,o=document.querySelectorAll(e),n=s.actualOptions.interactivity.modes.bubble;n&&o.length&&o.forEach(e=>{let o=s.retina.pixelRatio,a={x:(e.offsetLeft+.5*e.offsetWidth)*o,y:(e.offsetTop+.5*e.offsetHeight)*o},r=.5*e.offsetWidth*o,l=i.type===c.Q5V.circle?new c.jlt(a.x,a.y,r):new c.M_G(e.offsetLeft*o,e.offsetTop*o,e.offsetWidth*o,e.offsetHeight*o);for(let i of s.particles.quadTree.query(l,t=>this.isEnabled(t))){if(!l.contains(i.getPosition()))continue;i.bubble.inRange=!0;let s=n.divs,o=(0,c.NVT)(s,e);i.bubble.div&&i.bubble.div===e||(this.clear(i,t,!0),i.bubble.div=e),this._hoverBubbleSize(i,1,o),this._hoverBubbleOpacity(i,1,o),this._hoverBubbleColor(i,1,o)}})},this._engine=e,t.bubble||(t.bubble={}),this.handleClickMode=e=>{e===ts&&(t.bubble||(t.bubble={}),t.bubble.clicking=!0)}}clear(t,e,i){(!t.bubble.inRange||i)&&(delete t.bubble.div,delete t.bubble.opacity,delete t.bubble.radius,delete t.bubble.color)}init(){let t=this.container,e=t.actualOptions.interactivity.modes.bubble;e&&(t.retina.bubbleModeDistance=e.distance*t.retina.pixelRatio,void 0!==e.size&&(t.retina.bubbleModeSize=e.size*t.retina.pixelRatio))}interact(t){let e=this.container.actualOptions.interactivity.events,i=e.onHover,s=e.onClick,o=i.enable,n=i.mode,a=s.enable,r=s.mode,l=e.onDiv;o&&(0,c.hnD)(ts,n)?this._hoverBubble():a&&(0,c.hnD)(ts,r)?this._clickBubble():(0,c.U6C)(ts,l,(e,i)=>this._singleSelectorHover(t,e,i))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,{onClick:o,onDiv:n,onHover:a}=(t?.interactivity??i.interactivity).events,r=(0,c.iKf)(ts,n);return!!(r||a.enable&&s.position||o.enable&&s.clickPosition)&&((0,c.hnD)(ts,a.mode)||(0,c.hnD)(ts,o.mode)||r)}loadModeOptions(t,...e){for(let i of(t.bubble||(t.bubble=new te),e))t.bubble.load(i?.bubble)}reset(t){t.bubble.inRange=!1}}async function tn(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBubble",e=>Promise.resolve(new to(e,t)),e)}class ta{constructor(){this.opacity=.5}load(t){(0,c.kZJ)(t)||void 0!==t.opacity&&(this.opacity=t.opacity)}}class tr{constructor(){this.distance=80,this.links=new ta,this.radius=60}load(t){(0,c.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),this.links.load(t.links),void 0!==t.radius&&(this.radius=t.radius))}}class tl extends c.sJd{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.connect;e&&(t.retina.connectModeDistance=e.distance*t.retina.pixelRatio,t.retina.connectModeRadius=e.radius*t.retina.pixelRatio)}interact(){let t=this.container;if(t.actualOptions.interactivity.events.onHover.enable&&"pointermove"===t.interactivity.status){let e=t.interactivity.mouse.position,{connectModeDistance:i,connectModeRadius:s}=t.retina;if(!i||i<0||!s||s<0||!e)return;let o=Math.abs(s),n=t.particles.quadTree.queryCircle(e,o,t=>this.isEnabled(t));n.forEach((e,s)=>{let o=e.getPosition();for(let a of n.slice(s+1)){let s=a.getPosition(),n=Math.abs(i),r=Math.abs(o.x-s.x),l=Math.abs(o.y-s.y);r<n&&l<n&&function(t,e,i){t.canvas.draw(s=>{var o;let n=function(t,e,i,s){let o=t.actualOptions.interactivity.modes.connect;if(o)return function(t,e,i,s){let o=Math.floor(i.getRadius()/e.getRadius()),n=e.getFillColor(),a=i.getFillColor();if(!n||!a)return;let r=e.getPosition(),l=i.getPosition(),h=(0,c.EYT)(n,a,e.getRadius(),i.getRadius()),d=t.createLinearGradient(r.x,r.y,l.x,l.y);return d.addColorStop(0,(0,c.LCf)(n,s)),d.addColorStop((0,c.qE8)(o,0,1),(0,c.xxz)(h,s)),d.addColorStop(1,(0,c.LCf)(a,s)),d}(e,i,s,o.links.opacity)}(t,s,e,i);if(!n)return;let a=e.getPosition(),r=i.getPosition();o=e.retina.linksWidth??0,(0,c.V6E)(s,a,r),s.lineWidth=o,s.strokeStyle=n,s.stroke()})}(t,e,a)}})}}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return!!(s.onHover.enable&&i.position)&&(0,c.hnD)("connect",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.connect||(t.connect=new tr),e))t.connect.load(i?.connect)}reset(){}}async function tc(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalConnect",t=>Promise.resolve(new tl(t)),e)}class th{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(t){(0,c.kZJ)(t)||(void 0!==t.blink&&(this.blink=t.blink),void 0!==t.color&&(this.color=c.Oit.create(this.color,t.color)),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.opacity&&(this.opacity=t.opacity))}}class td{constructor(){this.distance=100,this.links=new th}load(t){(0,c.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),this.links.load(t.links))}}class tu extends c.sJd{constructor(t,e){super(t),this._engine=e}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.grab;e&&(t.retina.grabModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions.interactivity;if(!e.modes.grab||!e.events.onHover.enable||t.interactivity.status!==c.RbF)return;let i=t.interactivity.mouse.position;if(!i)return;let s=t.retina.grabModeDistance;if(s&&!(s<0))for(let o of t.particles.quadTree.queryCircle(i,s,t=>this.isEnabled(t))){let n=o.getPosition(),a=(0,c.YfF)(n,i);if(a>s)continue;let r=e.modes.grab.links,l=r.opacity,h=l-a*l/s;if(h<=0)continue;let d=r.color??o.options.links?.color;if(!t.particles.grabLineColor&&d){let i=e.modes.grab.links;t.particles.grabLineColor=(0,c.PGG)(this._engine,d,i.blink,i.consent)}let u=(0,c._hh)(o,void 0,t.particles.grabLineColor);u&&function(t,e,i,s,o){t.canvas.draw(t=>{var n;let a=e.getPosition();n=e.retina.linksWidth??0,(0,c.V6E)(t,a,o),t.strokeStyle=(0,c.xxz)(i,s),t.lineWidth=n,t.stroke()})}(t,o,u,h,i)}}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&(0,c.hnD)("grab",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.grab||(t.grab=new td),e))t.grab.load(i?.grab)}reset(){}}async function tp(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalGrab",e=>Promise.resolve(new tu(e,t)),e)}class tf extends c.sJd{constructor(t){super(t),this.handleClickMode=t=>{if("pause"!==t)return;let e=this.container;e.animationStatus?e.pause():e.play()}}clear(){}init(){}interact(){}isEnabled(){return!0}reset(){}}async function tv(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPause",t=>Promise.resolve(new tf(t)),e)}class tm{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(t){if((0,c.kZJ)(t))return;void 0!==t.default&&(this.default=t.default),void 0!==t.groups&&(this.groups=t.groups.map(t=>t)),this.groups.length||(this.default=!0);let e=t.quantity;void 0!==e&&(this.quantity=(0,c.DT4)(e)),this.particles=(0,c.wJ2)(t.particles,t=>(0,c.zwS)({},t))}}class tg extends c.sJd{constructor(t){super(t),this.handleClickMode=t=>{if("push"!==t)return;let e=this.container,i=e.actualOptions.interactivity.modes.push;if(!i)return;let s=(0,c.VGA)(i.quantity);if(s<=0)return;let o=(0,c.Vh1)([void 0,...i.groups]),n=void 0!==o?e.actualOptions.particles.groups[o]:void 0,a=(0,c.TA3)(i.particles),r=(0,c.zwS)(n,a);e.particles.push(s,e.interactivity.mouse,r,o)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(t,...e){for(let i of(t.push||(t.push=new tm),e))t.push.load(i?.push)}reset(){}}async function ty(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPush",t=>Promise.resolve(new tg(t)),e)}class tb{constructor(){this.quantity=2}load(t){if((0,c.kZJ)(t))return;let e=t.quantity;void 0!==e&&(this.quantity=(0,c.DT4)(e))}}class tw extends c.sJd{constructor(t){super(t),this.handleClickMode=t=>{let e=this.container,i=e.actualOptions;if(!i.interactivity.modes.remove||"remove"!==t)return;let s=(0,c.VGA)(i.interactivity.modes.remove.quantity);e.particles.removeQuantity(s)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(t,...e){for(let i of(t.remove||(t.remove=new tb),e))t.remove.load(i?.remove)}reset(){}}async function tx(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRemove",t=>Promise.resolve(new tw(t)),e)}class t_{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=c.mgy.easeOutQuad}load(t){(0,c.kZJ)(t)||(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed))}}class tk extends t_{constructor(){super(),this.selectors=[]}load(t){super.load(t),(0,c.kZJ)(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}class tz extends t_{load(t){super.load(t),(0,c.kZJ)(t)||(this.divs=(0,c.wJ2)(t.divs,t=>{let e=new tk;return e.load(t),e}))}}let tS="repulse";class tM extends c.sJd{constructor(t,e){super(e),this._clickRepulse=()=>{let t=this.container,e=t.actualOptions.interactivity.modes.repulse;if(!e)return;let i=t.repulse??{particles:[]};if(i.finish||(i.count||(i.count=0),i.count++,i.count===t.particles.count&&(i.finish=!0)),i.clicking){let s=t.retina.repulseModeDistance;if(!s||s<0)return;let o=Math.pow(s/6,3),n=t.interactivity.mouse.clickPosition;if(void 0===n)return;let a=new c.jlt(n.x,n.y,o);for(let s of t.particles.quadTree.query(a,t=>this.isEnabled(t))){let{dx:t,dy:a,distance:r}=(0,c.vrU)(n,s.position),l=r**2,h=-o*e.speed/l;if(l<=o){i.particles.push(s);let e=c.Miz.create(t,a);e.length=h,s.velocity.setTo(e)}}}else if(!1===i.clicking){for(let t of i.particles)t.velocity.setTo(t.initialVelocity);i.particles=[]}},this._hoverRepulse=()=>{let t=this.container,e=t.interactivity.mouse.position,i=t.retina.repulseModeDistance;i&&!(i<0)&&e&&this._processRepulse(e,i,new c.jlt(e.x,e.y,i))},this._processRepulse=(t,e,i,s)=>{let o=this.container,n=o.particles.quadTree.query(i,t=>this.isEnabled(t)),a=o.actualOptions.interactivity.modes.repulse;if(!a)return;let{easing:r,speed:l,factor:h,maxSpeed:d}=a,u=this._engine.getEasing(r),p=(s?.speed??l)*h;for(let i of n){let{dx:s,dy:o,distance:n}=(0,c.vrU)(i.position,t),a=(0,c.qE8)(u(1-n/e)*p,0,d),r=c.Miz.create(n?s/n*a:p,n?o/n*a:p);i.position.addTo(r)}},this._singleSelectorRepulse=(t,e)=>{let i=this.container,s=i.actualOptions.interactivity.modes.repulse;if(!s)return;let o=document.querySelectorAll(t);o.length&&o.forEach(t=>{let o=i.retina.pixelRatio,n={x:(t.offsetLeft+.5*t.offsetWidth)*o,y:(t.offsetTop+.5*t.offsetHeight)*o},a=.5*t.offsetWidth*o,r=e.type===c.Q5V.circle?new c.jlt(n.x,n.y,a):new c.M_G(t.offsetLeft*o,t.offsetTop*o,t.offsetWidth*o,t.offsetHeight*o),l=s.divs,h=(0,c.NVT)(l,t);this._processRepulse(n,a,r,h)})},this._engine=t,e.repulse||(e.repulse={particles:[]}),this.handleClickMode=t=>{let i=this.container.actualOptions.interactivity.modes.repulse;if(!i||t!==tS)return;e.repulse||(e.repulse={particles:[]});let s=e.repulse;for(let t of(s.clicking=!0,s.count=0,e.repulse.particles))this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);s.particles=[],s.finish=!1,setTimeout(()=>{e.destroyed||(s.clicking=!1)},i.duration*c.XuV)}}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.repulse;e&&(t.retina.repulseModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions,i=t.interactivity.status===c.RbF,s=e.interactivity.events,o=s.onHover,n=o.enable,a=o.mode,r=s.onClick,l=r.enable,h=r.mode,d=s.onDiv;i&&n&&(0,c.hnD)(tS,a)?this._hoverRepulse():l&&(0,c.hnD)(tS,h)?this._clickRepulse():(0,c.U6C)(tS,d,(t,e)=>this._singleSelectorRepulse(t,e))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,o=(t?.interactivity??i.interactivity).events,n=o.onDiv,a=o.onHover,r=o.onClick,l=(0,c.iKf)(tS,n);if(!(l||a.enable&&s.position||r.enable&&s.clickPosition))return!1;let h=a.mode,d=r.mode;return(0,c.hnD)(tS,h)||(0,c.hnD)(tS,d)||l}loadModeOptions(t,...e){for(let i of(t.repulse||(t.repulse=new tz),e))t.repulse.load(i?.repulse)}reset(){}}async function tC(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRepulse",e=>Promise.resolve(new tM(t,e)),e)}class tE{constructor(){this.factor=3,this.radius=200}load(t){(0,c.kZJ)(t)||(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}class tT extends c.sJd{constructor(t){super(t)}clear(t,e,i){(!t.slow.inRange||i)&&(t.slow.factor=1)}init(){let t=this.container,e=t.actualOptions.interactivity.modes.slow;e&&(t.retina.slowModeRadius=e.radius*t.retina.pixelRatio)}interact(){}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&(0,c.hnD)("slow",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.slow||(t.slow=new tE),e))t.slow.load(i?.slow)}reset(t){t.slow.inRange=!1;let e=this.container,i=e.actualOptions,s=e.interactivity.mouse.position,o=e.retina.slowModeRadius,n=i.interactivity.modes.slow;if(!n||!o||o<0||!s)return;let a=t.getPosition(),r=(0,c.YfF)(s,a),l=n.factor,{slow:h}=t;r>o||(h.inRange=!0,h.factor=r/o/l)}}async function tP(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalSlow",t=>Promise.resolve(new tT(t)),e)}let tO=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function tR(t){return new Promise(e=>{t.loading=!0;let i=new Image;t.element=i,i.addEventListener("load",()=>{t.loading=!1,e()}),i.addEventListener("error",()=>{t.element=void 0,t.error=!0,t.loading=!1,(0,c.tZQ)().error(`${c.dIx} loading image: ${t.source}`),e()}),i.src=t.source})}async function tD(t){if("svg"!==t.type)return void await tR(t);t.loading=!0;let e=await fetch(t.source);e.ok?t.svgData=await e.text():((0,c.tZQ)().error(`${c.dIx} Image not found`),t.error=!0),t.loading=!1}let tI=[0,4,2,1],tL=[8,8,4,2];class tA{constructor(t){this.pos=0,this.data=new Uint8ClampedArray(t)}getString(t){let e=this.data.slice(this.pos,this.pos+t);return this.pos+=e.length,e.reduce((t,e)=>t+String.fromCharCode(e),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let t="",e=0;do{e=this.data[this.pos++];for(let i=e;--i>=0;t+=String.fromCharCode(this.data[this.pos++]));}while(0!==e);return t}readSubBlocksBin(){let t=this.data[this.pos],e=0;for(let i=0;0!==t;i+=t+1,t=this.data[this.pos+i])e+=t;let i=new Uint8Array(e);t=this.data[this.pos++];for(let e=0;0!==t;t=this.data[this.pos++])for(let s=t;--s>=0;i[e++]=this.data[this.pos++]);return i}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}!function(t){t[t.Replace=0]="Replace",t[t.Combine=1]="Combine",t[t.RestoreBackground=2]="RestoreBackground",t[t.RestorePrevious=3]="RestorePrevious",t[t.UndefinedA=4]="UndefinedA",t[t.UndefinedB=5]="UndefinedB",t[t.UndefinedC=6]="UndefinedC",t[t.UndefinedD=7]="UndefinedD"}(r||(r={})),function(t){t[t.Extension=33]="Extension",t[t.ApplicationExtension=255]="ApplicationExtension",t[t.GraphicsControlExtension=249]="GraphicsControlExtension",t[t.PlainTextExtension=1]="PlainTextExtension",t[t.CommentExtension=254]="CommentExtension",t[t.Image=44]="Image",t[t.EndOfFile=59]="EndOfFile"}(l||(l={}));let tV={x:0,y:0};function tF(t,e){let i=[];for(let s=0;s<e;s++)i.push({r:t.data[t.pos],g:t.data[t.pos+1],b:t.data[t.pos+2]}),t.pos+=3;return i}async function tB(t,e,i,s,o,n){let a=e.frames[s(!0)];a.left=t.nextTwoBytes(),a.top=t.nextTwoBytes(),a.width=t.nextTwoBytes(),a.height=t.nextTwoBytes();let r=t.nextByte(),l=(128&r)==128;a.sortFlag=(32&r)==32,a.reserved=(24&r)>>>3,l&&(a.localColorTable=tF(t,1<<(7&r)+1));let c=t=>{let{r:s,g:n,b:r}=(l?a.localColorTable:e.globalColorTable)[t];return t!==o(null)?{r:s,g:n,b:r,a:255}:{r:s,g:n,b:r,a:i?~~((s+n+r)/3):0}},h=(()=>{try{return new ImageData(a.width,a.height,{colorSpace:"srgb"})}catch(t){if(t instanceof DOMException&&"IndexSizeError"===t.name)return null;throw t}})();if(null==h)throw EvalError("GIF frame size is to large");let d=t.nextByte(),u=t.readSubBlocksBin(),p=1<<d,f=(t,e)=>{let i=t>>>3,s=7&t;return(u[i]+(u[i+1]<<8)+(u[i+2]<<16)&(1<<e)-1<<s)>>>s};if((64&r)==64){for(let i=0,o=d+1,r=0,l=[[0]],u=0;u<4;u++){if(tI[u]<a.height){let t=0,e=0,s=!1;for(;!s;){let n=i;if(i=f(r,o),r+=o+1,i===p){o=d+1,l.length=p+2;for(let t=0;t<l.length;t++)l[t]=t<p?[t]:[]}else{for(let s of(i>=l.length?l.push(l[n].concat(l[n][0])):n!==p&&l.push(l[n].concat(l[i][0])),l[i])){let{r:i,g:o,b:n,a:r}=c(s);h.data.set([i,o,n,r],tI[u]*a.width+tL[u]*e+t%(4*a.width)),t+=4}l.length===1<<o&&o<12&&o++}t===4*a.width*(e+1)&&(e++,tI[u]+tL[u]*e>=a.height&&(s=!0))}}n?.(t.pos/(t.data.length-1),s(!1)+1,h,{x:a.left,y:a.top},{width:e.width,height:e.height})}a.image=h,a.bitmap=await createImageBitmap(h)}else{let i=0,o=d+1,r=0,l=-4,u=!1,v=[[0]];for(;!u;){let t=i;if(i=f(r,o),r+=o,i===p){o=d+1,v.length=p+2;for(let t=0;t<v.length;t++)v[t]=t<p?[t]:[]}else{if(i===p+1){u=!0;break}for(let e of(i>=v.length?v.push(v[t].concat(v[t][0])):t!==p&&v.push(v[t].concat(v[i][0])),v[i])){let{r:t,g:i,b:s,a:o}=c(e);h.data.set([t,i,s,o],l+=4)}v.length>=1<<o&&o<12&&o++}}a.image=h,a.bitmap=await createImageBitmap(h),n?.((t.pos+1)/t.data.length,s(!1)+1,a.image,{x:a.left,y:a.top},{width:e.width,height:e.height})}}async function tU(t,e,i,s,o,n){switch(t.nextByte()){case l.EndOfFile:return!0;case l.Image:await tB(t,e,i,s,o,n);break;case l.Extension:switch(t.nextByte()){case l.GraphicsControlExtension:{let i=e.frames[s(!1)];t.pos++;let n=t.nextByte();i.GCreserved=(224&n)>>>5,i.disposalMethod=(28&n)>>>2,i.userInputDelayFlag=(2&n)==2,i.delayTime=10*t.nextTwoBytes();let a=t.nextByte();(1&n)==1&&o(a),t.pos++;break}case l.ApplicationExtension:{t.pos++;let i={identifier:t.getString(8),authenticationCode:t.getString(3),data:t.readSubBlocksBin()};e.applicationExtensions.push(i);break}case l.CommentExtension:e.comments.push([s(!1),t.readSubBlocks()]);break;case l.PlainTextExtension:if(0===e.globalColorTable.length)throw EvalError("plain text extension without global color table");t.pos++,e.frames[s(!1)].plainTextData={left:t.nextTwoBytes(),top:t.nextTwoBytes(),width:t.nextTwoBytes(),height:t.nextTwoBytes(),charSize:{width:t.nextTwoBytes(),height:t.nextTwoBytes()},foregroundColor:t.nextByte(),backgroundColor:t.nextByte(),text:t.readSubBlocks()};break;default:t.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function tq(t,e,i){i||(i=!1);let s=await fetch(t);if(!s.ok&&404===s.status)throw EvalError("file not found");let o=await s.arrayBuffer(),n={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,{colorSpace:"srgb"}),comments:[],applicationExtensions:[]},a=new tA(new Uint8ClampedArray(o));if("GIF89a"!==a.getString(6))throw Error("not a supported GIF file");n.width=a.nextTwoBytes(),n.height=a.nextTwoBytes();let l=a.nextByte(),c=(128&l)==128;n.colorRes=(112&l)>>>4,n.sortFlag=(8&l)==8;let h=a.nextByte();n.pixelAspectRatio=a.nextByte(),0!==n.pixelAspectRatio&&(n.pixelAspectRatio=(n.pixelAspectRatio+15)/64),c&&(n.globalColorTable=tF(a,1<<(7&l)+1));let d=(()=>{try{return new ImageData(n.width,n.height,{colorSpace:"srgb"})}catch(t){if(t instanceof DOMException&&"IndexSizeError"===t.name)return null;throw t}})();if(null==d)throw Error("GIF frame size is to large");let{r:u,g:p,b:f}=n.globalColorTable[h];d.data.set(c?[u,p,f,255]:[0,0,0,0]);for(let t=4;t<d.data.length;t*=2)d.data.copyWithin(t,0,t);n.backgroundImage=d;let v=-1,m=!0,g=-1,y=t=>(t&&(m=!0),v),b=t=>(null!=t&&(g=t),g);try{do m&&(n.frames.push({left:0,top:0,width:0,height:0,disposalMethod:r.Replace,image:new ImageData(1,1,{colorSpace:"srgb"}),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),v++,g=-1,m=!1);while(!await tU(a,n,i,y,b,e));for(let t of(n.frames.length--,n.frames)){if(t.userInputDelayFlag&&0===t.delayTime){n.totalTime=1/0;break}n.totalTime+=t.delayTime}return n}catch(t){if(t instanceof EvalError)throw Error(`error while parsing frame ${v} "${t.message}"`);throw t}}async function tG(t){if("gif"!==t.type)return void await tR(t);t.loading=!0;try{t.gifData=await tq(t.source),t.gifLoopCount=function(t){for(let e of t.applicationExtensions)if(e.identifier+e.authenticationCode==="NETSCAPE2.0")return e.data[1]+(e.data[2]<<8);return NaN}(t.gifData)??0,t.gifLoopCount||(t.gifLoopCount=1/0)}catch{t.error=!0}t.loading=!1}class tH{constructor(t){this.validTypes=["image","images"],this.loadImageShape=async t=>{if(!this._engine.loadImage)throw Error(`${c.dIx} image shape not initialized`);await this._engine.loadImage({gif:t.gif,name:t.name,replaceColor:t.replaceColor??!1,src:t.src})},this._engine=t}addImage(t){this._engine.images||(this._engine.images=[]),this._engine.images.push(t)}draw(t){let{context:e,radius:i,particle:s,opacity:o}=t,n=s.image,a=n?.element;if(n){if(e.globalAlpha=o,n.gif&&n.gifData)!function(t){let{context:e,radius:i,particle:s,delta:o}=t,n=s.image;if(!n?.gifData||!n.gif)return;let a=new OffscreenCanvas(n.gifData.width,n.gifData.height),l=a.getContext("2d");if(!l)throw Error("could not create offscreen canvas context");l.imageSmoothingQuality="low",l.imageSmoothingEnabled=!1,l.clearRect(tV.x,tV.y,a.width,a.height),void 0===s.gifLoopCount&&(s.gifLoopCount=n.gifLoopCount??0);let c=s.gifFrame??0,h={x:-(.5*n.gifData.width),y:-(.5*n.gifData.height)},d=n.gifData.frames[c];if(void 0===s.gifTime&&(s.gifTime=0),d.bitmap){switch(e.scale(i/n.gifData.width,i/n.gifData.height),d.disposalMethod){case r.UndefinedA:case r.UndefinedB:case r.UndefinedC:case r.UndefinedD:case r.Replace:l.drawImage(d.bitmap,d.left,d.top),e.drawImage(a,h.x,h.y),l.clearRect(tV.x,tV.y,a.width,a.height);break;case r.Combine:l.drawImage(d.bitmap,d.left,d.top),e.drawImage(a,h.x,h.y);break;case r.RestoreBackground:l.drawImage(d.bitmap,d.left,d.top),e.drawImage(a,h.x,h.y),l.clearRect(tV.x,tV.y,a.width,a.height),n.gifData.globalColorTable.length?l.putImageData(n.gifData.backgroundImage,h.x,h.y):l.putImageData(n.gifData.frames[0].image,h.x+d.left,h.y+d.top);break;case r.RestorePrevious:{let t=l.getImageData(tV.x,tV.y,a.width,a.height);l.drawImage(d.bitmap,d.left,d.top),e.drawImage(a,h.x,h.y),l.clearRect(tV.x,tV.y,a.width,a.height),l.putImageData(t,tV.x,tV.y)}}if(s.gifTime+=o.value,s.gifTime>d.delayTime){if(s.gifTime-=d.delayTime,++c>=n.gifData.frames.length){if(--s.gifLoopCount<=0)return;c=0,l.clearRect(tV.x,tV.y,a.width,a.height)}s.gifFrame=c}e.scale(n.gifData.width/i,n.gifData.height/i)}}(t);else if(a){let t=n.ratio,s={x:-i,y:-i},o=2*i;e.drawImage(a,s.x,s.y,o,o/t)}e.globalAlpha=1}}getSidesCount(){return 12}async init(t){let e=t.actualOptions;if(e.preload&&this._engine.loadImage)for(let t of e.preload)await this._engine.loadImage(t)}loadShape(t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images||(this._engine.images=[]);let e=t.shapeData;e&&(this._engine.images.find(t=>t.name===e.name||t.source===e.src)||this.loadImageShape(e).then(()=>{this.loadShape(t)}))}particleInit(t,e){if("image"!==e.shape&&"images"!==e.shape)return;this._engine.images||(this._engine.images=[]);let i=this._engine.images,s=e.shapeData;if(!s)return;let o=e.getFillColor(),n=i.find(t=>t.name===s.name||t.source===s.src);if(!n)return;let a=s.replaceColor??n.replaceColor;if(n.loading)return void setTimeout(()=>{this.particleInit(t,e)});(async()=>{let t;(t=n.svgData&&o?await function(t,e,i,s){let o=function(t,e,i){let{svgData:s}=t;if(!s)return"";let o=(0,c.LCf)(e,i);if(s.includes("fill"))return s.replace(tO,()=>o);let n=s.indexOf(">");return`${s.substring(0,n)} fill="${o}"${s.substring(n)}`}(t,i,s.opacity?.value??1),n={color:i,gif:e.gif,data:{...t,svgData:o},loaded:!1,ratio:e.width/e.height,replaceColor:e.replaceColor,source:e.src};return new Promise(e=>{let i=new Blob([o],{type:"image/svg+xml"}),s=URL||window.URL||window.webkitURL||window,a=s.createObjectURL(i),r=new Image;r.addEventListener("load",()=>{n.loaded=!0,n.element=r,e(n),s.revokeObjectURL(a)});let l=async()=>{s.revokeObjectURL(a);let i={...t,error:!1,loading:!0};await tR(i),n.loaded=!0,n.element=i.element,e(n)};r.addEventListener("error",()=>void l()),r.src=a})}(n,s,o,e):{color:o,data:n,element:n.element,gif:n.gif,gifData:n.gifData,gifLoopCount:n.gifLoopCount,loaded:!0,ratio:s.width&&s.height?s.width/s.height:n.ratio??1,replaceColor:a,source:s.src}).ratio||(t.ratio=1);let i=s.fill??e.shapeFill,r=s.close??e.shapeClose;e.image=t,e.shapeFill=i,e.shapeClose=r})()}}class tW{constructor(){this.src="",this.gif=!1}load(t){(0,c.kZJ)(t)||(void 0!==t.gif&&(this.gif=t.gif),void 0!==t.height&&(this.height=t.height),void 0!==t.name&&(this.name=t.name),void 0!==t.replaceColor&&(this.replaceColor=t.replaceColor),void 0!==t.src&&(this.src=t.src),void 0!==t.width&&(this.width=t.width))}}class tj{constructor(t){this.id="imagePreloader",this._engine=t}async getPlugin(){return await Promise.resolve(),{}}loadOptions(t,e){if(!e?.preload)return;t.preload||(t.preload=[]);let i=t.preload;for(let t of e.preload){let e=i.find(e=>e.name===t.name||e.src===t.src);if(e)e.load(t);else{let e=new tW;e.load(t),i.push(e)}}}needsPlugin(){return!0}}async function tN(t,e=!0){t.checkVersion("3.9.1"),t.loadImage||(t.loadImage=async e=>{if(!e.name&&!e.src)throw Error(`${c.dIx} no image source provided`);if(t.images||(t.images=[]),!t.images.find(t=>t.name===e.name||t.source===e.src))try{let i,s={gif:e.gif??!1,name:e.name??e.src,source:e.src,type:e.src.substring(e.src.length-3),error:!1,loading:!0,replaceColor:e.replaceColor,ratio:e.width&&e.height?e.width/e.height:void 0};t.images.push(s),i=e.gif?tG:e.replaceColor?tD:tR,await i(s)}catch{throw Error(`${c.dIx} ${e.name??e.src} not found`)}});let i=new tj(t);await t.addPlugin(i,e),await t.addShape(new tH(t),e)}class tY extends c.PVU{constructor(){super(),this.sync=!1}load(t){(0,c.kZJ)(t)||(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class t$ extends c.PVU{constructor(){super(),this.sync=!1}load(t){(0,c.kZJ)(t)||(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class tJ{constructor(){this.count=0,this.delay=new tY,this.duration=new t$}load(t){(0,c.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),this.delay.load(t.delay),this.duration.load(t.duration))}}class tZ{constructor(t){this.container=t}init(t){let e=this.container,i=t.options.life;i&&(t.life={delay:e.retina.reduceFactor?(0,c.VGA)(i.delay.value)*(i.delay.sync?1:(0,c.G0i)())/e.retina.reduceFactor*c.XuV:0,delayTime:0,duration:e.retina.reduceFactor?(0,c.VGA)(i.duration.value)*(i.duration.sync?1:(0,c.G0i)())/e.retina.reduceFactor*c.XuV:0,time:0,count:i.count},t.life.duration<=0&&(t.life.duration=-1),t.life.count<=0&&(t.life.count=-1),t.life&&(t.spawning=t.life.delay>0))}isEnabled(t){return!t.destroyed}loadOptions(t,...e){for(let i of(t.life||(t.life=new tJ),e))t.life.load(i?.life)}update(t,e){this.isEnabled(t)&&t.life&&function(t,e,i){if(!t.life)return;let s=t.life,o=!1;if(t.spawning){if(s.delayTime+=e.value,!(s.delayTime>=t.life.delay))return;o=!0,t.spawning=!1,s.delayTime=0,s.time=0}if(-1===s.duration||t.spawning||(o?s.time=0:s.time+=e.value,s.time<s.duration))return;if(s.time=0,t.life.count>0&&t.life.count--,0===t.life.count)return t.destroy();let n=(0,c.DT4)(0,i.width),a=(0,c.DT4)(0,i.width);t.position.x=(0,c.U43)(n),t.position.y=(0,c.U43)(a),t.spawning=!0,s.delayTime=0,s.time=0,t.reset();let r=t.options.life;r&&(s.delay=(0,c.VGA)(r.delay.value)*c.XuV,s.duration=(0,c.VGA)(r.duration.value)*c.XuV)}(t,e,this.container.canvas.size)}}async function tX(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("life",async t=>Promise.resolve(new tZ(t)),e)}class tQ{constructor(){this.validTypes=["line"]}draw(t){let{context:e,particle:i,radius:s}=t,o=i.shapeData;e.moveTo(-s,0),e.lineTo(s,0),e.lineCap=o?.cap??"butt"}getSidesCount(){return 1}}async function tK(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new tQ,e)}class t0{init(){}isEnabled(t){return!(0,c.B90)()&&!t.destroyed&&t.container.actualOptions.interactivity.events.onHover.parallax.enable}move(t){let e=t.container,i=e.actualOptions.interactivity.events.onHover.parallax;if((0,c.B90)()||!i.enable)return;let s=i.force,o=e.interactivity.mouse.position;if(!o)return;let n=e.canvas.size,a={x:.5*n.width,y:.5*n.height},r=i.smooth,l=t.getRadius()/s,h={x:(o.x-a.x)*l,y:(o.y-a.y)*l},{offset:d}=t;d.x+=(h.x-d.x)/r,d.y+=(h.y-d.y)/r}}async function t1(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("parallax",()=>Promise.resolve(new t0),e)}class t2 extends c.U4p{constructor(t){super(t)}clear(){}init(){}interact(t){let e=this.container;void 0===t.attractDistance&&(t.attractDistance=(0,c.VGA)(t.options.move.attract.distance)*e.retina.pixelRatio);let i=t.attractDistance,s=t.getPosition();for(let o of e.particles.quadTree.queryCircle(s,i)){if(t===o||!o.options.move.attract.enable||o.destroyed||o.spawning)continue;let e=o.getPosition(),{dx:i,dy:n}=(0,c.vrU)(s,e),a=t.options.move.attract.rotate,r=i/(1e3*a.x),l=n/(1e3*a.y),h=o.size.value/t.size.value,d=1/h;t.velocity.x-=r*h,t.velocity.y-=l*h,o.velocity.x+=r*d,o.velocity.y+=l*d}}isEnabled(t){return t.options.move.attract.enable}reset(){}}async function t5(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesAttract",t=>Promise.resolve(new t2(t)),e)}function t3(t,e,i,s,o,n){let a=(0,c.qE8)(t.options.collisions.absorb.speed*o.factor/10,0,s);t.size.value+=.5*a,i.size.value-=a,s<=n&&(i.size.value=0,i.destroy())}let t4=t=>{void 0===t.collisionMaxSpeed&&(t.collisionMaxSpeed=(0,c.VGA)(t.options.collisions.maxSpeed)),t.velocity.length>t.collisionMaxSpeed&&(t.velocity.length=t.collisionMaxSpeed)};function t6(t,e){(0,c.pEn)((0,c.Tgl)(t),(0,c.Tgl)(e)),t4(t),t4(e)}class t9 extends c.U4p{constructor(t){super(t)}clear(){}init(){}interact(t,e){if(t.destroyed||t.spawning)return;let i=this.container,s=t.getPosition(),o=t.getRadius();for(let n of i.particles.quadTree.queryCircle(s,2*o)){if(t===n||!n.options.collisions.enable||t.options.collisions.mode!==n.options.collisions.mode||n.destroyed||n.spawning)continue;let a=n.getPosition(),r=n.getRadius();if(!(Math.abs(Math.round(s.z)-Math.round(a.z))>o+r))(0,c.YfF)(s,a)>o+r||function(t,e,i,s){switch(t.options.collisions.mode){case c._or.absorb:let o=t.getRadius(),n=e.getRadius();void 0===o&&void 0!==n?t.destroy():void 0!==o&&void 0===n?e.destroy():void 0!==o&&void 0!==n&&(o>=n?t3(t,o,e,n,i,s):t3(e,n,t,o,i,s));break;case c._or.bounce:t6(t,e);break;case c._or.destroy:t.unbreakable||e.unbreakable||t6(t,e),void 0===t.getRadius()&&void 0!==e.getRadius()?t.destroy():void 0!==t.getRadius()&&void 0===e.getRadius()?e.destroy():void 0!==t.getRadius()&&void 0!==e.getRadius()&&(t.getRadius()>=e.getRadius()?e:t).destroy()}}(t,n,e,i.retina.pixelRatio)}}isEnabled(t){return t.options.collisions.enable}reset(){}}async function t8(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesCollisions",t=>Promise.resolve(new t9(t)),e)}class t7 extends c.jlt{constructor(t,e,i,s){super(t,e,i),this.canvasSize=s,this.canvasSize={...s}}contains(t){let{width:e,height:i}=this.canvasSize,{x:s,y:o}=t;return super.contains(t)||super.contains({x:s-e,y:o})||super.contains({x:s-e,y:o-i})||super.contains({x:s,y:o-i})}intersects(t){if(super.intersects(t))return!0;let e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==t.radius){let i=new c.jlt(e.x,e.y,2*t.radius);return super.intersects(i)}if(void 0!==t.size){let i=new c.M_G(e.x,e.y,2*t.size.width,2*t.size.height);return super.intersects(i)}return!1}}class et{constructor(){this.blur=5,this.color=new c.Oit,this.color.value="#000",this.enable=!1}load(t){(0,c.kZJ)(t)||(void 0!==t.blur&&(this.blur=t.blur),this.color=c.Oit.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable))}}class ee{constructor(){this.enable=!1,this.frequency=1}load(t){(0,c.kZJ)(t)||(void 0!==t.color&&(this.color=c.Oit.create(this.color,t.color)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ei{constructor(){this.blink=!1,this.color=new c.Oit,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new et,this.triangles=new ee,this.width=1,this.warp=!1}load(t){(0,c.kZJ)(t)||(void 0!==t.id&&(this.id=t.id),void 0!==t.blink&&(this.blink=t.blink),this.color=c.Oit.create(this.color,t.color),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.distance&&(this.distance=t.distance),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity),this.shadow.load(t.shadow),this.triangles.load(t.triangles),void 0!==t.width&&(this.width=t.width),void 0!==t.warp&&(this.warp=t.warp))}}let es={x:0,y:0};class eo extends c.U4p{constructor(t,e){super(t),this._setColor=t=>{if(!t.options.links)return;let e=this._linkContainer,i=t.options.links,s=void 0===i.id?e.particles.linksColor:e.particles.linksColors.get(i.id);if(s)return;let o=i.color;s=(0,c.PGG)(this._engine,o,i.blink,i.consent),void 0===i.id?e.particles.linksColor=s:e.particles.linksColors.set(i.id,s)},this._linkContainer=t,this._engine=e}clear(){}init(){this._linkContainer.particles.linksColor=void 0,this._linkContainer.particles.linksColors=new Map}interact(t){let e;if(!t.options.links)return;t.links=[];let i=t.getPosition(),s=this.container,o=s.canvas.size;if(i.x<es.x||i.y<es.y||i.x>o.width||i.y>o.height)return;let n=t.options.links,a=n.opacity,r=t.retina.linksDistance??0,l=n.warp;for(let h of(e=l?new t7(i.x,i.y,r,o):new c.jlt(i.x,i.y,r),s.particles.quadTree.query(e))){let e=h.options.links;if(t===h||!e?.enable||n.id!==e.id||h.spawning||h.destroyed||!h.links||t.links.some(t=>t.destination===h)||h.links.some(e=>e.destination===t))continue;let s=h.getPosition();if(s.x<es.x||s.y<es.y||s.x>o.width||s.y>o.height)continue;let d=function(t,e,i,s,o){let{dx:n,dy:a,distance:r}=(0,c.vrU)(t,e);if(!o||r<=i)return r;let l={x:Math.abs(n),y:Math.abs(a)},h={x:Math.min(l.x,s.width-l.x),y:Math.min(l.y,s.height-l.y)};return Math.sqrt(h.x**2+h.y**2)}(i,s,r,o,l&&e.warp);if(d>r)continue;let u=(1-d/r)*a;this._setColor(t),t.links.push({destination:h,opacity:u})}}isEnabled(t){return!!t.options.links?.enable}loadParticlesOptions(t,...e){for(let i of(t.links||(t.links=new ei),e))t.links.load(i?.links)}reset(){}}async function en(t,e=!0){await t.addInteractor("particlesLinks",async e=>Promise.resolve(new eo(e,t)),e)}function ea(t,e){var i;let s=((i=t.map(t=>t.id)).sort((t,e)=>t-e),i.join("_")),o=e.get(s);return void 0===o&&(o=(0,c.G0i)(),e.set(s,o)),o}class er{constructor(t,e){this._drawLinkLine=(t,e)=>{let i=t.options.links;if(!i?.enable)return;let s=this._container,o=s.actualOptions,n=e.destination,a=t.getPosition(),r=n.getPosition(),l=e.opacity;s.canvas.draw(e=>{let h,d=t.options.twinkle?.lines;if(d?.enable){let t=d.frequency,e=(0,c.BN0)(this._engine,d.color);(0,c.G0i)()<t&&e&&(h=e,l=(0,c.VGA)(d.opacity))}if(!h){let e=void 0!==i.id?s.particles.linksColors.get(i.id):s.particles.linksColor;h=(0,c._hh)(t,n,e)}if(!h)return;let u=t.retina.linksWidth??0,p=t.retina.linksDistance??0,{backgroundMask:f}=o;!function(t){let e=!1,{begin:i,end:s,engine:o,maxDistance:n,context:a,canvasSize:r,width:l,backgroundMask:h,colorLine:d,opacity:u,links:p}=t;if((0,c.YfF)(i,s)<=n)(0,c.V6E)(a,i,s),e=!0;else if(p.warp){let t,o,l={x:s.x-r.width,y:s.y},h=(0,c.vrU)(i,l);if(h.distance<=n){let e=i.y-h.dy/h.dx*i.x;t={x:0,y:e},o={x:r.width,y:e}}else{let e={x:s.x,y:s.y-r.height},a=(0,c.vrU)(i,e);if(a.distance<=n){let e=-(i.y-a.dy/a.dx*i.x)/(a.dy/a.dx);t={x:e,y:0},o={x:e,y:r.height}}else{let e={x:s.x-r.width,y:s.y-r.height},a=(0,c.vrU)(i,e);if(a.distance<=n){let e=i.y-a.dy/a.dx*i.x;o={x:(t={x:-e/(a.dy/a.dx),y:e}).x+r.width,y:t.y+r.height}}}}t&&o&&((0,c.V6E)(a,i,t),(0,c.V6E)(a,s,o),e=!0)}if(!e)return;a.lineWidth=l,h.enable&&(a.globalCompositeOperation=h.composite),a.strokeStyle=(0,c.xxz)(d,u);let{shadow:f}=p;if(f.enable){let t=(0,c.BN0)(o,f.color);t&&(a.shadowBlur=f.blur,a.shadowColor=(0,c.xxz)(t))}a.stroke()}({context:e,width:u,begin:a,end:r,engine:this._engine,maxDistance:p,canvasSize:s.canvas.size,links:i,backgroundMask:f,colorLine:h,opacity:l})})},this._drawLinkTriangle=(t,e,i)=>{let s=t.options.links;if(!s?.enable)return;let o=s.triangles;if(!o.enable)return;let n=this._container,a=n.actualOptions,r=e.destination,l=i.destination,h=o.opacity??(e.opacity+i.opacity)*.5;h<=0||n.canvas.draw(e=>{let i=t.getPosition(),d=r.getPosition(),u=l.getPosition(),p=t.retina.linksDistance??0;if((0,c.YfF)(i,d)>p||(0,c.YfF)(u,d)>p||(0,c.YfF)(u,i)>p)return;let f=(0,c.BN0)(this._engine,o.color);if(!f){let e=void 0!==s.id?n.particles.linksColors.get(s.id):n.particles.linksColor;f=(0,c._hh)(t,r,e)}f&&function(t){let{context:e,pos1:i,pos2:s,pos3:o,backgroundMask:n,colorTriangle:a,opacityTriangle:r}=t;e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(s.x,s.y),e.lineTo(o.x,o.y),e.closePath(),n.enable&&(e.globalCompositeOperation=n.composite),e.fillStyle=(0,c.xxz)(a,r),e.fill()}({context:e,pos1:i,pos2:d,pos3:u,backgroundMask:a.backgroundMask,colorTriangle:f,opacityTriangle:h})})},this._drawTriangles=(t,e,i,s)=>{let o=i.destination;if(!(t.links?.triangles.enable&&o.options.links?.triangles.enable))return;let n=o.links?.filter(t=>{let e=this._getLinkFrequency(o,t.destination);return o.options.links&&e<=o.options.links.frequency&&s.findIndex(e=>e.destination===t.destination)>=0});if(n?.length)for(let s of n){let n=s.destination;this._getTriangleFrequency(e,o,n)>t.links.triangles.frequency||this._drawLinkTriangle(e,i,s)}},this._getLinkFrequency=(t,e)=>ea([t,e],this._freqs.links),this._getTriangleFrequency=(t,e,i)=>ea([t,e,i],this._freqs.triangles),this._container=t,this._engine=e,this._freqs={links:new Map,triangles:new Map}}drawParticle(t,e){let{links:i,options:s}=e;if(!i?.length)return;let o=i.filter(t=>s.links&&(s.links.frequency>=1||this._getLinkFrequency(e,t.destination)<=s.links.frequency));for(let t of o)this._drawTriangles(s,e,t,o),t.opacity>0&&(e.retina.linksWidth??0)>0&&this._drawLinkLine(e,t)}async init(){this._freqs.links=new Map,this._freqs.triangles=new Map,await Promise.resolve()}particleCreated(t){if(t.links=[],!t.options.links)return;let e=this._container.retina.pixelRatio,{retina:i}=t,{distance:s,width:o}=t.options.links;i.linksDistance=s*e,i.linksWidth=o*e}particleDestroyed(t){t.links=[]}}class el{constructor(t){this.id="links",this._engine=t}getPlugin(t){return Promise.resolve(new er(t,this._engine))}loadOptions(){}needsPlugin(){return!0}}async function ec(t,e=!0){let i=new el(t);await t.addPlugin(i,e)}async function eh(t,e=!0){t.checkVersion("3.9.1"),await en(t,e),await ec(t,e)}let ed={x:0,y:0};class eu{draw(t){let{particle:e,radius:i}=t;!function(t,e,i){let{context:s}=t,o=i.count.numerator*i.count.denominator,n=i.count.numerator/i.count.denominator,a=Math.PI-(0,c.puj)(180*(n-2)/n);if(s){s.beginPath(),s.translate(e.x,e.y),s.moveTo(ed.x,ed.y);for(let t=0;t<o;t++)s.lineTo(i.length,ed.y),s.translate(i.length,ed.y),s.rotate(a)}}(t,this.getCenter(e,i),this.getSidesData(e,i))}getSidesCount(t){let e=t.shapeData;return Math.round((0,c.VGA)(e?.sides??5))}}class ep extends eu{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(t,e){return{x:-e/(t.sides/3.5),y:-e/.76}}getSidesData(t,e){let i=t.sides;return{count:{denominator:1,numerator:i},length:2.66*e/(i/3)}}}class ef extends eu{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(t,e){return{x:-e,y:e/1.66}}getSidesCount(){return 3}getSidesData(t,e){return{count:{denominator:2,numerator:3},length:2*e}}}async function ev(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new ep,e)}async function em(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new ef,e)}async function eg(t,e=!0){t.checkVersion("3.9.1"),await ev(t,e),await em(t,e)}class ey{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){(0,c.kZJ)(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=(0,c.DT4)(t.speed)),void 0!==t.decay&&(this.decay=(0,c.DT4)(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class eb extends c.PVU{constructor(){super(),this.animation=new ey,this.direction=c.pTR.clockwise,this.path=!1,this.value=0}load(t){(0,c.kZJ)(t)||(super.load(t),void 0!==t.direction&&(this.direction=t.direction),this.animation.load(t.animation),void 0!==t.path&&(this.path=t.path))}}let ew=2*Math.PI;class ex{constructor(t){this.container=t}init(t){let e=t.options.rotate;if(!e)return;t.rotate={enable:e.animation.enable,value:(0,c.puj)((0,c.VGA)(e.value)),min:0,max:ew},t.pathRotation=e.path;let i=e.direction;switch(i===c.pTR.random&&(i=Math.floor(2*(0,c.G0i)())>0?c.pTR.counterClockwise:c.pTR.clockwise),i){case c.pTR.counterClockwise:case"counterClockwise":t.rotate.status=c.H_P.decreasing;break;case c.pTR.clockwise:t.rotate.status=c.H_P.increasing}let s=e.animation;s.enable&&(t.rotate.decay=1-(0,c.VGA)(s.decay),t.rotate.velocity=(0,c.VGA)(s.speed)/360*this.container.retina.reduceFactor,s.sync||(t.rotate.velocity*=(0,c.G0i)())),t.rotation=t.rotate.value}isEnabled(t){let e=t.options.rotate;return!!e&&!t.destroyed&&!t.spawning&&(!!e.value||e.animation.enable||e.path)}loadOptions(t,...e){for(let i of(t.rotate||(t.rotate=new eb),e))t.rotate.load(i?.rotate)}update(t,e){this.isEnabled(t)&&(t.isRotating=!!t.rotate,t.rotate&&((0,c.UC0)(t,t.rotate,!1,c.VKE.none,e),t.rotation=t.rotate.value))}}async function e_(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("rotate",t=>Promise.resolve(new ex(t)),e)}let ek=Math.sqrt(2);class ez{constructor(){this.validTypes=["edge","square"]}draw(t){let{context:e,radius:i}=t,s=i/ek,o=2*s;e.rect(-s,-s,o,o)}getSidesCount(){return 4}}async function eS(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new ez,e)}let eM={x:0,y:0};class eC{constructor(){this.validTypes=["star"]}draw(t){let{context:e,particle:i,radius:s}=t,o=i.sides,n=i.starInset??2;e.moveTo(eM.x,eM.y-s);for(let t=0;t<o;t++)e.rotate(Math.PI/o),e.lineTo(eM.x,eM.y-s*n),e.rotate(Math.PI/o),e.lineTo(eM.x,eM.y-s)}getSidesCount(t){let e=t.shapeData;return Math.round((0,c.VGA)(e?.sides??5))}particleInit(t,e){let i=e.shapeData;e.starInset=(0,c.VGA)(i?.inset??2)}}async function eE(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new eC,e)}class eT{constructor(t,e){this._container=t,this._engine=e}init(t){let e=this._container,i=t.options,s=(0,c.TA3)(i.stroke,t.id,i.reduceDuplicates);t.strokeWidth=(0,c.VGA)(s.width)*e.retina.pixelRatio,t.strokeOpacity=(0,c.VGA)(s.opacity??1),t.strokeAnimation=s.color?.animation;let o=(0,c.R5R)(this._engine,s.color)??t.getFillColor();o&&(t.strokeColor=(0,c.pzy)(o,t.strokeAnimation,e.retina.reduceFactor))}isEnabled(t){let e=t.strokeAnimation,{strokeColor:i}=t;return!t.destroyed&&!t.spawning&&!!e&&(i?.h.value!==void 0&&i.h.enable||i?.s.value!==void 0&&i.s.enable||i?.l.value!==void 0&&i.l.enable)}update(t,e){this.isEnabled(t)&&(0,c.JvX)(t.strokeColor,e)}}async function eP(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("strokeColor",e=>Promise.resolve(new eT(e,t)),e)}async function eO(t,e=!0){t.checkVersion("3.9.1"),await t1(t,!1),await N(t,!1),await Q(t,!1),await tn(t,!1),await tc(t,!1),await tp(t,!1),await tv(t,!1),await ty(t,!1),await tx(t,!1),await tC(t,!1),await tP(t,!1),await t5(t,!1),await t8(t,!1),await eh(t,!1),await F(t,!1),await q(t,!1),await tN(t,!1),await tK(t,!1),await eg(t,!1),await eS(t,!1),await eE(t,!1),await tX(t,!1),await e_(t,!1),await eP(t,!1),await V(t,e)}},80131:(t,e,i)=>{i.d(e,{Ay:()=>a,iC:()=>r});var s=i(70046),o=i(95155),n=i(12115);let a=t=>{let e=t.id??"tsparticles";return(0,n.useEffect)(()=>{let i;return s.$k3.load({id:e,url:t.url,options:t.options}).then(e=>{var s;i=e,null==(s=t.particlesLoaded)||s.call(t,e)}),()=>{null==i||i.destroy()}},[e,t,t.url,t.options]),(0,o.jsx)("div",{id:e,className:t.className})};async function r(t){await t(s.$k3)}}}]);