tsparticles 2.2.1 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +13 -11
- package/report.html +2 -2
- package/tsparticles.bundle.js +10 -10
- package/tsparticles.bundle.min.js +1 -1
- package/tsparticles.bundle.min.js.LICENSE.txt +1 -1
- package/tsparticles.js +1 -1
- package/tsparticles.min.js.LICENSE.txt +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see tsparticles.bundle.min.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(this,(()=>(()=>{"use strict";var t={939:()=>{!function(){try{if("undefined"==typeof window)return;"SVGPathSeg"in window||(window.SVGPathSeg=function(t,e,i){this.pathSegType=t,this.pathSegTypeAsLetter=e,this._owningPathSegList=i},window.SVGPathSeg.prototype.classname="SVGPathSeg",window.SVGPathSeg.PATHSEG_UNKNOWN=0,window.SVGPathSeg.PATHSEG_CLOSEPATH=1,window.SVGPathSeg.PATHSEG_MOVETO_ABS=2,window.SVGPathSeg.PATHSEG_MOVETO_REL=3,window.SVGPathSeg.PATHSEG_LINETO_ABS=4,window.SVGPathSeg.PATHSEG_LINETO_REL=5,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS=6,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL=7,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS=8,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL=9,window.SVGPathSeg.PATHSEG_ARC_ABS=10,window.SVGPathSeg.PATHSEG_ARC_REL=11,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS=12,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL=13,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS=14,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL=15,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS=16,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL=17,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS=18,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL=19,window.SVGPathSeg.prototype._segmentChanged=function(){this._owningPathSegList&&this._owningPathSegList.segmentChanged(this)},window.SVGPathSegClosePath=function(t){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CLOSEPATH,"z",t)},window.SVGPathSegClosePath.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegClosePath.prototype.toString=function(){return"[object SVGPathSegClosePath]"},window.SVGPathSegClosePath.prototype._asPathString=function(){return this.pathSegTypeAsLetter},window.SVGPathSegClosePath.prototype.clone=function(){return new window.SVGPathSegClosePath(void 0)},window.SVGPathSegMovetoAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_MOVETO_ABS,"M",t),this._x=e,this._y=i},window.SVGPathSegMovetoAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegMovetoAbs.prototype.toString=function(){return"[object SVGPathSegMovetoAbs]"},window.SVGPathSegMovetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegMovetoAbs.prototype.clone=function(){return new window.SVGPathSegMovetoAbs(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegMovetoAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegMovetoAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegMovetoRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_MOVETO_REL,"m",t),this._x=e,this._y=i},window.SVGPathSegMovetoRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegMovetoRel.prototype.toString=function(){return"[object SVGPathSegMovetoRel]"},window.SVGPathSegMovetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegMovetoRel.prototype.clone=function(){return new window.SVGPathSegMovetoRel(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegMovetoRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegMovetoRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_ABS,"L",t),this._x=e,this._y=i},window.SVGPathSegLinetoAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoAbs.prototype.toString=function(){return"[object SVGPathSegLinetoAbs]"},window.SVGPathSegLinetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegLinetoAbs.prototype.clone=function(){return new window.SVGPathSegLinetoAbs(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegLinetoAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegLinetoAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_REL,"l",t),this._x=e,this._y=i},window.SVGPathSegLinetoRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoRel.prototype.toString=function(){return"[object SVGPathSegLinetoRel]"},window.SVGPathSegLinetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegLinetoRel.prototype.clone=function(){return new window.SVGPathSegLinetoRel(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegLinetoRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegLinetoRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicAbs=function(t,e,i,o,n,s,a){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS,"C",t),this._x=e,this._y=i,this._x1=o,this._y1=n,this._x2=s,this._y2=a},window.SVGPathSegCurvetoCubicAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicAbs]"},window.SVGPathSegCurvetoCubicAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicAbs(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicRel=function(t,e,i,o,n,s,a){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL,"c",t),this._x=e,this._y=i,this._x1=o,this._y1=n,this._x2=s,this._y2=a},window.SVGPathSegCurvetoCubicRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicRel.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicRel]"},window.SVGPathSegCurvetoCubicRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicRel.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicRel(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticAbs=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS,"Q",t),this._x=e,this._y=i,this._x1=o,this._y1=n},window.SVGPathSegCurvetoQuadraticAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticAbs]"},window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticAbs(void 0,this._x,this._y,this._x1,this._y1)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticRel=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL,"q",t),this._x=e,this._y=i,this._x1=o,this._y1=n},window.SVGPathSegCurvetoQuadraticRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticRel.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticRel]"},window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticRel.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticRel(void 0,this._x,this._y,this._x1,this._y1)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegArcAbs=function(t,e,i,o,n,s,a,r){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_ARC_ABS,"A",t),this._x=e,this._y=i,this._r1=o,this._r2=n,this._angle=s,this._largeArcFlag=a,this._sweepFlag=r},window.SVGPathSegArcAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegArcAbs.prototype.toString=function(){return"[object SVGPathSegArcAbs]"},window.SVGPathSegArcAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y},window.SVGPathSegArcAbs.prototype.clone=function(){return new window.SVGPathSegArcAbs(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)},Object.defineProperty(window.SVGPathSegArcAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"r1",{get:function(){return this._r1},set:function(t){this._r1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"r2",{get:function(){return this._r2},set:function(t){this._r2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"angle",{get:function(){return this._angle},set:function(t){this._angle=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"largeArcFlag",{get:function(){return this._largeArcFlag},set:function(t){this._largeArcFlag=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"sweepFlag",{get:function(){return this._sweepFlag},set:function(t){this._sweepFlag=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegArcRel=function(t,e,i,o,n,s,a,r){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_ARC_REL,"a",t),this._x=e,this._y=i,this._r1=o,this._r2=n,this._angle=s,this._largeArcFlag=a,this._sweepFlag=r},window.SVGPathSegArcRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegArcRel.prototype.toString=function(){return"[object SVGPathSegArcRel]"},window.SVGPathSegArcRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y},window.SVGPathSegArcRel.prototype.clone=function(){return new window.SVGPathSegArcRel(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)},Object.defineProperty(window.SVGPathSegArcRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"r1",{get:function(){return this._r1},set:function(t){this._r1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"r2",{get:function(){return this._r2},set:function(t){this._r2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"angle",{get:function(){return this._angle},set:function(t){this._angle=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"largeArcFlag",{get:function(){return this._largeArcFlag},set:function(t){this._largeArcFlag=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"sweepFlag",{get:function(){return this._sweepFlag},set:function(t){this._sweepFlag=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoHorizontalAbs=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS,"H",t),this._x=e},window.SVGPathSegLinetoHorizontalAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoHorizontalAbs.prototype.toString=function(){return"[object SVGPathSegLinetoHorizontalAbs]"},window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x},window.SVGPathSegLinetoHorizontalAbs.prototype.clone=function(){return new window.SVGPathSegLinetoHorizontalAbs(void 0,this._x)},Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoHorizontalRel=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL,"h",t),this._x=e},window.SVGPathSegLinetoHorizontalRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoHorizontalRel.prototype.toString=function(){return"[object SVGPathSegLinetoHorizontalRel]"},window.SVGPathSegLinetoHorizontalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x},window.SVGPathSegLinetoHorizontalRel.prototype.clone=function(){return new window.SVGPathSegLinetoHorizontalRel(void 0,this._x)},Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoVerticalAbs=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS,"V",t),this._y=e},window.SVGPathSegLinetoVerticalAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoVerticalAbs.prototype.toString=function(){return"[object SVGPathSegLinetoVerticalAbs]"},window.SVGPathSegLinetoVerticalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._y},window.SVGPathSegLinetoVerticalAbs.prototype.clone=function(){return new window.SVGPathSegLinetoVerticalAbs(void 0,this._y)},Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoVerticalRel=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL,"v",t),this._y=e},window.SVGPathSegLinetoVerticalRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoVerticalRel.prototype.toString=function(){return"[object SVGPathSegLinetoVerticalRel]"},window.SVGPathSegLinetoVerticalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._y},window.SVGPathSegLinetoVerticalRel.prototype.clone=function(){return new window.SVGPathSegLinetoVerticalRel(void 0,this._y)},Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicSmoothAbs=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,"S",t),this._x=e,this._y=i,this._x2=o,this._y2=n},window.SVGPathSegCurvetoCubicSmoothAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicSmoothAbs]"},window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicSmoothAbs(void 0,this._x,this._y,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicSmoothRel=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL,"s",t),this._x=e,this._y=i,this._x2=o,this._y2=n},window.SVGPathSegCurvetoCubicSmoothRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicSmoothRel]"},window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicSmoothRel(void 0,this._x,this._y,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticSmoothAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,"T",t),this._x=e,this._y=i},window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticSmoothAbs]"},window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticSmoothRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL,"t",t),this._x=e,this._y=i},window.SVGPathSegCurvetoQuadraticSmoothRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticSmoothRel]"},window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticSmoothRel(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathElement.prototype.createSVGPathSegClosePath=function(){return new window.SVGPathSegClosePath(void 0)},window.SVGPathElement.prototype.createSVGPathSegMovetoAbs=function(t,e){return new window.SVGPathSegMovetoAbs(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegMovetoRel=function(t,e){return new window.SVGPathSegMovetoRel(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegLinetoAbs=function(t,e){return new window.SVGPathSegLinetoAbs(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegLinetoRel=function(t,e){return new window.SVGPathSegLinetoRel(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs=function(t,e,i,o,n,s){return new window.SVGPathSegCurvetoCubicAbs(void 0,t,e,i,o,n,s)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel=function(t,e,i,o,n,s){return new window.SVGPathSegCurvetoCubicRel(void 0,t,e,i,o,n,s)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs=function(t,e,i,o){return new window.SVGPathSegCurvetoQuadraticAbs(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel=function(t,e,i,o){return new window.SVGPathSegCurvetoQuadraticRel(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegArcAbs=function(t,e,i,o,n,s,a){return new window.SVGPathSegArcAbs(void 0,t,e,i,o,n,s,a)},window.SVGPathElement.prototype.createSVGPathSegArcRel=function(t,e,i,o,n,s,a){return new window.SVGPathSegArcRel(void 0,t,e,i,o,n,s,a)},window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs=function(t){return new window.SVGPathSegLinetoHorizontalAbs(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel=function(t){return new window.SVGPathSegLinetoHorizontalRel(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs=function(t){return new window.SVGPathSegLinetoVerticalAbs(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel=function(t){return new window.SVGPathSegLinetoVerticalRel(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs=function(t,e,i,o){return new window.SVGPathSegCurvetoCubicSmoothAbs(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel=function(t,e,i,o){return new window.SVGPathSegCurvetoCubicSmoothRel(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs=function(t,e){return new window.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel=function(t,e){return new window.SVGPathSegCurvetoQuadraticSmoothRel(void 0,t,e)},"getPathSegAtLength"in window.SVGPathElement.prototype||(window.SVGPathElement.prototype.getPathSegAtLength=function(t){if(void 0===t||!isFinite(t))throw"Invalid arguments.";const e=document.createElementNS("http://www.w3.org/2000/svg","path");e.setAttribute("d",this.getAttribute("d"));let i=e.pathSegList.numberOfItems-1;if(i<=0)return 0;do{if(e.pathSegList.removeItem(i),t>e.getTotalLength())break;i--}while(i>0);return i})),"SVGPathSegList"in window&&"appendItem"in window.SVGPathSegList.prototype||(window.SVGPathSegList=function(t){this._pathElement=t,this._list=this._parsePath(this._pathElement.getAttribute("d")),this._mutationObserverConfig={attributes:!0,attributeFilter:["d"]},this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.classname="SVGPathSegList",Object.defineProperty(window.SVGPathSegList.prototype,"numberOfItems",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(window.SVGPathSegList.prototype,"length",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"pathSegList",{get:function(){return this._pathSegList||(this._pathSegList=new window.SVGPathSegList(this)),this._pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"normalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedNormalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),window.SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())},window.SVGPathSegList.prototype._updateListFromPathMutations=function(t){if(!this._pathElement)return;let e=!1;t.forEach((function(t){"d"==t.attributeName&&(e=!0)})),e&&(this._list=this._parsePath(this._pathElement.getAttribute("d")))},window.SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect(),this._pathElement.setAttribute("d",window.SVGPathSegList._pathSegArrayAsString(this._list)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.segmentChanged=function(t){this._writeListToPath()},window.SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList(),this._list.forEach((function(t){t._owningPathSegList=null})),this._list=[],this._writeListToPath()},window.SVGPathSegList.prototype.initialize=function(t){return this._checkPathSynchronizedToList(),this._list=[t],t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype._checkValidIndex=function(t){if(isNaN(t)||t<0||t>=this.numberOfItems)throw"INDEX_SIZE_ERR"},window.SVGPathSegList.prototype.getItem=function(t){return this._checkPathSynchronizedToList(),this._checkValidIndex(t),this._list[t]},window.SVGPathSegList.prototype.insertItemBefore=function(t,e){return this._checkPathSynchronizedToList(),e>this.numberOfItems&&(e=this.numberOfItems),t._owningPathSegList&&(t=t.clone()),this._list.splice(e,0,t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.replaceItem=function(t,e){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._checkValidIndex(e),this._list[e]=t,t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.removeItem=function(t){this._checkPathSynchronizedToList(),this._checkValidIndex(t);const e=this._list[t];return this._list.splice(t,1),this._writeListToPath(),e},window.SVGPathSegList.prototype.appendItem=function(t){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._list.push(t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList._pathSegArrayAsString=function(t){let e="",i=!0;return t.forEach((function(t){i?(i=!1,e+=t._asPathString()):e+=" "+t._asPathString()})),e},window.SVGPathSegList.prototype._parsePath=function(t){if(!t||0==t.length)return[];const e=this,i=function(){this.pathSegList=[]};i.prototype.appendSegment=function(t){this.pathSegList.push(t)};const o=function(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._previousCommand=window.SVGPathSeg.PATHSEG_UNKNOWN,this._skipOptionalSpaces()};o.prototype._isCurrentSpace=function(){const t=this._string[this._currentIndex];return t<=" "&&(" "==t||"\n"==t||"\t"==t||"\r"==t||"\f"==t)},o.prototype._skipOptionalSpaces=function(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex++;return this._currentIndex<this._endIndex},o.prototype._skipOptionalSpacesOrDelimiter=function(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!=this._string.charAt(this._currentIndex))&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","==this._string.charAt(this._currentIndex)&&(this._currentIndex++,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)},o.prototype.hasMoreData=function(){return this._currentIndex<this._endIndex},o.prototype.peekSegmentType=function(){const t=this._string[this._currentIndex];return this._pathSegTypeFromChar(t)},o.prototype._pathSegTypeFromChar=function(t){switch(t){case"Z":case"z":return window.SVGPathSeg.PATHSEG_CLOSEPATH;case"M":return window.SVGPathSeg.PATHSEG_MOVETO_ABS;case"m":return window.SVGPathSeg.PATHSEG_MOVETO_REL;case"L":return window.SVGPathSeg.PATHSEG_LINETO_ABS;case"l":return window.SVGPathSeg.PATHSEG_LINETO_REL;case"C":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;case"c":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;case"Q":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;case"q":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;case"A":return window.SVGPathSeg.PATHSEG_ARC_ABS;case"a":return window.SVGPathSeg.PATHSEG_ARC_REL;case"H":return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;case"h":return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;case"V":return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;case"v":return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;case"S":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;case"s":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;case"T":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;case"t":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;default:return window.SVGPathSeg.PATHSEG_UNKNOWN}},o.prototype._nextCommandHelper=function(t,e){return("+"==t||"-"==t||"."==t||t>="0"&&t<="9")&&e!=window.SVGPathSeg.PATHSEG_CLOSEPATH?e==window.SVGPathSeg.PATHSEG_MOVETO_ABS?window.SVGPathSeg.PATHSEG_LINETO_ABS:e==window.SVGPathSeg.PATHSEG_MOVETO_REL?window.SVGPathSeg.PATHSEG_LINETO_REL:e:window.SVGPathSeg.PATHSEG_UNKNOWN},o.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData())return!0;const t=this.peekSegmentType();return t==window.SVGPathSeg.PATHSEG_MOVETO_ABS||t==window.SVGPathSeg.PATHSEG_MOVETO_REL},o.prototype._parseNumber=function(){let t=0,e=0,i=1,o=0,n=1,s=1;const a=this._currentIndex;if(this._skipOptionalSpaces(),this._currentIndex<this._endIndex&&"+"==this._string.charAt(this._currentIndex)?this._currentIndex++:this._currentIndex<this._endIndex&&"-"==this._string.charAt(this._currentIndex)&&(this._currentIndex++,n=-1),this._currentIndex==this._endIndex||(this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")&&"."!=this._string.charAt(this._currentIndex))return;const r=this._currentIndex;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)this._currentIndex++;if(this._currentIndex!=r){let t=this._currentIndex-1,i=1;for(;t>=r;)e+=i*(this._string.charAt(t--)-"0"),i*=10}if(this._currentIndex<this._endIndex&&"."==this._string.charAt(this._currentIndex)){if(this._currentIndex++,this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)i*=10,o+=(this._string.charAt(this._currentIndex)-"0")/i,this._currentIndex+=1}if(this._currentIndex!=a&&this._currentIndex+1<this._endIndex&&("e"==this._string.charAt(this._currentIndex)||"E"==this._string.charAt(this._currentIndex))&&"x"!=this._string.charAt(this._currentIndex+1)&&"m"!=this._string.charAt(this._currentIndex+1)){if(this._currentIndex++,"+"==this._string.charAt(this._currentIndex)?this._currentIndex++:"-"==this._string.charAt(this._currentIndex)&&(this._currentIndex++,s=-1),this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)t*=10,t+=this._string.charAt(this._currentIndex)-"0",this._currentIndex++}let l=e+o;return l*=n,t&&(l*=Math.pow(10,s*t)),a!=this._currentIndex?(this._skipOptionalSpacesOrDelimiter(),l):void 0},o.prototype._parseArcFlag=function(){if(this._currentIndex>=this._endIndex)return;let t=!1;const e=this._string.charAt(this._currentIndex++);if("0"==e)t=!1;else{if("1"!=e)return;t=!0}return this._skipOptionalSpacesOrDelimiter(),t},o.prototype.parseSegment=function(){const t=this._string[this._currentIndex];let i,o=this._pathSegTypeFromChar(t);if(o==window.SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==window.SVGPathSeg.PATHSEG_UNKNOWN)return null;if(o=this._nextCommandHelper(t,this._previousCommand),o==window.SVGPathSeg.PATHSEG_UNKNOWN)return null}else this._currentIndex++;switch(this._previousCommand=o,o){case window.SVGPathSeg.PATHSEG_MOVETO_REL:return new window.SVGPathSegMovetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_MOVETO_ABS:return new window.SVGPathSegMovetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_REL:return new window.SVGPathSegLinetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_ABS:return new window.SVGPathSegLinetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new window.SVGPathSegLinetoHorizontalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new window.SVGPathSegLinetoHorizontalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new window.SVGPathSegLinetoVerticalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new window.SVGPathSegLinetoVerticalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_CLOSEPATH:return this._skipOptionalSpaces(),new window.SVGPathSegClosePath(e);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicRel(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicAbs(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothRel(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothAbs(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticRel(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticAbs(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new window.SVGPathSegCurvetoQuadraticSmoothRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new window.SVGPathSegCurvetoQuadraticSmoothAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_ARC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcRel(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);case window.SVGPathSeg.PATHSEG_ARC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcAbs(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);default:throw"Unknown path seg type."}};const n=new i,s=new o(t);if(!s.initialCommandIsMoveTo())return[];for(;s.hasMoreData();){const t=s.parseSegment();if(!t)return[];n.appendSegment(t)}return n.pathSegList})}catch(t){console.warn("An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles",t)}}()}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var s=e[o]={exports:{}};return t[o](s,s.exports,i),s.exports}i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return(()=>{i.r(o),i.d(o,{AnimatableColor:()=>Ve,AnimationOptions:()=>Ze,Background:()=>ie,BackgroundMask:()=>ne,BackgroundMaskCover:()=>oe,Circle:()=>zi,CircleWarp:()=>Ii,ClickEvent:()=>ae,Collisions:()=>ze,CollisionsOverlap:()=>Ge,ColorAnimation:()=>Ee,Destroy:()=>De,DivEvent:()=>re,Events:()=>he,ExternalInteractorBase:()=>go,FullScreen:()=>se,HoverEvent:()=>ce,HslAnimation:()=>Te,HslColorManager:()=>wo,Interactivity:()=>be,ManualParticle:()=>Se,Modes:()=>we,Motion:()=>_e,MotionReduce:()=>Pe,Move:()=>$e,MoveAngle:()=>je,MoveAttract:()=>Fe,MoveGravity:()=>Ne,MovePath:()=>qe,MovePathDelay:()=>Be,MoveTrail:()=>Ue,Opacity:()=>Ye,OpacityAnimation:()=>Xe,Options:()=>Si,OptionsColor:()=>ee,OutModes:()=>We,Parallax:()=>le,ParticlesBounce:()=>Me,ParticlesBounceFactor:()=>Re,ParticlesDensity:()=>Je,ParticlesInteractorBase:()=>mo,ParticlesNumber:()=>Ke,ParticlesOptions:()=>ui,Point:()=>Ri,Range:()=>Mi,Rectangle:()=>Li,Responsive:()=>xe,RgbColorManager:()=>yo,Rotate:()=>ei,RotateAnimation:()=>ti,Shadow:()=>ii,Shape:()=>oi,Size:()=>si,SizeAnimation:()=>ni,Slow:()=>de,Spin:()=>Qe,Split:()=>He,SplitFactor:()=>Le,SplitRate:()=>Ie,Stroke:()=>ai,Theme:()=>Ae,ThemeDefault:()=>Ce,ValueWithRandom:()=>ke,Vector:()=>a,Vector3d:()=>Ei,ZIndex:()=>ri,addColorManager:()=>J,alterHsl:()=>Tt,animate:()=>R,areBoundsInside:()=>j,arrayRandomIndex:()=>I,calcEasing:()=>_,calcExactPositionOrRandomFromSize:()=>E,calcExactPositionOrRandomFromSizeRanged:()=>T,calcPositionFromSize:()=>x,calcPositionOrRandomFromSize:()=>C,calcPositionOrRandomFromSizeRanged:()=>A,calculateBounds:()=>F,cancelAnimation:()=>M,circleBounce:()=>$,circleBounceDataFromParticle:()=>Q,clamp:()=>h,clear:()=>Pt,collisionVelocity:()=>P,colorMix:()=>pt,colorToHsl:()=>ot,colorToRgb:()=>it,deepExtend:()=>N,divMode:()=>W,divModeExecute:()=>q,drawLine:()=>mt,drawParticle:()=>_t,drawParticlePlugin:()=>Et,drawPlugin:()=>At,drawShape:()=>xt,drawShapeAfterEffect:()=>Ct,drawTriangle:()=>bt,generatedAttribute:()=>Vt,getDistance:()=>m,getDistances:()=>g,getHslAnimationFromHsl:()=>yt,getHslFromAnimation:()=>wt,getLinkColor:()=>vt,getLinkRandomColor:()=>ft,getParticleBaseVelocity:()=>S,getParticleDirectionAngle:()=>b,getRandom:()=>c,getRandomRgbColor:()=>ht,getRangeMax:()=>f,getRangeMin:()=>v,getRangeValue:()=>p,getStyleFromHsl:()=>ut,getStyleFromRgb:()=>dt,getValue:()=>y,hslToRgb:()=>lt,hslaToRgba:()=>ct,isDivModeEnabled:()=>B,isInArray:()=>z,isPointInside:()=>D,isSsr:()=>k,itemFromArray:()=>H,loadFont:()=>L,loadFull:()=>Va,loadOptions:()=>pi,loadParticlesOptions:()=>vi,loadSlim:()=>ma,mix:()=>d,mouseDownEvent:()=>Ot,mouseLeaveEvent:()=>Lt,mouseMoveEvent:()=>Rt,mouseOutEvent:()=>It,mouseUpEvent:()=>kt,noPolygonDataLoaded:()=>Ft,noPolygonFound:()=>Nt,paintBase:()=>St,parseAlpha:()=>V,randomInRange:()=>u,rangeColorToHsl:()=>nt,rangeColorToRgb:()=>et,rectBounce:()=>Z,resizeEvent:()=>Dt,rgbToHsl:()=>st,setRandom:()=>l,setRangeValue:()=>w,singleDivModeExecute:()=>U,stringToAlpha:()=>at,stringToRgb:()=>rt,touchCancelEvent:()=>Ht,touchEndEvent:()=>Gt,touchMoveEvent:()=>zt,touchStartEvent:()=>Mt,tsParticles:()=>Po,visibilityChangeEvent:()=>jt});var t,e=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},n=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class s{constructor(){t.set(this,void 0),e(this,t,new Map,"f")}addEventListener(e,i){var o;this.removeEventListener(e,i),n(this,t,"f").get(e)||n(this,t,"f").set(e,[]),null===(o=n(this,t,"f").get(e))||void 0===o||o.push(i)}dispatchEvent(e,i){var o;null===(o=n(this,t,"f").get(e))||void 0===o||o.forEach((t=>t(i)))}hasEventListener(e){return!!n(this,t,"f").get(e)}removeAllEventListeners(i){i?n(this,t,"f").delete(i):e(this,t,new Map,"f")}removeEventListener(e,i){const o=n(this,t,"f").get(e);if(!o)return;const s=o.length,a=o.indexOf(i);a<0||(1===s?n(this,t,"f").delete(e):o.splice(a,1))}}t=new WeakMap;class a{constructor(t,e){if("number"!=typeof t&&t)this.x=t.x,this.y=t.y;else{if(void 0===t||void 0===e)throw new Error("tsParticles - Vector not initialized correctly");this.x=t,this.y=e}}static get origin(){return a.create(0,0)}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 a.create(t.x,t.y)}static create(t,e){return new a(t,e)}add(t){return a.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}copy(){return a.clone(this)}distanceTo(t){return this.sub(t).length}distanceToSq(t){return this.sub(t).getLengthSq()}div(t){return a.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}getLengthSq(){return this.x**2+this.y**2}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}mult(t){return a.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}rotate(t){return a.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}setTo(t){this.x=t.x,this.y=t.y}sub(t){return a.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}let r=Math.random;function l(t=Math.random){r=t}function c(){return h(r(),0,1-1e-16)}function h(t,e,i){return Math.min(Math.max(t,e),i)}function d(t,e,i,o){return Math.floor((t*i+e*o)/(i+o))}function u(t){const e=f(t);let i=v(t);return e===i&&(i=0),c()*(e-i)+i}function p(t){return"number"==typeof t?t:u(t)}function v(t){return"number"==typeof t?t:t.min}function f(t){return"number"==typeof t?t:t.max}function w(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const i=v(t),o=f(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(o,e)}:w(i,o)}function y(t){const e=t.random,{enable:i,minimumValue:o}="boolean"==typeof e?{enable:e,minimumValue:0}:e;return p(i?w(t.value,o):t.value)}function g(t,e){const i=t.x-e.x,o=t.y-e.y;return{dx:i,dy:o,distance:Math.sqrt(i*i+o*o)}}function m(t,e){return g(t,e).distance}function b(t,e,i){if("number"==typeof t)return t*Math.PI/180;switch(t){case"top":return-Math.PI/2;case"top-right":return-Math.PI/4;case"right":return 0;case"bottom-right":return Math.PI/4;case"bottom":return Math.PI/2;case"bottom-left":return 3*Math.PI/4;case"left":return Math.PI;case"top-left":return-3*Math.PI/4;case"inside":return Math.atan2(i.y-e.y,i.x-e.x);case"outside":return Math.atan2(e.y-i.y,e.x-i.x);default:return c()*Math.PI*2}}function S(t){const e=a.origin;return e.length=1,e.angle=t,e}function P(t,e,i,o){return a.create(t.x*(i-o)/(i+o)+2*e.x*o/(i+o),t.y)}function _(t,e){switch(e){case"ease-out-quad":return 1-(1-t)**2;case"ease-out-cubic":return 1-(1-t)**3;case"ease-out-quart":return 1-(1-t)**4;case"ease-out-quint":return 1-(1-t)**5;case"ease-out-expo":return 1===t?1:1-Math.pow(2,-10*t);case"ease-out-sine":return Math.sin(t*Math.PI/2);case"ease-out-back":{const e=1.70158;return 1+(e+1)*Math.pow(t-1,3)+e*Math.pow(t-1,2)}case"ease-out-circ":return Math.sqrt(1-Math.pow(t-1,2));default:return t}}function x(t){var e,i;return void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?{x:t.position.x*t.size.width/100,y:t.position.y*t.size.height/100}:void 0}function C(t){var e,i,o,n;return{x:(null!==(i=null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==i?i:100*c())*t.size.width/100,y:(null!==(n=null===(o=t.position)||void 0===o?void 0:o.y)&&void 0!==n?n:100*c())*t.size.height/100}}function A(t){var e,i;const o={x:void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)?p(t.position.x):void 0,y:void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?p(t.position.y):void 0};return C({size:t.size,position:o})}function E(t){var e,i,o,n;return{x:null!==(i=null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==i?i:c()*t.size.width,y:null!==(n=null===(o=t.position)||void 0===o?void 0:o.y)&&void 0!==n?n:c()*t.size.height}}function T(t){var e,i;const o={x:void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)?p(t.position.x):void 0,y:void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?p(t.position.y):void 0};return E({size:t.size,position:o})}function V(t){return t.endsWith("%")?parseFloat(t)/100:parseFloat(t)}function G(t,e,i,o,n,s){const a={bounced:!1};return e.min<o.min||e.min>o.max||e.max<o.min||e.max>o.max||(t.max>=i.min&&t.max<=(i.max+i.min)/2&&n>0||t.min<=i.max&&t.min>(i.max+i.min)/2&&n<0)&&(a.velocity=n*-s,a.bounced=!0),a}function O(t,e){if(!(e instanceof Array))return t.matches(e);for(const i of e)if(t.matches(i))return!0;return!1}function k(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function R(){return k()?t=>setTimeout(t):t=>(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||window.setTimeout)(t)}function M(){return k()?t=>clearTimeout(t):t=>(window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.clearTimeout)(t)}function z(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}async function L(t,e){try{await document.fonts.load(`${null!=e?e:"400"} 36px '${null!=t?t:"Verdana"}'`)}catch(t){}}function I(t){return Math.floor(c()*t.length)}function H(t,e,i=!0){return t[void 0!==e&&i?e%t.length:I(t)]}function D(t,e,i,o,n){return j(F(t,null!=o?o:0),e,i,n)}function j(t,e,i,o){let n=!0;return o&&"bottom"!==o||(n=t.top<e.height+i.x),!n||o&&"left"!==o||(n=t.right>i.x),!n||o&&"right"!==o||(n=t.left<e.width+i.y),!n||o&&"top"!==o||(n=t.bottom>i.y),n}function F(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function N(t,...e){for(const i of e){if(null==i)continue;if("object"!=typeof i){t=i;continue}const e=Array.isArray(i);!e||"object"==typeof t&&t&&Array.isArray(t)?e||"object"==typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const e in i){if("__proto__"===e)continue;const o=i[e],n="object"==typeof o,s=t;s[e]=n&&Array.isArray(o)?o.map((t=>N(s[e],t))):N(s[e],o)}}return t}function B(t,e){return e instanceof Array?!!e.find((e=>e.enable&&z(t,e.mode))):z(t,e.mode)}function q(t,e,i){if(e instanceof Array)for(const o of e){const e=o.mode;o.enable&&z(t,e)&&U(o,i)}else{const o=e.mode;e.enable&&z(t,o)&&U(e,i)}}function U(t,e){const i=t.selectors;if(i instanceof Array)for(const o of i)e(o,t);else e(i,t)}function W(t,e){if(e&&t)return t instanceof Array?t.find((t=>O(e,t.selectors))):O(e,t.selectors)?t:void 0}function Q(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:a.create(y(t.options.bounce.horizontal),y(t.options.bounce.vertical))}}function $(t,e){const{x:i,y:o}=t.velocity.sub(e.velocity),[n,s]=[t.position,e.position],{dx:a,dy:r}=g(s,n);if(i*a+o*r<0)return;const l=-Math.atan2(r,a),c=t.mass,h=e.mass,d=t.velocity.rotate(l),u=e.velocity.rotate(l),p=P(d,u,c,h),v=P(u,d,c,h),f=p.rotate(-l),w=v.rotate(-l);t.velocity.x=f.x*t.factor.x,t.velocity.y=f.y*t.factor.y,e.velocity.x=w.x*e.factor.x,e.velocity.y=w.y*e.factor.y}function Z(t,e){const i=F(t.getPosition(),t.getRadius()),o=G({min:i.left,max:i.right},{min:i.top,max:i.bottom},{min:e.left,max:e.right},{min:e.top,max:e.bottom},t.velocity.x,y(t.options.bounce.horizontal));o.bounced&&(void 0!==o.velocity&&(t.velocity.x=o.velocity),void 0!==o.position&&(t.position.x=o.position));const n=G({min:i.top,max:i.bottom},{min:i.left,max:i.right},{min:e.top,max:e.bottom},{min:e.left,max:e.right},t.velocity.y,y(t.options.bounce.vertical));n.bounced&&(void 0!==n.velocity&&(t.velocity.y=n.velocity),void 0!==n.position&&(t.position.y=n.position))}const X="random",Y=new Map;function J(t,e){Y.set(t,e)}function K(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function tt(t){for(const[,e]of Y)if(t.startsWith(e.stringPrefix))return e.parseString(t);const e=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,((t,e,i,o,n)=>e+e+i+i+o+o+(void 0!==n?n+n:""))),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(e);return i?{a:void 0!==i[4]?parseInt(i[4],16)/255:1,b:parseInt(i[3],16),g:parseInt(i[2],16),r:parseInt(i[1],16)}:void 0}function et(t,e,i=!0){if(!t)return;const o="string"==typeof t?{value:t}:t;if("string"==typeof o.value)return it(o.value,e,i);if(o.value instanceof Array)return et({value:H(o.value,e,i)});for(const[,t]of Y){const e=t.handleRangeColor(o);if(e)return e}}function it(t,e,i=!0){if(!t)return;const o="string"==typeof t?{value:t}:t;if("string"==typeof o.value)return o.value===X?ht():rt(o.value);if(o.value instanceof Array)return it({value:H(o.value,e,i)});for(const[,t]of Y){const e=t.handleColor(o);if(e)return e}}function ot(t,e,i=!0){const o=it(t,e,i);return o?st(o):void 0}function nt(t,e,i=!0){const o=et(t,e,i);return o?st(o):void 0}function st(t){const e=t.r/255,i=t.g/255,o=t.b/255,n=Math.max(e,i,o),s=Math.min(e,i,o),a={h:0,l:(n+s)/2,s:0};return n!==s&&(a.s=a.l<.5?(n-s)/(n+s):(n-s)/(2-n-s),a.h=e===n?(i-o)/(n-s):a.h=i===n?2+(o-e)/(n-s):4+(e-i)/(n-s)),a.l*=100,a.s*=100,a.h*=60,a.h<0&&(a.h+=360),a.h>=360&&(a.h-=360),a}function at(t){var e;return null===(e=tt(t))||void 0===e?void 0:e.a}function rt(t){return tt(t)}function lt(t){const e={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(i.s){const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,o=2*i.l-t;e.r=K(o,t,i.h+1/3),e.g=K(o,t,i.h),e.b=K(o,t,i.h-1/3)}else e.b=i.l,e.g=i.l,e.r=i.l;return e.r=Math.floor(255*e.r),e.g=Math.floor(255*e.g),e.b=Math.floor(255*e.b),e}function ct(t){const e=lt(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function ht(t){const e=null!=t?t:0;return{b:Math.floor(u(w(e,256))),g:Math.floor(u(w(e,256))),r:Math.floor(u(w(e,256)))}}function dt(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=e?e:1})`}function ut(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${null!=e?e:1})`}function pt(t,e,i,o){let n=t,s=e;return void 0===n.r&&(n=lt(t)),void 0===s.r&&(s=lt(e)),{b:d(n.b,s.b,i,o),g:d(n.g,s.g,i,o),r:d(n.r,s.r,i,o)}}function vt(t,e,i){var o,n;if(i===X)return ht();if("mid"!==i)return i;{const i=null!==(o=t.getFillColor())&&void 0!==o?o:t.getStrokeColor(),s=null!==(n=null==e?void 0:e.getFillColor())&&void 0!==n?n:null==e?void 0:e.getStrokeColor();if(i&&s&&e)return pt(i,s,t.getRadius(),e.getRadius());{const t=null!=i?i:s;if(t)return lt(t)}}}function ft(t,e,i){const o="string"==typeof t?t:t.value;return o===X?i?et({value:o}):e?X:"mid":et({value:o})}function wt(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function yt(t,e,i){const o={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(gt(o.h,e.h,i),gt(o.s,e.s,i),gt(o.l,e.l,i)),o}function gt(t,e,i){t.enable=e.enable,t.enable?(t.velocity=p(e.speed)/100*i,t.decay=1-p(e.decay),t.status=0,e.sync||(t.velocity*=c(),t.value*=c())):t.velocity=0}function mt(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function bt(t,e,i,o){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.lineTo(o.x,o.y),t.closePath()}function St(t,e,i){t.save(),t.fillStyle=null!=i?i:"rgba(0,0,0,0)",t.fillRect(0,0,e.width,e.height),t.restore()}function Pt(t,e){t.clearRect(0,0,e.width,e.height)}function _t(t){var e,i,o,n,s,a,r,l,c,h;const{container:d,context:u,particle:p,delta:v,colorStyles:f,backgroundMask:w,composite:y,radius:g,opacity:m,shadow:b,transform:S}=t,P=p.getPosition();u.save(),void 0!==S.a||void 0!==S.b||void 0!==S.c||void 0!==S.d?u.setTransform(null!==(e=S.a)&&void 0!==e?e:1,null!==(i=S.b)&&void 0!==i?i:0,null!==(o=S.c)&&void 0!==o?o:0,null!==(n=S.d)&&void 0!==n?n:1,P.x,P.y):u.translate(P.x,P.y),u.beginPath();const _=p.rotation+(p.options.rotate.path?p.velocity.angle:0);0!==_&&u.rotate(_),w&&(u.globalCompositeOperation=y);const x=p.shadowColor;b.enable&&x&&(u.shadowBlur=b.blur,u.shadowColor=dt(x),u.shadowOffsetX=b.offset.x,u.shadowOffsetY=b.offset.y),f.fill&&(u.fillStyle=f.fill);const C=p.stroke;u.lineWidth=null!==(s=p.strokeWidth)&&void 0!==s?s:0,f.stroke&&(u.strokeStyle=f.stroke),xt(d,u,p,g,m,v),(null!==(a=null==C?void 0:C.width)&&void 0!==a?a:0)>0&&u.stroke(),p.close&&u.closePath(),p.fill&&u.fill(),u.restore(),u.save(),void 0!==S.a||void 0!==S.b||void 0!==S.c||void 0!==S.d?u.setTransform(null!==(r=S.a)&&void 0!==r?r:1,null!==(l=S.b)&&void 0!==l?l:0,null!==(c=S.c)&&void 0!==c?c:0,null!==(h=S.d)&&void 0!==h?h:1,P.x,P.y):u.translate(P.x,P.y),p.rotation&&u.rotate(p.rotation),w&&(u.globalCompositeOperation=y),Ct(d,u,p,g,m,v),u.restore()}function xt(t,e,i,o,n,s){if(!i.shape)return;const a=t.drawers.get(i.shape);a&&a.draw(e,i,o,n,s,t.retina.pixelRatio)}function Ct(t,e,i,o,n,s){if(!i.shape)return;const a=t.drawers.get(i.shape);(null==a?void 0:a.afterEffect)&&a.afterEffect(e,i,o,n,s,t.retina.pixelRatio)}function At(t,e,i){e.draw&&(t.save(),e.draw(t,i),t.restore())}function Et(t,e,i,o){e.drawParticle&&(t.save(),e.drawParticle(t,i,o),t.restore())}function Tt(t,e,i){return{h:t.h,s:t.s,l:t.l+("darken"===e?-1:1)*i}}const Vt="generated",Gt="touchend",Ot="mousedown",kt="mouseup",Rt="mousemove",Mt="touchstart",zt="touchmove",Lt="mouseleave",It="mouseout",Ht="touchcancel",Dt="resize",jt="visibilitychange",Ft="No polygon data loaded.",Nt="No polygon found, you need to specify SVG url in config.";var Bt,qt,Ut,Wt,Qt,$t=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Zt=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function Xt(t,e,i){var o;const n=e[i];void 0!==n&&(t[i]=(null!==(o=t[i])&&void 0!==o?o:1)*n)}class Yt{constructor(t){this.container=t,Bt.set(this,void 0),qt.set(this,void 0),Ut.set(this,void 0),Wt.set(this,void 0),Qt.set(this,void 0),this.size={height:0,width:0},$t(this,qt,null,"f"),this.generatedCanvas=!1,$t(this,Wt,[],"f"),$t(this,Ut,[],"f"),$t(this,Qt,[],"f"),$t(this,Bt,[],"f")}clear(){const t=this.container.actualOptions,e=t.particles.move.trail;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&this.trailFillColor?this.paintBase(dt(this.trailFillColor,1/e.length)):this.draw((t=>{Pt(t,this.size)}))}destroy(){var t;this.generatedCanvas?null===(t=this.element)||void 0===t||t.remove():this.resetOriginalStyle(),this.draw((t=>{Pt(t,this.size)})),$t(this,Wt,[],"f"),$t(this,Ut,[],"f"),$t(this,Qt,[],"f"),$t(this,Bt,[],"f")}draw(t){if(Zt(this,qt,"f"))return t(Zt(this,qt,"f"))}drawParticle(t,e){var i;if(t.spawning||t.destroyed)return;const o=t.getRadius();if(o<=0)return;const n=t.getFillColor(),s=null!==(i=t.getStrokeColor())&&void 0!==i?i:n;let[a,r]=this.getPluginParticleColors(t);a||(a=n),r||(r=s),(a||r)&&this.draw((i=>{var n,s,l,c,h;const d=this.container.actualOptions,u=t.options.zIndex,p=(1-t.zIndexFactor)**u.opacityRate,v=null!==(l=null!==(n=t.bubble.opacity)&&void 0!==n?n:null===(s=t.opacity)||void 0===s?void 0:s.value)&&void 0!==l?l:1,f=v*p,w=(null!==(h=null===(c=t.stroke)||void 0===c?void 0:c.opacity)&&void 0!==h?h:v)*p,y={},g={fill:a?ut(a,f):void 0};g.stroke=r?ut(r,w):g.fill,this.applyPreDrawUpdaters(i,t,o,f,g,y),_t({container:this.container,context:i,particle:t,delta:e,colorStyles:g,backgroundMask:d.backgroundMask.enable,composite:d.backgroundMask.composite,radius:o*(1-t.zIndexFactor)**u.sizeRate,opacity:f,shadow:t.options.shadow,transform:y}),this.applyPostDrawUpdaters(t)}))}drawParticlePlugin(t,e,i){this.draw((o=>{Et(o,t,e,i)}))}drawPlugin(t,e){this.draw((i=>{At(i,t,e)}))}init(){this.resize(),this.initStyle(),this.initCover(),this.initTrail(),this.initBackground(),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){const t=this.container.actualOptions.background,e=this.element,i=null==e?void 0:e.style;if(i){if(t.color){const e=et(t.color);i.backgroundColor=e?dt(e,t.opacity):""}else i.backgroundColor="";i.backgroundImage=t.image||"",i.backgroundPosition=t.position||"",i.backgroundRepeat=t.repeat||"",i.backgroundSize=t.size||""}}initPlugins(){$t(this,Qt,[],"f");for(const[,t]of this.container.plugins)t.resize&&Zt(this,Qt,"f").push(t),(t.particleFillColor||t.particleStrokeColor)&&Zt(this,Bt,"f").push(t)}initUpdaters(){$t(this,Wt,[],"f"),$t(this,Ut,[],"f");for(const t of this.container.particles.updaters)t.afterDraw&&Zt(this,Ut,"f").push(t),(t.getColorStyles||t.getTransformValues||t.beforeDraw)&&Zt(this,Wt,"f").push(t)}loadCanvas(t){var e;this.generatedCanvas&&(null===(e=this.element)||void 0===e||e.remove()),this.generatedCanvas=t.dataset&&Vt in t.dataset?"true"===t.dataset[Vt]:this.generatedCanvas,this.element=t,this.originalStyle=N({},this.element.style),this.size.height=t.offsetHeight,this.size.width=t.offsetWidth,$t(this,qt,this.element.getContext("2d"),"f"),this.container.retina.init(),this.initBackground()}paint(){const t=this.container.actualOptions;this.draw((e=>{t.backgroundMask.enable&&t.backgroundMask.cover?(Pt(e,this.size),this.paintBase(this.coverColorStyle)):this.paintBase()}))}resize(){if(!this.element)return;const t=this.container,e=t.retina.pixelRatio,i=t.canvas.size,o=this.element.offsetWidth*e,n=this.element.offsetHeight*e;if(n===i.height&&o===i.width&&n===this.element.height&&o===this.element.width)return;const s=Object.assign({},i);this.element.width=i.width=this.element.offsetWidth*e,this.element.height=i.height=this.element.offsetHeight*e,this.container.started&&(this.resizeFactor={width:i.width/s.width,height:i.height/s.height})}async windowResize(){if(!this.element)return;this.resize();const t=this.container,e=t.updateActualOptions();t.particles.setDensity(),this.applyResizePlugins(),e&&await t.refresh()}applyPostDrawUpdaters(t){var e;for(const i of Zt(this,Ut,"f"))null===(e=i.afterDraw)||void 0===e||e.call(i,t)}applyPreDrawUpdaters(t,e,i,o,n,s){var a;for(const r of Zt(this,Wt,"f")){if(r.getColorStyles){const{fill:s,stroke:a}=r.getColorStyles(e,t,i,o);s&&(n.fill=s),a&&(n.stroke=a)}if(r.getTransformValues){const t=r.getTransformValues(e);for(const e in t)Xt(s,t,e)}null===(a=r.beforeDraw)||void 0===a||a.call(r,e)}}applyResizePlugins(){var t;for(const e of Zt(this,Qt,"f"))null===(t=e.resize)||void 0===t||t.call(e)}getPluginParticleColors(t){let e,i;for(const o of Zt(this,Bt,"f"))if(!e&&o.particleFillColor&&(e=nt(o.particleFillColor(t))),!i&&o.particleStrokeColor&&(i=nt(o.particleStrokeColor(t))),e&&i)break;return[e,i]}initCover(){const t=this.container.actualOptions.backgroundMask.cover,e=et(t.color);if(e){const i={r:e.r,g:e.g,b:e.b,a:t.opacity};this.coverColorStyle=dt(i,i.a)}}initStyle(){const t=this.element,e=this.container.actualOptions;if(t){e.fullScreen.enable?(this.originalStyle=N({},t.style),t.style.setProperty("position","fixed","important"),t.style.setProperty("z-index",e.fullScreen.zIndex.toString(10),"important"),t.style.setProperty("top","0","important"),t.style.setProperty("left","0","important"),t.style.setProperty("width","100%","important"),t.style.setProperty("height","100%","important")):this.resetOriginalStyle();for(const i in e.style){if(!i||!e.style)continue;const o=e.style[i];o&&t.style.setProperty(i,o,"important")}}}initTrail(){const t=this.container.actualOptions,e=et(t.particles.move.trail.fillColor);if(e){const i=t.particles.move.trail;this.trailFillColor={r:e.r,g:e.g,b:e.b,a:1/i.length}}}paintBase(t){this.draw((e=>{St(e,this.size,t)}))}resetOriginalStyle(){const t=this.element,e=this.originalStyle;t&&e&&(t.style.position=e.position,t.style.zIndex=e.zIndex,t.style.top=e.top,t.style.left=e.left,t.style.width=e.width,t.style.height=e.height)}}function Jt(t,e,i,o,n){if(o){let o={passive:!0};"boolean"==typeof n?o.capture=n:void 0!==n&&(o=n),t.addEventListener(e,i,o)}else{const o=n;t.removeEventListener(e,i,o)}}Bt=new WeakMap,qt=new WeakMap,Ut=new WeakMap,Wt=new WeakMap,Qt=new WeakMap;class Kt{constructor(t){this.container=t,this.canPush=!0,this.mouseMoveHandler=t=>this.mouseTouchMove(t),this.touchStartHandler=t=>this.mouseTouchMove(t),this.touchMoveHandler=t=>this.mouseTouchMove(t),this.touchEndHandler=()=>this.mouseTouchFinish(),this.mouseLeaveHandler=()=>this.mouseTouchFinish(),this.touchCancelHandler=()=>this.mouseTouchFinish(),this.touchEndClickHandler=t=>this.mouseTouchClick(t),this.mouseUpHandler=t=>this.mouseTouchClick(t),this.mouseDownHandler=()=>this.mouseDown(),this.visibilityChangeHandler=()=>this.handleVisibilityChange(),this.themeChangeHandler=t=>this.handleThemeChange(t),this.oldThemeChangeHandler=t=>this.handleThemeChange(t),this.resizeHandler=()=>this.handleWindowResize()}addListeners(){this.manageListeners(!0)}removeListeners(){this.manageListeners(!1)}doMouseTouchClick(t){const e=this.container,i=e.actualOptions;if(this.canPush){const t=e.interactivity.mouse.position;if(!t)return;e.interactivity.mouse.clickPosition={x:t.x,y:t.y},e.interactivity.mouse.clickTime=(new Date).getTime();const o=i.interactivity.events.onClick;if(o.mode instanceof Array)for(const t of o.mode)this.handleClickMode(t);else this.handleClickMode(o.mode)}"touchend"===t.type&&setTimeout((()=>this.mouseTouchFinish()),500)}handleClickMode(t){this.container.handleClickMode(t)}handleThemeChange(t){const e=t.matches?this.container.options.defaultDarkTheme:this.container.options.defaultLightTheme,i=this.container.options.themes.find((t=>t.name===e));i&&i.default.auto&&this.container.loadTheme(e)}handleVisibilityChange(){const t=this.container,e=t.actualOptions;this.mouseTouchFinish(),e.pauseOnBlur&&((null===document||void 0===document?void 0:document.hidden)?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.getAnimationStatus()?t.play(!0):t.draw(!0)))}handleWindowResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),delete this.resizeTimeout),this.resizeTimeout=setTimeout((async()=>{var t;return null===(t=this.container.canvas)||void 0===t?void 0:t.windowResize()}),500)}manageListeners(t){var e;const i=this.container,o=i.actualOptions,n=o.interactivity.detectsOn;let s=Lt;if("window"===n)i.interactivity.element=window,s=It;else if("parent"===n&&i.canvas.element){const t=i.canvas.element;i.interactivity.element=null!==(e=t.parentElement)&&void 0!==e?e:t.parentNode}else i.interactivity.element=i.canvas.element;const a=!k()&&"undefined"!=typeof matchMedia&&matchMedia("(prefers-color-scheme: dark)");a&&(void 0!==a.addEventListener?Jt(a,"change",this.themeChangeHandler,t):void 0!==a.addListener&&(t?a.addListener(this.oldThemeChangeHandler):a.removeListener(this.oldThemeChangeHandler)));const r=i.interactivity.element;if(!r)return;const l=r;(o.interactivity.events.onHover.enable||o.interactivity.events.onClick.enable)&&(Jt(r,Rt,this.mouseMoveHandler,t),Jt(r,Mt,this.touchStartHandler,t),Jt(r,zt,this.touchMoveHandler,t),o.interactivity.events.onClick.enable?(Jt(r,Gt,this.touchEndClickHandler,t),Jt(r,kt,this.mouseUpHandler,t),Jt(r,Ot,this.mouseDownHandler,t)):Jt(r,Gt,this.touchEndHandler,t),Jt(r,s,this.mouseLeaveHandler,t),Jt(r,Ht,this.touchCancelHandler,t)),i.canvas.element&&(i.canvas.element.style.pointerEvents=l===i.canvas.element?"initial":"none"),o.interactivity.events.resize&&("undefined"!=typeof ResizeObserver?this.resizeObserver&&!t?(i.canvas.element&&this.resizeObserver.unobserve(i.canvas.element),this.resizeObserver.disconnect(),delete this.resizeObserver):!this.resizeObserver&&t&&i.canvas.element&&(this.resizeObserver=new ResizeObserver((t=>{t.find((t=>t.target===i.canvas.element))&&this.handleWindowResize()})),this.resizeObserver.observe(i.canvas.element)):Jt(window,Dt,this.resizeHandler,t)),document&&Jt(document,jt,this.visibilityChangeHandler,t,!1)}mouseDown(){const t=this.container.interactivity;if(t){const e=t.mouse;e.clicking=!0,e.downPosition=e.position}}mouseTouchClick(t){const e=this.container,i=e.actualOptions,o=e.interactivity.mouse;o.inside=!0;let n=!1;const s=o.position;if(s&&i.interactivity.events.onClick.enable){for(const[,t]of e.plugins)if(t.clickPositionValid&&(n=t.clickPositionValid(s),n))break;n||this.doMouseTouchClick(t),o.clicking=!1}}mouseTouchFinish(){const t=this.container.interactivity;if(!t)return;const e=t.mouse;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=Lt,e.inside=!1,e.clicking=!1}mouseTouchMove(t){var e,i,o,n,s,a,r;const l=this.container,c=l.actualOptions;if(!(null===(e=l.interactivity)||void 0===e?void 0:e.element))return;let h;l.interactivity.mouse.inside=!0;const d=l.canvas.element;if(t.type.startsWith("mouse")){this.canPush=!0;const e=t;if(l.interactivity.element===window){if(d){const t=d.getBoundingClientRect();h={x:e.clientX-t.left,y:e.clientY-t.top}}}else if("parent"===c.interactivity.detectsOn){const t=e.target,n=e.currentTarget,s=l.canvas.element;if(t&&n&&s){const i=t.getBoundingClientRect(),o=n.getBoundingClientRect(),a=s.getBoundingClientRect();h={x:e.offsetX+2*i.left-(o.left+a.left),y:e.offsetY+2*i.top-(o.top+a.top)}}else h={x:null!==(i=e.offsetX)&&void 0!==i?i:e.clientX,y:null!==(o=e.offsetY)&&void 0!==o?o:e.clientY}}else e.target===l.canvas.element&&(h={x:null!==(n=e.offsetX)&&void 0!==n?n:e.clientX,y:null!==(s=e.offsetY)&&void 0!==s?s:e.clientY})}else{this.canPush="touchmove"!==t.type;const e=t,i=e.touches[e.touches.length-1],o=null==d?void 0:d.getBoundingClientRect();h={x:i.clientX-(null!==(a=null==o?void 0:o.left)&&void 0!==a?a:0),y:i.clientY-(null!==(r=null==o?void 0:o.top)&&void 0!==r?r:0)}}const u=l.retina.pixelRatio;h&&(h.x*=u,h.y*=u),l.interactivity.mouse.position=h,l.interactivity.status=Rt}}class te{constructor(t){this.container=t}async nextFrame(t){var e;try{const i=this.container;if(void 0!==i.lastFrameTime&&t<i.lastFrameTime+1e3/i.fpsLimit)return void i.draw(!1);null!==(e=i.lastFrameTime)&&void 0!==e||(i.lastFrameTime=t);const o=t-i.lastFrameTime,n={value:o,factor:60*o/1e3};if(i.lifeTime+=n.value,i.lastFrameTime=t,o>1e3)return void i.draw(!1);if(await i.particles.draw(n),i.duration>0&&i.lifeTime>i.duration)return void i.destroy();i.getAnimationStatus()&&i.draw(!1)}catch(t){console.error("tsParticles error in animation loop",t)}}}class ee{constructor(){this.value=""}static create(t,e){const i=new ee;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class ie{constructor(){this.color=new ee,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(t){t&&(void 0!==t.color&&(this.color=ee.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 oe{constructor(){this.color=new ee,this.color.value="#fff",this.opacity=1}load(t){t&&(void 0!==t.color&&(this.color=ee.create(this.color,t.color)),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ne{constructor(){this.composite="destination-out",this.cover=new oe,this.enable=!1}load(t){if(t){if(void 0!==t.composite&&(this.composite=t.composite),void 0!==t.cover){const e=t.cover,i="string"==typeof t.cover?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class se{constructor(){this.enable=!0,this.zIndex=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.zIndex&&(this.zIndex=t.zIndex))}}class ae{constructor(){this.enable=!1,this.mode=[]}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}class re{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type="circle"}get el(){return this.elementId}set el(t){this.elementId=t}get elementId(){return this.ids}set elementId(t){this.ids=t}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){var e,i;if(!t)return;const o=null!==(i=null!==(e=t.ids)&&void 0!==e?e:t.elementId)&&void 0!==i?i:t.el;void 0!==o&&(this.ids=o),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 le{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(t){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 ce{constructor(){this.enable=!1,this.mode=[],this.parallax=new le}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.parallax.load(t.parallax))}}class he{constructor(){this.onClick=new ae,this.onDiv=new re,this.onHover=new ce,this.resize=!0}get onclick(){return this.onClick}set onclick(t){this.onClick=t}get ondiv(){return this.onDiv}set ondiv(t){this.onDiv=t}get onhover(){return this.onHover}set onhover(t){this.onHover=t}load(t){var e,i,o;if(!t)return;this.onClick.load(null!==(e=t.onClick)&&void 0!==e?e:t.onclick);const n=null!==(i=t.onDiv)&&void 0!==i?i:t.ondiv;void 0!==n&&(n instanceof Array?this.onDiv=n.map((t=>{const e=new re;return e.load(t),e})):(this.onDiv=new re,this.onDiv.load(n))),this.onHover.load(null!==(o=t.onHover)&&void 0!==o?o:t.onhover),void 0!==t.resize&&(this.resize=t.resize)}}class de{constructor(){this.factor=3,this.radius=200}load(t){t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}var ue,pe,ve=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},fe=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class we{constructor(t,e){ue.set(this,void 0),pe.set(this,void 0),ve(this,pe,t,"f"),ve(this,ue,e,"f"),this.slow=new de}load(t){if(t&&(this.slow.load(t.slow),fe(this,ue,"f"))){const e=fe(this,pe,"f").plugins.interactors.get(fe(this,ue,"f"));if(e)for(const i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}}ue=new WeakMap,pe=new WeakMap;var ye,ge,me=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};class be{constructor(t,e){ye.set(this,void 0),ge.set(this,void 0),me(this,ge,t,"f"),me(this,ye,e,"f"),this.detectsOn="window",this.events=new he,this.modes=new we(t,e)}get detect_on(){return this.detectsOn}set detect_on(t){this.detectsOn=t}load(t){var e;if(!t)return;const i=null!==(e=t.detectsOn)&&void 0!==e?e:t.detect_on;void 0!==i&&(this.detectsOn=i),this.events.load(t.events),this.modes.load(t.modes)}}ye=new WeakMap,ge=new WeakMap;class Se{load(t){var e,i;t&&(void 0!==t.position&&(this.position={x:null!==(e=t.position.x)&&void 0!==e?e:50,y:null!==(i=t.position.y)&&void 0!==i?i:50}),void 0!==t.options&&(this.options=N({},t.options)))}}class Pe{constructor(){this.factor=4,this.value=!0}load(t){t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.value&&(this.value=t.value))}}class _e{constructor(){this.disable=!1,this.reduce=new Pe}load(t){t&&(void 0!==t.disable&&(this.disable=t.disable),this.reduce.load(t.reduce))}}class xe{constructor(){this.maxWidth=1/0,this.options={},this.mode="canvas"}load(t){t&&(void 0!==t.maxWidth&&(this.maxWidth=t.maxWidth),void 0!==t.mode&&("screen"===t.mode?this.mode="screen":this.mode="canvas"),void 0!==t.options&&(this.options=N({},t.options)))}}class Ce{constructor(){this.auto=!1,this.mode="any",this.value=!1}load(t){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 Ae{constructor(){this.name="",this.default=new Ce}load(t){t&&(void 0!==t.name&&(this.name=t.name),this.default.load(t.default),void 0!==t.options&&(this.options=N({},t.options)))}}class Ee{constructor(){this.count=0,this.enable=!1,this.offset=0,this.speed=1,this.decay=0,this.sync=!0}load(t){t&&(void 0!==t.count&&(this.count=w(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(this.offset=w(t.offset)),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class Te{constructor(){this.h=new Ee,this.s=new Ee,this.l=new Ee}load(t){t&&(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class Ve extends ee{constructor(){super(),this.animation=new Te}static create(t,e){const i=new Ve;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),!t)return;const e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}class Ge{constructor(){this.enable=!0,this.retries=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.retries&&(this.retries=t.retries))}}class Oe{constructor(){this.enable=!1,this.minimumValue=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue))}}class ke{constructor(){this.random=new Oe,this.value=0}load(t){t&&("boolean"==typeof t.random?this.random.enable=t.random:this.random.load(t.random),void 0!==t.value&&(this.value=w(t.value,this.random.enable?this.random.minimumValue:void 0)))}}class Re extends ke{constructor(){super(),this.random.minimumValue=.1,this.value=1}}class Me{constructor(){this.horizontal=new Re,this.vertical=new Re}load(t){t&&(this.horizontal.load(t.horizontal),this.vertical.load(t.vertical))}}class ze{constructor(){this.bounce=new Me,this.enable=!1,this.mode="bounce",this.overlap=new Ge}load(t){t&&(this.bounce.load(t.bounce),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.overlap.load(t.overlap))}}class Le extends ke{constructor(){super(),this.value=3}}class Ie extends ke{constructor(){super(),this.value={min:4,max:9}}}class He{constructor(){this.count=1,this.factor=new Le,this.rate=new Ie,this.sizeOffset=!0}load(t){t&&(void 0!==t.count&&(this.count=t.count),this.factor.load(t.factor),this.rate.load(t.rate),void 0!==t.particles&&(t.particles instanceof Array?this.particles=t.particles.map((t=>N({},t))):this.particles=N({},t.particles)),void 0!==t.sizeOffset&&(this.sizeOffset=t.sizeOffset))}}class De{constructor(){this.mode="none",this.split=new He}load(t){t&&(void 0!==t.mode&&(this.mode=t.mode),this.split.load(t.split))}}class je{constructor(){this.offset=0,this.value=90}load(t){t&&(void 0!==t.offset&&(this.offset=w(t.offset)),void 0!==t.value&&(this.value=w(t.value)))}}class Fe{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}get rotateX(){return this.rotate.x}set rotateX(t){this.rotate.x=t}get rotateY(){return this.rotate.y}set rotateY(t){this.rotate.y=t}load(t){var e,i,o,n;if(!t)return;void 0!==t.distance&&(this.distance=w(t.distance)),void 0!==t.enable&&(this.enable=t.enable);const s=null!==(i=null===(e=t.rotate)||void 0===e?void 0:e.x)&&void 0!==i?i:t.rotateX;void 0!==s&&(this.rotate.x=s);const a=null!==(n=null===(o=t.rotate)||void 0===o?void 0:o.y)&&void 0!==n?n:t.rotateY;void 0!==a&&(this.rotate.y=a)}}class Ne{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(t){t&&(void 0!==t.acceleration&&(this.acceleration=w(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.inverse&&(this.inverse=t.inverse),void 0!==t.maxSpeed&&(this.maxSpeed=w(t.maxSpeed)))}}class Be extends ke{constructor(){super()}}class qe{constructor(){this.clamp=!0,this.delay=new Be,this.enable=!1,this.options={}}load(t){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=N(this.options,t.options)))}}class Ue{constructor(){this.enable=!1,this.length=10,this.fillColor=new ee,this.fillColor.value="#000000"}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),this.fillColor=ee.create(this.fillColor,t.fillColor),void 0!==t.length&&(this.length=t.length))}}class We{constructor(){this.default="out"}load(t){var e,i,o,n;t&&(void 0!==t.default&&(this.default=t.default),this.bottom=null!==(e=t.bottom)&&void 0!==e?e:t.default,this.left=null!==(i=t.left)&&void 0!==i?i:t.default,this.right=null!==(o=t.right)&&void 0!==o?o:t.default,this.top=null!==(n=t.top)&&void 0!==n?n:t.default)}}class Qe{constructor(){this.acceleration=0,this.enable=!1}load(t){t&&(void 0!==t.acceleration&&(this.acceleration=w(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),this.position=t.position?N({},t.position):void 0)}}class $e{constructor(){this.angle=new je,this.attract=new Fe,this.center={x:50,y:50,radius:0},this.decay=0,this.distance={},this.direction="none",this.drift=0,this.enable=!1,this.gravity=new Ne,this.path=new qe,this.outModes=new We,this.random=!1,this.size=!1,this.speed=2,this.spin=new Qe,this.straight=!1,this.trail=new Ue,this.vibrate=!1,this.warp=!1}get bounce(){return this.collisions}set bounce(t){this.collisions=t}get collisions(){return!1}set collisions(t){}get noise(){return this.path}set noise(t){this.path=t}get outMode(){return this.outModes.default}set outMode(t){this.outModes.default=t}get out_mode(){return this.outMode}set out_mode(t){this.outMode=t}load(t){var e,i,o;if(!t)return;void 0!==t.angle&&("number"==typeof t.angle?this.angle.value=t.angle:this.angle.load(t.angle)),this.attract.load(t.attract),this.center=N(this.center,t.center),void 0!==t.decay&&(this.decay=t.decay),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.distance&&(this.distance="number"==typeof t.distance?{horizontal:t.distance,vertical:t.distance}:N({},t.distance)),void 0!==t.drift&&(this.drift=w(t.drift)),void 0!==t.enable&&(this.enable=t.enable),this.gravity.load(t.gravity);const n=null!==(e=t.outMode)&&void 0!==e?e:t.out_mode;void 0===t.outModes&&void 0===n||("string"==typeof t.outModes||void 0===t.outModes&&void 0!==n?this.outModes.load({default:null!==(i=t.outModes)&&void 0!==i?i:n}):this.outModes.load(t.outModes)),this.path.load(null!==(o=t.path)&&void 0!==o?o:t.noise),void 0!==t.random&&(this.random=t.random),void 0!==t.size&&(this.size=t.size),void 0!==t.speed&&(this.speed=w(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 Ze{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.sync=!1}load(t){t&&(void 0!==t.count&&(this.count=w(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class Xe extends Ze{constructor(){super(),this.destroy="none",this.enable=!1,this.speed=2,this.startValue="random",this.sync=!1}get opacity_min(){return this.minimumValue}set opacity_min(t){this.minimumValue=t}load(t){var e;t&&(super.load(t),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.enable&&(this.enable=t.enable),this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.opacity_min,void 0!==t.speed&&(this.speed=t.speed),void 0!==t.startValue&&(this.startValue=t.startValue),void 0!==t.sync&&(this.sync=t.sync))}}class Ye extends ke{constructor(){super(),this.animation=new Xe,this.random.minimumValue=.1,this.value=1}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(!t)return;super.load(t);const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;void 0!==i&&(this.animation.load(i),this.value=w(this.value,this.animation.enable?this.animation.minimumValue:void 0))}}class Je{constructor(){this.enable=!1,this.area=800,this.factor=1e3}get value_area(){return this.area}set value_area(t){this.area=t}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.area)&&void 0!==e?e:t.value_area;void 0!==i&&(this.area=i),void 0!==t.factor&&(this.factor=t.factor)}}class Ke{constructor(){this.density=new Je,this.limit=0,this.value=100}get max(){return this.limit}set max(t){this.limit=t}load(t){var e;if(!t)return;this.density.load(t.density);const i=null!==(e=t.limit)&&void 0!==e?e:t.max;void 0!==i&&(this.limit=i),void 0!==t.value&&(this.value=t.value)}}class ti{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class ei extends ke{constructor(){super(),this.animation=new ti,this.direction="clockwise",this.path=!1,this.value=0}load(t){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))}}class ii{constructor(){this.blur=0,this.color=new ee,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(t){t&&(void 0!==t.blur&&(this.blur=t.blur),this.color=ee.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 oi{constructor(){this.options={},this.type="circle"}get character(){var t;return null!==(t=this.options.character)&&void 0!==t?t:this.options.char}set character(t){this.options.character=t,this.options.char=t}get custom(){return this.options}set custom(t){this.options=t}get image(){var t;return null!==(t=this.options.image)&&void 0!==t?t:this.options.images}set image(t){this.options.image=t,this.options.images=t}get images(){return this.image}set images(t){this.image=t}get polygon(){var t;return null!==(t=this.options.polygon)&&void 0!==t?t:this.options.star}set polygon(t){this.options.polygon=t,this.options.star=t}get stroke(){return[]}set stroke(t){}load(t){var e,i,o;if(!t)return;const n=null!==(e=t.options)&&void 0!==e?e:t.custom;if(void 0!==n)for(const t in n){const e=n[t];e&&(this.options[t]=N(null!==(i=this.options[t])&&void 0!==i?i:{},e))}this.loadShape(t.character,"character","char",!0),this.loadShape(t.polygon,"polygon","star",!1),this.loadShape(null!==(o=t.image)&&void 0!==o?o:t.images,"image","images",!0),void 0!==t.type&&(this.type=t.type)}loadShape(t,e,i,o){var n,s;if(!t)return;const a=t instanceof Array?[]:{},r=t instanceof Array!=this.options[e]instanceof Array,l=t instanceof Array!=this.options[i]instanceof Array;r&&(this.options[e]=a),l&&o&&(this.options[i]=a),this.options[e]=N(null!==(n=this.options[e])&&void 0!==n?n:a,t),this.options[i]&&!o||(this.options[i]=N(null!==(s=this.options[i])&&void 0!==s?s:a,t))}}class ni extends Ze{constructor(){super(),this.destroy="none",this.enable=!1,this.speed=5,this.startValue="random",this.sync=!1}get size_min(){return this.minimumValue}set size_min(t){this.minimumValue=t}load(t){var e;super.load(t),t&&(void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.enable&&(this.enable=t.enable),this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.size_min,void 0!==t.speed&&(this.speed=t.speed),void 0!==t.startValue&&(this.startValue=t.startValue),void 0!==t.sync&&(this.sync=t.sync))}}class si extends ke{constructor(){super(),this.animation=new ni,this.random.minimumValue=1,this.value=3}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(super.load(t),!t)return;const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;void 0!==i&&(this.animation.load(i),this.value=w(this.value,this.animation.enable?this.animation.minimumValue:void 0))}}class ai{constructor(){this.width=0}load(t){t&&(void 0!==t.color&&(this.color=Ve.create(this.color,t.color)),void 0!==t.width&&(this.width=t.width),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ri extends ke{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(t){super.load(t),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))}}var li,ci,hi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},di=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class ui{constructor(t,e){li.set(this,void 0),ci.set(this,void 0),hi(this,ci,t,"f"),hi(this,li,e,"f"),this.bounce=new Me,this.collisions=new ze,this.color=new Ve,this.color.value="#fff",this.destroy=new De,this.groups={},this.move=new $e,this.number=new Ke,this.opacity=new Ye,this.reduceDuplicates=!1,this.rotate=new ei,this.shadow=new ii,this.shape=new oi,this.size=new si,this.stroke=new ai,this.zIndex=new ri}load(t){var e,i,o,n,s,a;if(!t)return;if(this.bounce.load(t.bounce),this.color.load(Ve.create(this.color,t.color)),this.destroy.load(t.destroy),void 0!==t.groups)for(const i in t.groups){const o=t.groups[i];void 0!==o&&(this.groups[i]=N(null!==(e=this.groups[i])&&void 0!==e?e:{},o))}this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates),this.rotate.load(t.rotate),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow),this.zIndex.load(t.zIndex);const r=null!==(o=null===(i=t.move)||void 0===i?void 0:i.collisions)&&void 0!==o?o:null===(n=t.move)||void 0===n?void 0:n.bounce;void 0!==r&&(this.collisions.enable=r),this.collisions.load(t.collisions),void 0!==t.interactivity&&(this.interactivity=N({},t.interactivity));const l=null!==(s=t.stroke)&&void 0!==s?s:null===(a=t.shape)||void 0===a?void 0:a.stroke;if(l&&(l instanceof Array?this.stroke=l.map((t=>{const e=new ai;return e.load(t),e})):(this.stroke instanceof Array&&(this.stroke=new ai),this.stroke.load(l))),di(this,li,"f")){const e=di(this,ci,"f").plugins.updaters.get(di(this,li,"f"));if(e)for(const i of e)i.loadOptions&&i.loadOptions(this,t);const i=di(this,ci,"f").plugins.interactors.get(di(this,li,"f"));if(i)for(const e of i)e.loadParticlesOptions&&e.loadParticlesOptions(this,t)}}}function pi(t,...e){for(const i of e)t.load(i)}function vi(t,e,...i){const o=new ui(t,e);return pi(o,...i),o}li=new WeakMap,ci=new WeakMap;var fi,wi,yi,gi,mi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},bi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Si{constructor(t,e){fi.add(this),wi.set(this,void 0),yi.set(this,void 0),mi(this,yi,t,"f"),mi(this,wi,e,"f"),this.autoPlay=!0,this.background=new ie,this.backgroundMask=new ne,this.fullScreen=new se,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new be(t,e),this.manualParticles=[],this.motion=new _e,this.particles=vi(bi(this,yi,"f"),bi(this,wi,"f")),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.style={},this.themes=[],this.zLayers=100}get backgroundMode(){return this.fullScreen}set backgroundMode(t){this.fullScreen.load(t)}get fps_limit(){return this.fpsLimit}set fps_limit(t){this.fpsLimit=t}get retina_detect(){return this.detectRetina}set retina_detect(t){this.detectRetina=t}load(t){var e,i,o,n,s;if(!t)return;if(void 0!==t.preset)if(t.preset instanceof Array)for(const e of t.preset)this.importPreset(e);else this.importPreset(t.preset);void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay);const a=null!==(e=t.detectRetina)&&void 0!==e?e:t.retina_detect;void 0!==a&&(this.detectRetina=a),void 0!==t.duration&&(this.duration=t.duration);const r=null!==(i=t.fpsLimit)&&void 0!==i?i:t.fps_limit;void 0!==r&&(this.fpsLimit=r),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);const l=null!==(o=t.fullScreen)&&void 0!==o?o:t.backgroundMode;"boolean"==typeof l?this.fullScreen.enable=l:this.fullScreen.load(l),this.backgroundMask.load(t.backgroundMask),this.interactivity.load(t.interactivity),void 0!==t.manualParticles&&(this.manualParticles=t.manualParticles.map((t=>{const e=new Se;return e.load(t),e}))),this.motion.load(t.motion),this.particles.load(t.particles),this.style=N(this.style,t.style),bi(this,yi,"f").plugins.loadOptions(this,t);const c=bi(this,yi,"f").plugins.interactors.get(bi(this,wi,"f"));if(c)for(const e of c)e.loadOptions&&e.loadOptions(this,t);if(void 0!==t.responsive)for(const e of t.responsive){const t=new xe;t.load(e),this.responsive.push(t)}if(this.responsive.sort(((t,e)=>t.maxWidth-e.maxWidth)),void 0!==t.themes)for(const e of t.themes){const t=new Ae;t.load(e),this.themes.push(t)}this.defaultDarkTheme=null===(n=bi(this,fi,"m",gi).call(this,"dark"))||void 0===n?void 0:n.name,this.defaultLightTheme=null===(s=bi(this,fi,"m",gi).call(this,"light"))||void 0===s?void 0:s.name}setResponsive(t,e,i){this.load(i);const o=this.responsive.find((i=>"screen"===i.mode&&screen?i.maxWidth>screen.availWidth:i.maxWidth*e>t));return this.load(null==o?void 0:o.options),null==o?void 0:o.maxWidth}setTheme(t){if(t){const e=this.themes.find((e=>e.name===t));e&&this.load(e.options)}else{const t="undefined"!=typeof matchMedia&&matchMedia("(prefers-color-scheme: dark)"),e=t&&t.matches,i=bi(this,fi,"m",gi).call(this,e?"dark":"light");i&&this.load(i.options)}}importPreset(t){this.load(bi(this,yi,"f").plugins.getPreset(t))}}wi=new WeakMap,yi=new WeakMap,fi=new WeakSet,gi=function(t){var e;return null!==(e=this.themes.find((e=>e.default.value&&e.default.mode===t)))&&void 0!==e?e:this.themes.find((t=>t.default.value&&"any"===t.default.mode))};var Pi,_i,xi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Ci=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ai{constructor(t,e){this.container=e,Pi.set(this,void 0),_i.set(this,void 0),xi(this,Pi,t,"f"),xi(this,_i,Ci(this,Pi,"f").plugins.getInteractors(this.container,!0),"f"),this.externalInteractors=[],this.particleInteractors=[]}async externalInteract(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.interact(t)}handleClickMode(t){for(const e of this.externalInteractors)e.handleClickMode&&e.handleClickMode(t)}init(){this.externalInteractors=[],this.particleInteractors=[];for(const t of Ci(this,_i,"f")){switch(t.type){case 0:this.externalInteractors.push(t);break;case 1:this.particleInteractors.push(t)}t.init()}}async particlesInteract(t,e){for(const e of this.externalInteractors)e.clear(t);for(const i of this.particleInteractors)i.isEnabled(t)&&await i.interact(t,e)}async reset(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.reset(t);for(const e of this.particleInteractors)e.isEnabled(t)&&await e.reset(t)}}Pi=new WeakMap,_i=new WeakMap;class Ei extends a{constructor(t,e,i){if(super(t,e),"number"!=typeof t&&t)this.z=t.z;else{if(void 0===i)throw new Error("tsParticles - Vector not initialized correctly");this.z=i}}static get origin(){return Ei.create(0,0,0)}static clone(t){return Ei.create(t.x,t.y,t.z)}static create(t,e,i){return new Ei(t,e,i)}add(t){return t instanceof Ei?Ei.create(this.x+t.x,this.y+t.y,this.z+t.z):super.add(t)}addTo(t){super.addTo(t),t instanceof Ei&&(this.z+=t.z)}copy(){return Ei.clone(this)}div(t){return Ei.create(this.x/t,this.y/t,this.z/t)}divTo(t){super.divTo(t),this.z/=t}mult(t){return Ei.create(this.x*t,this.y*t,this.z*t)}multTo(t){super.multTo(t),this.z*=t}setTo(t){super.setTo(t);const e=t;void 0!==e.z&&(this.z=e.z)}sub(t){return t instanceof Ei?Ei.create(this.x-t.x,this.y-t.y,this.z-t.z):super.sub(t)}subFrom(t){super.subFrom(t),t instanceof Ei&&(this.z-=t.z)}}var Ti,Vi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Gi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};const Oi=t=>{(z(t.outMode,t.checkModes)||z(t.outMode,t.checkModes))&&(t.coord>t.maxCoord-2*t.radius?t.setCb(-t.radius):t.coord<2*t.radius&&t.setCb(t.radius))};class ki{constructor(t,e,i,o,n,s){var r,l,d,w,g,m,S,P,_;this.id=e,this.container=i,this.group=s,Ti.set(this,void 0),Vi(this,Ti,t,"f"),this.fill=!0,this.close=!0,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.splitCount=0,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType="normal",this.ignoresResizeRatio=!0;const x=i.retina.pixelRatio,C=i.actualOptions,A=vi(Gi(this,Ti,"f"),i,C.particles),E=A.shape.type,T=A.reduceDuplicates;if(this.shape=E instanceof Array?H(E,this.id,T):E,null==n?void 0:n.shape){if(n.shape.type){const t=n.shape.type;this.shape=t instanceof Array?H(t,this.id,T):t}const t=new oi;t.load(n.shape),this.shape&&(this.shapeData=this.loadShapeData(t,T))}else this.shapeData=this.loadShapeData(A.shape,T);A.load(n),A.load(null===(r=this.shapeData)||void 0===r?void 0:r.particles),this.interactivity=new be(t,i),this.interactivity.load(i.actualOptions.interactivity),this.interactivity.load(A.interactivity),this.fill=null!==(d=null===(l=this.shapeData)||void 0===l?void 0:l.fill)&&void 0!==d?d:this.fill,this.close=null!==(g=null===(w=this.shapeData)||void 0===w?void 0:w.close)&&void 0!==g?g:this.close,this.options=A;const V=this.options.move.path;this.pathDelay=1e3*y(V.delay),V.generator&&(this.pathGenerator=Gi(this,Ti,"f").plugins.getPathGenerator(V.generator),this.pathGenerator&&i.addPath(V.generator,this.pathGenerator)&&this.pathGenerator.init(i));const G=p(this.options.zIndex.value);i.retina.initParticle(this);const O=this.options.size,k=O.value,R=O.animation;if(this.size={enable:O.animation.enable,value:p(O.value)*i.retina.pixelRatio,max:f(k)*x,min:v(k)*x,loops:0,maxLoops:p(O.animation.count)},R.enable){switch(this.size.status=0,this.size.decay=1-p(R.decay),R.startValue){case"min":this.size.value=this.size.min,this.size.status=0;break;case"random":this.size.value=u(this.size)*x,this.size.status=c()>=.5?0:1;break;default:this.size.value=this.size.max,this.size.status=1}this.size.velocity=(null!==(m=this.retina.sizeAnimationSpeed)&&void 0!==m?m:i.retina.sizeAnimationSpeed)/100*i.retina.reduceFactor,R.sync||(this.size.velocity*=c())}this.bubble={inRange:!1},this.position=this.calcPosition(i,o,h(G,0,i.zLayers)),this.initialPosition=this.position.copy();const M=i.canvas.size,z=this.options.move.center;switch(this.moveCenter={x:M.width*z.x/100,y:M.height*z.y/100,radius:this.options.move.center.radius},this.direction=b(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case"inside":this.outType="inside";break;case"outside":this.outType="outside"}this.initialVelocity=this.calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-p(this.options.move.decay),this.offset=a.origin;const L=i.particles;L.needsSort=L.needsSort||L.lastZIndex<this.position.z,L.lastZIndex=this.position.z,this.zIndexFactor=this.position.z/i.zLayers,this.sides=24;let I=i.drawers.get(this.shape);I||(I=Gi(this,Ti,"f").plugins.getShapeDrawer(this.shape),I&&i.drawers.set(this.shape,I)),(null==I?void 0:I.loadShape)&&(null==I||I.loadShape(this));const D=null==I?void 0:I.getSidesCount;D&&(this.sides=D(this)),this.spawning=!1,this.shadowColor=et(this.options.shadow.color);for(const t of i.particles.updaters)null===(S=t.init)||void 0===S||S.call(t,this);for(const t of i.particles.movers)null===(P=t.init)||void 0===P||P.call(t,this);(null==I?void 0:I.particleInit)&&I.particleInit(i,this);for(const[,t]of i.plugins)null===(_=t.particleCreated)||void 0===_||_.call(t,this)}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1;for(const[,e]of this.container.plugins)e.particleDestroyed&&e.particleDestroyed(this,t);if(t)return;"split"===this.options.destroy.mode&&this.split()}draw(t){const e=this.container;for(const[,i]of e.plugins)e.canvas.drawParticlePlugin(i,this,t);e.canvas.drawParticle(this,t)}getFillColor(){var t,e;const i=null!==(t=this.bubble.color)&&void 0!==t?t:wt(this.color);if(i&&this.roll&&(this.backColor||this.roll.alter)){const t=this.roll.horizontal&&this.roll.vertical?2:1,o=this.roll.horizontal?Math.PI/2:0;if(Math.floor(((null!==(e=this.roll.angle)&&void 0!==e?e:0)+o)/(Math.PI/t))%2){if(this.backColor)return this.backColor;if(this.roll.alter)return Tt(i,this.roll.alter.type,this.roll.alter.value)}}return i}getMass(){return this.getRadius()**2*Math.PI/2}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){var t;return null!==(t=this.bubble.radius)&&void 0!==t?t:this.size.value}getStrokeColor(){var t,e;return null!==(e=null!==(t=this.bubble.color)&&void 0!==t?t:wt(this.strokeColor))&&void 0!==e?e:this.getFillColor()}isInsideCanvas(){const t=this.getRadius(),e=this.container.canvas.size;return this.position.x>=-t&&this.position.y>=-t&&this.position.y<=e.height+t&&this.position.x<=e.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){this.opacity&&(this.opacity.loops=0),this.size.loops=0}calcPosition(t,e,i,o=0){var n,s,a,r;for(const[,o]of t.plugins){const t=void 0!==o.particlePosition?o.particlePosition(e,this):void 0;if(void 0!==t)return Ei.create(t.x,t.y,i)}const l=E({size:t.canvas.size,position:e}),c=Ei.create(l.x,l.y,i),h=this.getRadius(),d=this.options.move.outModes,u=e=>{Oi({outMode:e,checkModes:["bounce","bounce-horizontal"],coord:c.x,maxCoord:t.canvas.size.width,setCb:t=>c.x+=t,radius:h})},p=e=>{Oi({outMode:e,checkModes:["bounce","bounce-vertical"],coord:c.y,maxCoord:t.canvas.size.height,setCb:t=>c.y+=t,radius:h})};return u(null!==(n=d.left)&&void 0!==n?n:d.default),u(null!==(s=d.right)&&void 0!==s?s:d.default),p(null!==(a=d.top)&&void 0!==a?a:d.default),p(null!==(r=d.bottom)&&void 0!==r?r:d.default),this.checkOverlap(c,o)?this.calcPosition(t,void 0,i,o+1):c}calculateVelocity(){const t=S(this.direction).copy(),e=this.options.move;if("inside"===e.direction||"outside"===e.direction)return t;const i=Math.PI/180*p(e.angle.value),o=Math.PI/180*p(e.angle.offset),n={left:o-i/2,right:o+i/2};return e.straight||(t.angle+=u(w(n.left,n.right))),e.random&&"number"==typeof e.speed&&(t.length*=c()),t}checkOverlap(t,e=0){const i=this.options.collisions,o=this.getRadius();if(!i.enable)return!1;const n=i.overlap;if(n.enable)return!1;const s=n.retries;if(s>=0&&e>s)throw new Error("Particle is overlapping and can't be placed");let a=!1;for(const e of this.container.particles.array)if(m(t,e.position)<o+e.getRadius()){a=!0;break}return a}loadShapeData(t,e){const i=t.options[this.shape];if(i)return N({},i instanceof Array?H(i,this.id,e):i)}split(){const t=this.options.destroy.split;if(t.count>=0&&this.splitCount++>t.count)return;const e=y(t.rate),i=t.particles instanceof Array?H(t.particles):t.particles;for(let t=0;t<e;t++)this.container.particles.addSplitParticle(this,i)}}Ti=new WeakMap;class Ri{constructor(t,e){this.position=t,this.particle=e}}class Mi{constructor(t,e){this.position={x:t,y:e}}}class zi extends Mi{constructor(t,e,i){super(t,e),this.radius=i}contains(t){return m(t,this.position)<=this.radius}intersects(t){const e=t,i=t,o=this.position,n=t.position,s=Math.abs(n.x-o.x),a=Math.abs(n.y-o.y),r=this.radius;if(void 0!==i.radius){return r+i.radius>Math.sqrt(s*s+a+a)}if(void 0!==e.size){const t=e.size.width,i=e.size.height,o=Math.pow(s-t,2)+Math.pow(a-i,2);return!(s>r+t||a>r+i)&&(s<=t||a<=i||o<=r*r)}return!1}}class Li extends Mi{constructor(t,e,i,o){super(t,e),this.size={height:o,width:i}}contains(t){const e=this.size.width,i=this.size.height,o=this.position;return t.x>=o.x&&t.x<=o.x+e&&t.y>=o.y&&t.y<=o.y+i}intersects(t){const e=t,i=t,o=this.size.width,n=this.size.height,s=this.position,a=t.position;if(void 0!==i.radius)return i.intersects(this);if(!e.size)return!1;const r=e.size,l=r.width,c=r.height;return a.x<s.x+o&&a.x+l>s.x&&a.y<s.y+n&&a.y+c>s.y}}class Ii extends zi{constructor(t,e,i,o){super(t,e,i),this.canvasSize=o,this.canvasSize=Object.assign({},o)}contains(t){if(super.contains(t))return!0;const e={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(e))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const o={x:t.x,y:t.y-this.canvasSize.height};return super.contains(o)}intersects(t){if(super.intersects(t))return!0;const e=t,i=t,o={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new zi(o.x,o.y,2*i.radius);return super.intersects(t)}if(void 0!==e.size){const t=new Li(o.x,o.y,2*e.size.width,2*e.size.height);return super.intersects(t)}return!1}}class Hi{constructor(t,e){this.rectangle=t,this.capacity=e,this.points=[],this.divided=!1}insert(t){var e,i,o,n,s;return!!this.rectangle.contains(t.position)&&(this.points.length<this.capacity?(this.points.push(t),!0):(this.divided||this.subdivide(),null!==(s=(null===(e=this.northEast)||void 0===e?void 0:e.insert(t))||(null===(i=this.northWest)||void 0===i?void 0:i.insert(t))||(null===(o=this.southEast)||void 0===o?void 0:o.insert(t))||(null===(n=this.southWest)||void 0===n?void 0:n.insert(t)))&&void 0!==s&&s))}query(t,e,i){var o,n,s,a;const r=null!=i?i:[];if(!t.intersects(this.rectangle))return[];for(const i of this.points)!t.contains(i.position)&&m(t.position,i.position)>i.particle.getRadius()&&(!e||e(i.particle))||r.push(i.particle);return this.divided&&(null===(o=this.northEast)||void 0===o||o.query(t,e,r),null===(n=this.northWest)||void 0===n||n.query(t,e,r),null===(s=this.southEast)||void 0===s||s.query(t,e,r),null===(a=this.southWest)||void 0===a||a.query(t,e,r)),r}queryCircle(t,e,i){return this.query(new zi(t.x,t.y,e),i)}queryCircleWarp(t,e,i,o){const n=i,s=i;return this.query(new Ii(t.x,t.y,e,void 0!==n.canvas?n.canvas.size:s),o)}queryRectangle(t,e,i){return this.query(new Li(t.x,t.y,e.width,e.height),i)}subdivide(){const t=this.rectangle.position.x,e=this.rectangle.position.y,i=this.rectangle.size.width,o=this.rectangle.size.height,n=this.capacity;this.northEast=new Hi(new Li(t,e,i/2,o/2),n),this.northWest=new Hi(new Li(t+i/2,e,i/2,o/2),n),this.southEast=new Hi(new Li(t,e+o/2,i/2,o/2),n),this.southWest=new Hi(new Li(t+i/2,e+o/2,i/2,o/2),n),this.divided=!0}}var Di,ji=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Fi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ni{constructor(t,e){this.container=e,Di.set(this,void 0),ji(this,Di,t,"f"),this.nextId=0,this.array=[],this.zArray=[],this.limit=0,this.needsSort=!1,this.lastZIndex=0,this.freqs={links:new Map,triangles:new Map},this.interactionManager=new Ai(Fi(this,Di,"f"),e);const i=this.container.canvas.size;this.quadTree=new Hi(new Li(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4),this.movers=Fi(this,Di,"f").plugins.getMovers(e,!0),this.updaters=Fi(this,Di,"f").plugins.getUpdaters(e,!0)}get count(){return this.array.length}addManualParticles(){const t=this.container,e=t.actualOptions;for(const i of e.manualParticles)this.addParticle(x({size:t.canvas.size,position:i.position}),i.options)}addParticle(t,e,i){const o=this.container.actualOptions.particles.number.limit;if(o>0){const t=this.count+1-o;t>0&&this.removeQuantity(t)}return this.pushParticle(t,e,i)}addSplitParticle(t,e){const i=t.options.destroy.split,o=vi(Fi(this,Di,"f"),this.container,t.options),n=y(i.factor);o.color.load({value:{hsl:t.getFillColor()}}),"number"==typeof o.size.value?o.size.value/=n:(o.size.value.min/=n,o.size.value.max/=n),o.load(e);const s=i.sizeOffset?w(-t.size.value,t.size.value):0,a={x:t.position.x+u(s),y:t.position.y+u(s)};return this.pushParticle(a,o,t.group,(e=>!(e.size.value<.5)&&(e.velocity.length=u(w(t.velocity.length,e.velocity.length)),e.splitCount=t.splitCount+1,e.unbreakable=!0,setTimeout((()=>{e.unbreakable=!1}),500),!0)))}clear(){this.array=[],this.zArray=[]}destroy(){this.array=[],this.zArray=[],this.movers=[],this.updaters=[]}async draw(t){const e=this.container,i=this.container.canvas.size;this.quadTree=new Hi(new Li(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4),e.canvas.clear(),await this.update(t),this.needsSort&&(this.zArray.sort(((t,e)=>e.position.z-t.position.z||t.id-e.id)),this.lastZIndex=this.zArray[this.zArray.length-1].position.z,this.needsSort=!1);for(const[,i]of e.plugins)e.canvas.drawPlugin(i,t);for(const e of this.zArray)e.draw(t)}getLinkFrequency(t,e){const i=w(t.id,e.id),o=`${v(i)}_${f(i)}`;let n=this.freqs.links.get(o);return void 0===n&&(n=c(),this.freqs.links.set(o,n)),n}getTriangleFrequency(t,e,i){let[o,n,s]=[t.id,e.id,i.id];o>n&&([n,o]=[o,n]),n>s&&([s,n]=[n,s]),o>s&&([s,o]=[o,s]);const a=`${o}_${n}_${s}`;let r=this.freqs.triangles.get(a);return void 0===r&&(r=c(),this.freqs.triangles.set(a,r)),r}handleClickMode(t){this.interactionManager.handleClickMode(t)}init(){var t;const e=this.container,i=e.actualOptions;this.lastZIndex=0,this.needsSort=!1,this.freqs.links=new Map,this.freqs.triangles=new Map;let o=!1;this.updaters=Fi(this,Di,"f").plugins.getUpdaters(e,!0),this.interactionManager.init();for(const[,t]of e.plugins)if(void 0!==t.particlesInitialization&&(o=t.particlesInitialization()),o)break;this.interactionManager.init();for(const[,t]of e.pathGenerators)t.init(e);if(this.addManualParticles(),!o){for(const e in i.particles.groups){const o=i.particles.groups[e];for(let n=this.count,s=0;s<(null===(t=o.number)||void 0===t?void 0:t.value)&&n<i.particles.number.value;n++,s++)this.addParticle(void 0,o,e)}for(let t=this.count;t<i.particles.number.value;t++)this.addParticle()}}push(t,e,i,o){this.pushing=!0;for(let n=0;n<t;n++)this.addParticle(null==e?void 0:e.position,i,o);this.pushing=!1}async redraw(){this.clear(),this.init(),await 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,o){if(!(t>=0&&t<=this.count))return;let n=0;for(let s=t;n<e&&s<this.count;s++){const t=this.array[s];if(!t||t.group!==i)continue;t.destroy(o),this.array.splice(s--,1);const e=this.zArray.indexOf(t);this.zArray.splice(e,1),n++,Fi(this,Di,"f").dispatchEvent("particleRemoved",{container:this.container,data:{particle:t}})}}removeQuantity(t,e){this.removeAt(0,t,e)}setDensity(){const t=this.container.actualOptions;for(const e in t.particles.groups)this.applyDensity(t.particles.groups[e],0,e);this.applyDensity(t.particles,t.manualParticles.length)}async update(t){var e,i;const o=this.container,n=[];for(const[,t]of o.pathGenerators)t.update();for(const[,i]of o.plugins)null===(e=i.update)||void 0===e||e.call(i,t);for(const e of this.array){const s=o.canvas.resizeFactor;s&&!e.ignoresResizeRatio&&(e.position.x*=s.width,e.position.y*=s.height),e.ignoresResizeRatio=!1,await this.interactionManager.reset(e);for(const[,o]of this.container.plugins){if(e.destroyed)break;null===(i=o.particleUpdate)||void 0===i||i.call(o,e,t)}for(const i of this.movers)i.isEnabled(e)&&i.move(e,t);e.destroyed?n.push(e):this.quadTree.insert(new Ri(e.getPosition(),e))}for(const t of n)this.remove(t);await this.interactionManager.externalInteract(t);for(const e of o.particles.array){for(const i of this.updaters)i.update(e,t);e.destroyed||e.spawning||await this.interactionManager.particlesInteract(e,t)}delete o.canvas.resizeFactor}applyDensity(t,e,i){var o;if(!(null===(o=t.number.density)||void 0===o?void 0:o.enable))return;const n=t.number,s=this.initDensityFactor(n.density),a=n.value,r=n.limit>0?n.limit:a,l=Math.min(a,r)*s+e,c=Math.min(this.count,this.array.filter((t=>t.group===i)).length);this.limit=n.limit*s,c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)}initDensityFactor(t){const e=this.container;if(!e.canvas.element||!t.enable)return 1;const i=e.canvas.element,o=e.retina.pixelRatio;return i.width*i.height/(t.factor*o**2*t.area)}pushParticle(t,e,i,o){try{const n=new ki(Fi(this,Di,"f"),this.nextId,this.container,t,e,i);let s=!0;if(o&&(s=o(n)),!s)return;return this.array.push(n),this.zArray.push(n),this.nextId++,Fi(this,Di,"f").dispatchEvent("particleAdded",{container:this.container,data:{particle:n}}),n}catch(t){return void console.warn(`error adding particle: ${t}`)}}}Di=new WeakMap;class Bi{constructor(t){this.container=t}init(){const t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||k()?1:window.devicePixelRatio;const i=this.container.actualOptions.motion;if(i&&(i.disable||i.reduce.value))if(k()||"undefined"==typeof matchMedia||!matchMedia)this.reduceFactor=1;else{const e=matchMedia("(prefers-reduced-motion: reduce)");if(e){this.handleMotionChange(e);const i=()=>{this.handleMotionChange(e),t.refresh().catch((()=>{}))};void 0!==e.addEventListener?e.addEventListener("change",i):void 0!==e.addListener&&e.addListener(i)}}else this.reduceFactor=1;const o=this.pixelRatio;if(t.canvas.element){const e=t.canvas.element;t.canvas.size.width=e.offsetWidth*o,t.canvas.size.height=e.offsetHeight*o}const n=e.particles;this.attractDistance=p(n.move.attract.distance)*o,this.sizeAnimationSpeed=p(n.size.animation.speed)*o,this.maxSpeed=p(n.move.gravity.maxSpeed)*o;const s=e.interactivity.modes;this.slowModeRadius=s.slow.radius*o}initParticle(t){const e=t.options,i=this.pixelRatio,o=e.move.distance,n=t.retina;n.attractDistance=p(e.move.attract.distance)*i,n.moveDrift=p(e.move.drift)*i,n.moveSpeed=p(e.move.speed)*i,n.sizeAnimationSpeed=p(e.size.animation.speed)*i;const s=n.maxDistance;s.horizontal=void 0!==o.horizontal?o.horizontal*i:void 0,s.vertical=void 0!==o.vertical?o.vertical*i:void 0,n.maxSpeed=p(e.move.gravity.maxSpeed)*i}handleMotionChange(t){const e=this.container.actualOptions;if(t.matches){const t=e.motion;this.reduceFactor=t.disable?0:t.reduce.value?1/t.reduce.factor:1}else this.reduceFactor=1}}var qi,Ui,Wi,Qi,$i,Zi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Xi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function Yi(t){return!t.destroyed}function Ji(t,e,...i){const o=new Si(t,e);return pi(o,...i),o}const Ki={generate:t=>{const e=t.velocity.copy();return e.angle+=e.length*Math.PI/180,e},init:()=>{},update:()=>{}};class to{constructor(t,e,i){this.id=e,qi.set(this,void 0),Ui.set(this,void 0),Wi.set(this,void 0),Qi.set(this,void 0),$i.set(this,void 0),Zi(this,qi,t,"f"),this.fpsLimit=120,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,Zi(this,$i,i,"f"),this._initialSourceOptions=i,this.retina=new Bi(this),this.canvas=new Yt(this),this.particles=new Ni(Xi(this,qi,"f"),this),this.frameManager=new te(this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.drawers=new Map,Zi(this,Qi,Ji(Xi(this,qi,"f"),this),"f"),this.actualOptions=Ji(Xi(this,qi,"f"),this),Zi(this,Ui,new Kt(this),"f"),"undefined"!=typeof IntersectionObserver&&IntersectionObserver&&Zi(this,Wi,new IntersectionObserver((t=>this.intersectionManager(t))),"f"),Xi(this,qi,"f").dispatchEvent("containerBuilt",{container:this})}get options(){return Xi(this,Qi,"f")}get sourceOptions(){return Xi(this,$i,"f")}addClickHandler(t){if(!Yi(this))return;const e=this.interactivity.element;if(!e)return;const i=(e,i,o)=>{if(!Yi(this))return;const n=this.retina.pixelRatio,s={x:i.x*n,y:i.y*n},a=this.particles.quadTree.queryCircle(s,o*n);t(e,a)};let o=!1,n=!1;e.addEventListener("click",(t=>{if(!Yi(this))return;const e=t,o={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY};i(t,o,1)})),e.addEventListener("touchstart",(()=>{Yi(this)&&(o=!0,n=!1)})),e.addEventListener("touchmove",(()=>{Yi(this)&&(n=!0)})),e.addEventListener("touchend",(t=>{var e,s,a;if(Yi(this)){if(o&&!n){const o=t;let n=o.touches[o.touches.length-1];if(!n&&(n=o.changedTouches[o.changedTouches.length-1],!n))return;const r=null===(e=this.canvas.element)||void 0===e?void 0:e.getBoundingClientRect(),l={x:n.clientX-(null!==(s=null==r?void 0:r.left)&&void 0!==s?s:0),y:n.clientY-(null!==(a=null==r?void 0:r.top)&&void 0!==a?a:0)};i(t,l,Math.max(n.radiusX,n.radiusY))}o=!1,n=!1}})),e.addEventListener("touchcancel",(()=>{Yi(this)&&(o=!1,n=!1)}))}addPath(t,e,i=!1){return!(!Yi(this)||!i&&this.pathGenerators.has(t))&&(this.pathGenerators.set(t,null!=e?e:Ki),!0)}destroy(){if(!Yi(this))return;this.stop(),this.particles.destroy(),this.canvas.destroy();for(const[,t]of this.drawers)t.destroy&&t.destroy(this);for(const t of this.drawers.keys())this.drawers.delete(t);Xi(this,qi,"f").plugins.destroy(this),this.destroyed=!0;const t=Xi(this,qi,"f").dom(),e=t.findIndex((t=>t===this));e>=0&&t.splice(e,1),Xi(this,qi,"f").dispatchEvent("containerDestroyed",{container:this})}draw(t){if(!Yi(this))return;let e=t;this.drawAnimationFrame=R()((async t=>{e&&(this.lastFrameTime=void 0,e=!1),await this.frameManager.nextFrame(t)}))}exportConfiguration(){return JSON.stringify(this.actualOptions,void 0,2)}exportImage(t,e,i){var o;return null===(o=this.canvas.element)||void 0===o?void 0:o.toBlob(t,null!=e?e:"image/png",i)}exportImg(t){this.exportImage(t)}getAnimationStatus(){return!this.paused&&!this.pageHidden&&Yi(this)}handleClickMode(t){if(Yi(this)){this.particles.handleClickMode(t);for(const[,e]of this.plugins)e.handleClickMode&&e.handleClickMode(t)}}async init(){if(!Yi(this))return;const t=Xi(this,qi,"f").plugins.getSupportedShapes();for(const e of t){const t=Xi(this,qi,"f").plugins.getShapeDrawer(e);t&&this.drawers.set(e,t)}Zi(this,Qi,Ji(Xi(this,qi,"f"),this,this._initialSourceOptions,this.sourceOptions),"f"),this.actualOptions=Ji(Xi(this,qi,"f"),this,Xi(this,Qi,"f")),this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize(),this.zLayers=this.actualOptions.zLayers,this.duration=p(this.actualOptions.duration),this.lifeTime=0,this.fpsLimit=this.actualOptions.fpsLimit>0?this.actualOptions.fpsLimit:120;const e=Xi(this,qi,"f").plugins.getAvailablePlugins(this);for(const[t,i]of e)this.plugins.set(t,i);for(const[,t]of this.drawers)t.init&&await t.init(this);for(const[,t]of this.plugins)t.init?t.init(this.actualOptions):void 0!==t.initAsync&&await t.initAsync(this.actualOptions);Xi(this,qi,"f").dispatchEvent("containerInit",{container:this}),this.particles.init(),this.particles.setDensity();for(const[,t]of this.plugins)void 0!==t.particlesSetup&&t.particlesSetup();Xi(this,qi,"f").dispatchEvent("particlesSetup",{container:this})}async loadTheme(t){Yi(this)&&(this.currentTheme=t,await this.refresh())}pause(){if(Yi(this)&&(void 0!==this.drawAnimationFrame&&(M()(this.drawAnimationFrame),delete this.drawAnimationFrame),!this.paused)){for(const[,t]of this.plugins)t.pause&&t.pause();this.pageHidden||(this.paused=!0),Xi(this,qi,"f").dispatchEvent("containerPaused",{container:this})}}play(t){if(!Yi(this))return;const e=this.paused||t;if(!this.firstStart||this.actualOptions.autoPlay){if(this.paused&&(this.paused=!1),e)for(const[,t]of this.plugins)t.play&&t.play();Xi(this,qi,"f").dispatchEvent("containerPlay",{container:this}),this.draw(e||!1)}else this.firstStart=!1}async refresh(){if(Yi(this))return this.stop(),this.start()}async reset(){if(Yi(this))return Zi(this,Qi,Ji(Xi(this,qi,"f"),this),"f"),this.refresh()}setNoise(t,e,i){Yi(this)&&this.setPath(t,e,i)}setPath(t,e,i){if(!t||!Yi(this))return;const o=Object.assign({},Ki);if("function"==typeof t)o.generate=t,e&&(o.init=e),i&&(o.update=i);else{const e=o;o.generate=t.generate||e.generate,o.init=t.init||e.init,o.update=t.update||e.update}this.addPath("default",o,!0)}async start(){if(!this.started&&Yi(this)){await this.init(),this.started=!0,Xi(this,Ui,"f").addListeners(),this.interactivity.element instanceof HTMLElement&&Xi(this,Wi,"f")&&Xi(this,Wi,"f").observe(this.interactivity.element);for(const[,t]of this.plugins)void 0!==t.startAsync?await t.startAsync():void 0!==t.start&&t.start();Xi(this,qi,"f").dispatchEvent("containerStarted",{container:this}),this.play()}}stop(){var t;if(this.started&&Yi(this)){this.firstStart=!0,this.started=!1,Xi(this,Ui,"f").removeListeners(),this.pause(),this.particles.clear(),this.canvas.clear(),this.interactivity.element instanceof HTMLElement&&Xi(this,Wi,"f")&&Xi(this,Wi,"f").unobserve(this.interactivity.element);for(const[,e]of this.plugins)null===(t=e.stop)||void 0===t||t.call(e);for(const t of this.plugins.keys())this.plugins.delete(t);Zi(this,$i,Xi(this,Qi,"f"),"f"),Xi(this,qi,"f").dispatchEvent("containerStopped",{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];const t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,Xi(this,Qi,"f"));return this.actualOptions.setTheme(this.currentTheme),this.responsiveMaxWidth!=t&&(this.responsiveMaxWidth=t,!0)}intersectionManager(t){if(this.actualOptions.pauseOnOutsideViewport)for(const e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play:this.pause)()}}qi=new WeakMap,Ui=new WeakMap,Wi=new WeakMap,Qi=new WeakMap,$i=new WeakMap;var eo,io=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},oo=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};async function no(t,e){const i=t instanceof Array?H(t,e):t;if(!i)return;const o=await fetch(i);if(o.ok)return o.json();var n;n=o.status,console.error(`tsParticles - Error ${n} while retrieving config file`)}class so{constructor(t){eo.set(this,void 0),io(this,eo,t,"f")}load(t,e,i){const o={index:i,remote:!1};return"string"==typeof t?o.tagId=t:o.options=t,"number"==typeof e?o.index=e:o.options=null!=e?e:o.options,this.loadOptions(o)}async loadJSON(t,e,i){let o,n;return"number"==typeof e||void 0===e?o=t:(n=t,o=e),this.loadRemoteOptions({tagId:n,url:o,index:i,remote:!0})}async loadOptions(t){var e,i,o;const n=null!==(e=t.tagId)&&void 0!==e?e:`tsparticles${Math.floor(1e4*c())}`,{index:s,url:a,remote:r}=t,l=r?await no(a,s):t.options;let h=null!==(i=t.element)&&void 0!==i?i:document.getElementById(n);h||(h=document.createElement("div"),h.id=n,null===(o=document.querySelector("body"))||void 0===o||o.append(h));const d=l instanceof Array?H(l,s):l,u=oo(this,eo,"f").dom(),p=u.findIndex((t=>t.id===n));if(p>=0){const t=oo(this,eo,"f").domItem(p);t&&!t.destroyed&&(t.destroy(),u.splice(p,1))}let v;if("canvas"===h.tagName.toLowerCase())v=h,v.dataset[Vt]="false";else{const t=h.getElementsByTagName("canvas");t.length?(v=t[0],v.dataset[Vt]="false"):(v=document.createElement("canvas"),v.dataset[Vt]="true",h.appendChild(v))}v.style.width||(v.style.width="100%"),v.style.height||(v.style.height="100%");const f=new to(oo(this,eo,"f"),n,d);return p>=0?u.splice(p,0,f):u.push(f),f.canvas.loadCanvas(v),await f.start(),f}async loadRemoteOptions(t){return this.loadOptions(t)}async set(t,e,i,o){const n={index:o,remote:!1};return"string"==typeof t?n.tagId=t:n.element=t,e instanceof HTMLElement?n.element=e:n.options=e,"number"==typeof i?n.index=i:n.options=null!=i?i:n.options,this.loadOptions(n)}async setJSON(t,e,i,o){let n,s,a,r;return t instanceof HTMLElement?(r=t,n=e,a=i):(s=t,r=e,n=i,a=o),this.loadRemoteOptions({tagId:s,url:n,index:a,element:r,remote:!0})}}eo=new WeakMap;var ao,ro=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};class lo{constructor(t){ao.set(this,void 0),ro(this,ao,t,"f"),this.plugins=[],this.interactorsInitializers=new Map,this.moversInitializers=new Map,this.updatersInitializers=new Map,this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.drawers=new Map,this.pathGenerators=new Map}addInteractor(t,e){this.interactorsInitializers.set(t,e)}addParticleMover(t,e){this.moversInitializers.set(t,e)}addParticleUpdater(t,e){this.updatersInitializers.set(t,e)}addPathGenerator(t,e){this.getPathGenerator(t)||this.pathGenerators.set(t,e)}addPlugin(t){this.getPlugin(t.id)||this.plugins.push(t)}addPreset(t,e,i=!1){!i&&this.getPreset(t)||this.presets.set(t,e)}addShapeDrawer(t,e){this.getShapeDrawer(t)||this.drawers.set(t,e)}destroy(t){this.updaters.delete(t),this.movers.delete(t),this.interactors.delete(t)}getAvailablePlugins(t){const e=new Map;for(const i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,i.getPlugin(t));return e}getInteractors(t,e=!1){let i=this.interactors.get(t);return i&&!e||(i=[...this.interactorsInitializers.values()].map((e=>e(t))),this.interactors.set(t,i)),i}getMovers(t,e=!1){let i=this.movers.get(t);return i&&!e||(i=[...this.moversInitializers.values()].map((e=>e(t))),this.movers.set(t,i)),i}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.drawers.get(t)}getSupportedShapes(){return this.drawers.keys()}getUpdaters(t,e=!1){let i=this.updaters.get(t);return i&&!e||(i=[...this.updatersInitializers.values()].map((e=>e(t))),this.updaters.set(t,i)),i}loadOptions(t,e){for(const i of this.plugins)i.loadOptions(t,e)}loadParticlesOptions(t,e,...i){const o=this.updaters.get(t);if(o)for(const t of o)t.loadOptions&&t.loadOptions(e,...i)}}ao=new WeakMap;var co,ho,uo,po,vo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},fo=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};co=new WeakMap,ho=new WeakMap,uo=new WeakMap,po=new WeakMap;class wo{constructor(){this.stringPrefix="hsl"}handleColor(t){var e;const i=null!==(e=t.value.hsl)&&void 0!==e?e:t.value;if(void 0!==i.h&&void 0!==i.l)return lt(i)}handleRangeColor(t){var e;const i=null!==(e=t.value.hsl)&&void 0!==e?e:t.value;if(void 0!==i.h&&void 0!==i.l)return lt({h:p(i.h),l:p(i.l),s:p(i.s)})}parseString(t){if(!t.startsWith("hsl"))return;const e=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i.exec(t);return e?ct({a:e.length>4?V(e[5]):1,h:parseInt(e[1],10),l:parseInt(e[3],10),s:parseInt(e[2],10)}):void 0}}class yo{constructor(){this.stringPrefix="rgb"}handleColor(t){var e;const i=null!==(e=t.value.rgb)&&void 0!==e?e:t.value;if(void 0!==i.r)return i}handleRangeColor(t){var e;const i=null!==(e=t.value.rgb)&&void 0!==e?e:t.value;if(void 0!==i.r)return{r:p(i.r),g:p(i.g),b:p(i.b)}}parseString(t){if(!t.startsWith(this.stringPrefix))return;const e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i.exec(t);return e?{a:e.length>4?V(e[5]):1,b:parseInt(e[3],10),g:parseInt(e[2],10),r:parseInt(e[1],10)}:void 0}}class go{constructor(t){this.container=t,this.type=0}}class mo{constructor(t){this.container=t,this.type=1}}const bo=new yo,So=new wo;J("rgb",bo),J("hsl",So);const Po=new class{constructor(){co.set(this,void 0),ho.set(this,void 0),uo.set(this,void 0),po.set(this,void 0),vo(this,co,[],"f"),vo(this,ho,new s,"f"),vo(this,uo,!1,"f"),vo(this,po,new so(this),"f"),this.plugins=new lo(this)}addEventListener(t,e){fo(this,ho,"f").addEventListener(t,e)}async addInteractor(t,e){this.plugins.addInteractor(t,e),await this.refresh()}async addMover(t,e){this.plugins.addParticleMover(t,e),await this.refresh()}async addParticleUpdater(t,e){this.plugins.addParticleUpdater(t,e),await this.refresh()}async addPathGenerator(t,e){this.plugins.addPathGenerator(t,e),await this.refresh()}async addPlugin(t){this.plugins.addPlugin(t),await this.refresh()}async addPreset(t,e,i=!1){this.plugins.addPreset(t,e,i),await this.refresh()}async addShape(t,e,i,o,n){let s;s="function"==typeof e?{afterEffect:o,destroy:n,draw:e,init:i}:e,this.plugins.addShapeDrawer(t,s),await this.refresh()}dispatchEvent(t,e){fo(this,ho,"f").dispatchEvent(t,e)}dom(){return fo(this,co,"f")}domItem(t){const e=this.dom(),i=e[t];if(i&&!i.destroyed)return i;e.splice(t,1)}init(){fo(this,uo,"f")||vo(this,uo,!0,"f")}async load(t,e){return fo(this,po,"f").load(t,e)}async loadFromArray(t,e,i){return fo(this,po,"f").load(t,e,i)}async loadJSON(t,e,i){return fo(this,po,"f").loadJSON(t,e,i)}async refresh(){for(const t of this.dom())await t.refresh()}removeEventListener(t,e){fo(this,ho,"f").removeEventListener(t,e)}async set(t,e,i){return fo(this,po,"f").set(t,e,i)}async setJSON(t,e,i,o){return fo(this,po,"f").setJSON(t,e,i,o)}setOnClickHandler(t){const e=this.dom();if(!e.length)throw new Error("Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()");for(const i of e)i.addClickHandler(t)}};Po.init();class _o{constructor(){this.radius=0,this.mass=0}load(t){t&&(void 0!==t.mass&&(this.mass=t.mass),void 0!==t.radius&&(this.radius=t.radius))}}class xo extends ke{constructor(){super(),this.density=5,this.value=50,this.limit=new _o}load(t){t&&(super.load(t),void 0!==t.density&&(this.density=t.density),"number"==typeof t.limit?this.limit.radius=t.limit:this.limit.load(t.limit))}}class Co{constructor(){this.color=new ee,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.size=new xo}load(t){void 0!==t&&(void 0!==t.color&&(this.color=ee.create(this.color,t.color)),void 0!==t.draggable&&(this.draggable=t.draggable),this.name=t.name,void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=w(t.position.x)),void 0!==t.position.y&&(this.position.y=w(t.position.y))),void 0!==t.size&&this.size.load(t.size),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.orbits&&(this.orbits=t.orbits))}}class Ao{constructor(t,e,i,o){var n,s,r;this.absorbers=t,this.container=e,this.initialPosition=o?a.create(o.x,o.y):void 0,i instanceof Co?this.options=i:(this.options=new Co,this.options.load(i)),this.dragging=!1,this.name=this.options.name,this.opacity=this.options.opacity,this.size=p(this.options.size.value)*e.retina.pixelRatio,this.mass=this.size*this.options.size.density*e.retina.reduceFactor;const l=this.options.size.limit;this.limit={radius:l.radius*e.retina.pixelRatio*e.retina.reduceFactor,mass:l.mass},this.color=null!==(n=et(this.options.color))&&void 0!==n?n:{b:0,g:0,r:0},this.position=null!==(r=null===(s=this.initialPosition)||void 0===s?void 0:s.copy())&&void 0!==r?r:this.calcPosition()}attract(t){const e=this.container,i=this.options;if(i.draggable){const t=e.interactivity.mouse;if(t.clicking&&t.downPosition){m(this.position,t.downPosition)<=this.size&&(this.dragging=!0)}else this.dragging=!1;this.dragging&&t.position&&(this.position.x=t.position.x,this.position.y=t.position.y)}const o=t.getPosition(),{dx:n,dy:s,distance:r}=g(this.position,o),l=a.create(n,s);if(l.length=this.mass/Math.pow(r,2)*e.retina.reduceFactor,r<this.size+t.getRadius()){const o=.033*t.getRadius()*e.retina.pixelRatio;this.size>t.getRadius()&&r<this.size-t.getRadius()||void 0!==t.absorberOrbit&&t.absorberOrbit.length<0?i.destroy?t.destroy():(t.needsNewPosition=!0,this.updateParticlePosition(t,l)):(i.destroy&&(t.size.value-=o),this.updateParticlePosition(t,l)),(this.limit.radius<=0||this.size<this.limit.radius)&&(this.size+=o),(this.limit.mass<=0||this.mass<this.limit.mass)&&(this.mass+=o*this.options.size.density*e.retina.reduceFactor)}else this.updateParticlePosition(t,l)}draw(t){t.translate(this.position.x,this.position.y),t.beginPath(),t.arc(0,0,this.size,0,2*Math.PI,!1),t.closePath(),t.fillStyle=dt(this.color,this.opacity),t.fill()}resize(){const t=this.initialPosition;this.position=t&&D(t,this.container.canvas.size,a.origin)?t:this.calcPosition()}calcPosition(){const t=A({size:this.container.canvas.size,position:this.options.position});return a.create(t.x,t.y)}updateParticlePosition(t,e){var i;if(t.destroyed)return;const o=this.container,n=o.canvas.size;if(t.needsNewPosition){const e=C({size:n});t.position.setTo(e),t.velocity.setTo(t.initialVelocity),t.absorberOrbit=void 0,t.needsNewPosition=!1}if(this.options.orbits){if(void 0===t.absorberOrbit&&(t.absorberOrbit=a.create(0,0),t.absorberOrbit.length=m(t.getPosition(),this.position),t.absorberOrbit.angle=c()*Math.PI*2),t.absorberOrbit.length<=this.size&&!this.options.destroy){const e=Math.min(n.width,n.height);t.absorberOrbit.length=e*(.2*c()-.1+1)}void 0===t.absorberOrbitDirection&&(t.absorberOrbitDirection=t.velocity.x>=0?"clockwise":"counter-clockwise");const s=t.absorberOrbit.length,r=t.absorberOrbit.angle,l=t.absorberOrbitDirection;t.velocity.setTo(a.origin);const h={x:"clockwise"===l?Math.cos:Math.sin,y:"clockwise"===l?Math.sin:Math.cos};t.position.x=this.position.x+s*h.x(r),t.position.y=this.position.y+s*h.y(r),t.absorberOrbit.length-=e.length,t.absorberOrbit.angle+=(null!==(i=t.retina.moveSpeed)&&void 0!==i?i:0)*o.retina.pixelRatio/100*o.retina.reduceFactor}else{const i=a.origin;i.length=e.length,i.angle=e.angle,t.velocity.addTo(i)}}}class Eo{constructor(t){this.container=t,this.array=[],this.absorbers=[],this.interactivityAbsorbers=[],t.getAbsorber=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((e=>e.name===t)),t.addAbsorber=(t,e)=>this.addAbsorber(t,e)}addAbsorber(t,e){const i=new Ao(this,this.container,t,e);return this.array.push(i),i}draw(t){for(const e of this.array)t.save(),e.draw(t),t.restore()}handleClickMode(t){const e=this.absorbers,i=this.interactivityAbsorbers;if("absorber"===t){let t;i instanceof Array?i.length>0&&(t=H(i)):t=i;const o=null!=t?t:e instanceof Array?H(e):e,n=this.container.interactivity.mouse.clickPosition;this.addAbsorber(o,n)}}init(t){var e,i;if(!t)return;t.absorbers&&(t.absorbers instanceof Array?this.absorbers=t.absorbers.map((t=>{const e=new Co;return e.load(t),e})):(this.absorbers instanceof Array&&(this.absorbers=new Co),this.absorbers.load(t.absorbers)));const o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.modes)||void 0===i?void 0:i.absorbers;if(o&&(o instanceof Array?this.interactivityAbsorbers=o.map((t=>{const e=new Co;return e.load(t),e})):(this.interactivityAbsorbers instanceof Array&&(this.interactivityAbsorbers=new Co),this.interactivityAbsorbers.load(o))),this.absorbers instanceof Array)for(const t of this.absorbers)this.addAbsorber(t);else this.addAbsorber(this.absorbers)}particleUpdate(t){for(const e of this.array)if(e.attract(t),t.destroyed)break}removeAbsorber(t){const e=this.array.indexOf(t);e>=0&&this.array.splice(e,1)}resize(){for(const t of this.array)t.resize()}stop(){this.array=[]}}class To{constructor(){this.id="absorbers"}getPlugin(t){return new Eo(t)}loadOptions(t,e){var i,o;if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;const n=t;if(null==e?void 0:e.absorbers)if((null==e?void 0:e.absorbers)instanceof Array)n.absorbers=null==e?void 0:e.absorbers.map((t=>{const e=new Co;return e.load(t),e}));else{let t=n.absorbers;void 0===(null==t?void 0:t.load)&&(n.absorbers=t=new Co),t.load(null==e?void 0:e.absorbers)}const s=null===(o=null===(i=null==e?void 0:e.interactivity)||void 0===i?void 0:i.modes)||void 0===o?void 0:o.absorbers;if(s)if(s instanceof Array)n.interactivity.modes.absorbers=s.map((t=>{const e=new Co;return e.load(t),e}));else{let t=n.interactivity.modes.absorbers;void 0===(null==t?void 0:t.load)&&(n.interactivity.modes.absorbers=t=new Co),t.load(s)}}needsPlugin(t){var e,i,o;if(!t)return!1;const n=t.absorbers;return n instanceof Array?!!n.length:!!n||!(!(null===(o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.events)||void 0===i?void 0:i.onClick)||void 0===o?void 0:o.mode)||!z("absorber",t.interactivity.events.onClick.mode))}}class Vo{randomPosition(t,e,i){const[o,n]=[e.width/2,e.height/2],s=((t,e)=>{const i=c()/4,o=Math.atan(e/t*Math.tan(2*Math.PI*i)),n=c();return n<.25?o:n<.5?Math.PI-o:n<.75?Math.PI+o:-o})(o,n),a=(d=s,(l=o)*(h=n)/Math.sqrt((h*Math.cos(d))**2+(l*Math.sin(d))**2)),r=i?a*Math.sqrt(c()):a;var l,h,d;return{x:t.x+r*Math.cos(s),y:t.y+r*Math.sin(s)}}}class Go{constructor(){this.wait=!1}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=t.delay),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.wait&&(this.wait=t.wait))}}class Oo{constructor(){this.quantity=1,this.delay=.1}load(t){void 0!==t&&(void 0!==t.quantity&&(this.quantity=w(t.quantity)),void 0!==t.delay&&(this.delay=w(t.delay)))}}class ko{constructor(){this.mode="percent",this.height=0,this.width=0}load(t){void 0!==t&&(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}class Ro{constructor(){this.autoPlay=!0,this.fill=!0,this.life=new Go,this.rate=new Oo,this.shape="square",this.startCount=0}load(t){void 0!==t&&(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(void 0===this.size&&(this.size=new ko),this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,void 0!==t.particles&&(t.particles instanceof Array?this.particles=t.particles.map((t=>N({},t))):this.particles=N({},t.particles)),this.rate.load(t.rate),void 0!==t.shape&&(this.shape=t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=w(t.position.x)),void 0!==t.position.y&&(this.position.y=w(t.position.y))),void 0!==t.spawnColor&&(void 0===this.spawnColor&&(this.spawnColor=new Ve),this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}var Mo,zo,Lo,Io=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Ho=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Do{constructor(t,e,i,o,n){var s,a,r,l,c,h,d,u;this.emitters=e,this.container=i,Mo.set(this,void 0),zo.set(this,void 0),Lo.set(this,void 0),Io(this,Mo,t,"f"),this.currentDuration=0,this.currentEmitDelay=0,this.currentSpawnDelay=0,this.initialPosition=n,o instanceof Ro?this.options=o:(this.options=new Ro,this.options.load(o)),this.spawnDelay=1e3*(null!==(s=this.options.life.delay)&&void 0!==s?s:0)/this.container.retina.reduceFactor,this.position=null!==(a=this.initialPosition)&&void 0!==a?a:this.calcPosition(),this.name=this.options.name,this.shape=null===(r=Ho(this,Mo,"f").emitterShapeManager)||void 0===r?void 0:r.getShape(this.options.shape),this.fill=this.options.fill,Io(this,zo,!this.options.life.wait,"f"),Io(this,Lo,!1,"f");let p=N({},this.options.particles);null!=p||(p={}),null!==(l=p.move)&&void 0!==l||(p.move={}),null!==(c=(u=p.move).direction)&&void 0!==c||(u.direction=this.options.direction),this.options.spawnColor&&(this.spawnColor=nt(this.options.spawnColor)),this.paused=!this.options.autoPlay,this.particlesOptions=p,this.size=null!==(h=this.options.size)&&void 0!==h?h:(()=>{const t=new ko;return t.load({height:0,mode:"percent",width:0}),t})(),this.lifeCount=null!==(d=this.options.life.count)&&void 0!==d?d:-1,this.immortal=this.lifeCount<=0,Ho(this,Mo,"f").dispatchEvent("emitterCreated",{container:i,data:{emitter:this}}),this.play()}externalPause(){this.paused=!0,this.pause()}externalPlay(){this.paused=!1,this.play()}getPosition(){if(this.options.domId){const t=this.container,e=document.getElementById(this.options.domId);if(e){const i=e.getBoundingClientRect();return{x:(i.x+i.width/2)*t.retina.pixelRatio,y:(i.y+i.height/2)*t.retina.pixelRatio}}}return this.position}getSize(){const t=this.container;if(this.options.domId){const e=document.getElementById(this.options.domId);if(e){const i=e.getBoundingClientRect();return{width:i.width*t.retina.pixelRatio,height:i.height*t.retina.pixelRatio}}}return{width:"percent"===this.size.mode?t.canvas.size.width*this.size.width/100:this.size.width,height:"percent"===this.size.mode?t.canvas.size.height*this.size.height/100:this.size.height}}pause(){this.paused||delete this.emitDelay}play(){var t;if(!this.paused&&this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal||!this.options.life.count)&&(Ho(this,zo,"f")||this.currentSpawnDelay>=(null!==(t=this.spawnDelay)&&void 0!==t?t:0))){if(void 0===this.emitDelay){const t=p(this.options.rate.delay);this.emitDelay=1e3*t/this.container.retina.reduceFactor}(this.lifeCount>0||this.immortal)&&this.prepareToDie()}}resize(){const t=this.initialPosition;this.position=t&&D(t,this.container.canvas.size,a.origin)?t:this.calcPosition()}update(t){var e,i,o;this.paused||(Ho(this,zo,"f")&&(Io(this,zo,!1,"f"),this.currentSpawnDelay=null!==(e=this.spawnDelay)&&void 0!==e?e:0,this.currentEmitDelay=null!==(i=this.emitDelay)&&void 0!==i?i:0),Ho(this,Lo,"f")||(Io(this,Lo,!0,"f"),this.emitParticles(this.options.startCount)),void 0!==this.duration&&(this.currentDuration+=t.value,this.currentDuration>=this.duration&&(this.pause(),void 0!==this.spawnDelay&&delete this.spawnDelay,this.immortal||this.lifeCount--,this.lifeCount>0||this.immortal?(this.position=this.calcPosition(),this.spawnDelay=1e3*(null!==(o=this.options.life.delay)&&void 0!==o?o:0)/this.container.retina.reduceFactor):this.destroy(),this.currentDuration-=this.duration,delete this.duration)),void 0!==this.spawnDelay&&(this.currentSpawnDelay+=t.value,this.currentSpawnDelay>=this.spawnDelay&&(Ho(this,Mo,"f").dispatchEvent("emitterPlay",{container:this.container}),this.play(),this.currentSpawnDelay-=this.currentSpawnDelay,delete this.spawnDelay)),void 0!==this.emitDelay&&(this.currentEmitDelay+=t.value,this.currentEmitDelay>=this.emitDelay&&(this.emit(),this.currentEmitDelay-=this.emitDelay)))}calcPosition(){return A({size:this.container.canvas.size,position:this.options.position})}destroy(){this.emitters.removeEmitter(this),Ho(this,Mo,"f").dispatchEvent("emitterDestroyed",{container:this.container,data:{emitter:this}})}emit(){if(this.paused)return;const t=p(this.options.rate.quantity);this.emitParticles(t)}emitParticles(t){var e,i,o;const n=this.getPosition(),s=this.getSize(),a=this.particlesOptions instanceof Array?H(this.particlesOptions):this.particlesOptions;for(let r=0;r<t;r++){const t=N({},a);if(this.spawnColor){const i=null===(e=this.options.spawnColor)||void 0===e?void 0:e.animation;i&&(this.spawnColor.h=this.setColorAnimation(i.h,this.spawnColor.h,360),this.spawnColor.s=this.setColorAnimation(i.s,this.spawnColor.s,100),this.spawnColor.l=this.setColorAnimation(i.l,this.spawnColor.l,100)),t.color?t.color.value=this.spawnColor:t.color={value:this.spawnColor}}if(!n)return;const r=null!==(o=null===(i=this.shape)||void 0===i?void 0:i.randomPosition(n,s,this.fill))&&void 0!==o?o:n;this.container.particles.addParticle(r,t)}}prepareToDie(){var t;if(this.paused)return;const e=null===(t=this.options.life)||void 0===t?void 0:t.duration;this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal)&&void 0!==e&&e>0&&(this.duration=1e3*e)}setColorAnimation(t,e,i){var o;const n=this.container;if(!t.enable)return e;const s=u(t.offset),a=1e3*p(this.options.rate.delay)/n.retina.reduceFactor;return(e+p(null!==(o=t.speed)&&void 0!==o?o:0)*n.fpsLimit/a+3.6*s)%i}}Mo=new WeakMap,zo=new WeakMap,Lo=new WeakMap;var jo,Fo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},No=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Bo{constructor(t,e){this.container=e,jo.set(this,void 0),Fo(this,jo,t,"f"),this.array=[],this.emitters=[],this.interactivityEmitters={random:{count:1,enable:!1},value:[]},e.getEmitter=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((e=>e.name===t)),e.addEmitter=(t,e)=>this.addEmitter(t,e),e.removeEmitter=t=>{const i=e.getEmitter(t);i&&this.removeEmitter(i)},e.playEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPlay()},e.pauseEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPause()}}addEmitter(t,e){const i=new Ro;i.load(t);const o=new Do(No(this,jo,"f"),this,this.container,i,e);return this.array.push(o),o}handleClickMode(t){const e=this.emitters,i=this.interactivityEmitters;if("emitter"===t){let t;if(i&&i.value instanceof Array)if(i.value.length>0&&i.random.enable){t=[];const e=[];for(let o=0;o<i.random.count;o++){const n=I(i.value);e.includes(n)&&e.length<i.value.length?o--:(e.push(n),t.push(H(i.value,n)))}}else t=i.value;else t=null==i?void 0:i.value;const o=null!=t?t:e,n=this.container.interactivity.mouse.clickPosition;if(o instanceof Array)for(const t of o)this.addEmitter(t,n);else this.addEmitter(N({},o),n)}}init(t){var e,i,o,n,s,a,r,l;if(!t)return;t.emitters&&(t.emitters instanceof Array?this.emitters=t.emitters.map((t=>{const e=new Ro;return e.load(t),e})):(this.emitters instanceof Array&&(this.emitters=new Ro),this.emitters.load(t.emitters)));const c=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.modes)||void 0===i?void 0:i.emitters;if(c)if(c instanceof Array)this.interactivityEmitters={random:{count:1,enable:!0},value:c.map((t=>{const e=new Ro;return e.load(t),e}))};else{const t=c;if(void 0!==t.value)if(t.value instanceof Array)this.interactivityEmitters={random:{count:null!==(o=this.interactivityEmitters.random.count)&&void 0!==o?o:1,enable:null!==(n=this.interactivityEmitters.random.enable)&&void 0!==n&&n},value:t.value.map((t=>{const e=new Ro;return e.load(t),e}))};else{const e=new Ro;e.load(t.value),this.interactivityEmitters={random:{count:null!==(s=this.interactivityEmitters.random.count)&&void 0!==s?s:1,enable:null!==(a=this.interactivityEmitters.random.enable)&&void 0!==a&&a},value:e}}else{const t=new Ro;t.load(c),this.interactivityEmitters={random:{count:null!==(r=this.interactivityEmitters.random.count)&&void 0!==r?r:1,enable:null!==(l=this.interactivityEmitters.random.enable)&&void 0!==l&&l},value:t}}}if(this.emitters instanceof Array)for(const t of this.emitters)this.addEmitter(t);else this.addEmitter(this.emitters)}pause(){for(const t of this.array)t.pause()}play(){for(const t of this.array)t.play()}removeEmitter(t){const e=this.array.indexOf(t);e>=0&&this.array.splice(e,1)}resize(){for(const t of this.array)t.resize()}stop(){this.array=[]}update(t){for(const e of this.array)e.update(t)}}jo=new WeakMap;var qo,Uo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};const Wo=new Map;class Qo{constructor(t){qo.set(this,void 0),Uo(this,qo,t,"f")}addShape(t,e){this.getShape(t)||Wo.set(t,e)}getShape(t){return Wo.get(t)}getSupportedShapes(){return Wo.keys()}}function $o(t,e){return t+e*(c()-.5)}qo=new WeakMap;class Zo{randomPosition(t,e,i){if(i)return{x:$o(t.x,e.width),y:$o(t.y,e.height)};{const i=e.width/2,o=e.height/2,n=Math.floor(4*c()),s=2*(c()-.5);switch(n){case 0:return{x:t.x+s*i,y:t.y-o};case 1:return{x:t.x-i,y:t.y+s*o};case 2:return{x:t.x+s*i,y:t.y+o};default:return{x:t.x+i,y:t.y+s*o}}}}}var Xo,Yo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Jo=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ko{constructor(t){Xo.set(this,void 0),Yo(this,Xo,t,"f"),this.id="emitters"}getPlugin(t){return new Bo(Jo(this,Xo,"f"),t)}loadOptions(t,e){var i,o,n,s,a,r;if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;const l=t;if(null==e?void 0:e.emitters)if((null==e?void 0:e.emitters)instanceof Array)l.emitters=null==e?void 0:e.emitters.map((t=>{const e=new Ro;return e.load(t),e}));else{let t=l.emitters;void 0===(null==t?void 0:t.load)&&(l.emitters=t=new Ro),t.load(null==e?void 0:e.emitters)}const c=null===(o=null===(i=null==e?void 0:e.interactivity)||void 0===i?void 0:i.modes)||void 0===o?void 0:o.emitters;if(c)if(c instanceof Array)l.interactivity.modes.emitters={random:{count:1,enable:!0},value:c.map((t=>{const e=new Ro;return e.load(t),e}))};else{const t=c;if(void 0!==t.value)if(t.value instanceof Array)l.interactivity.modes.emitters={random:{count:null!==(n=t.random.count)&&void 0!==n?n:1,enable:null!==(s=t.random.enable)&&void 0!==s&&s},value:t.value.map((t=>{const e=new Ro;return e.load(t),e}))};else{const e=new Ro;e.load(t.value),l.interactivity.modes.emitters={random:{count:null!==(a=t.random.count)&&void 0!==a?a:1,enable:null!==(r=t.random.enable)&&void 0!==r&&r},value:e}}else{(l.interactivity.modes.emitters={random:{count:1,enable:!1},value:new Ro}).value.load(c)}}}needsPlugin(t){var e,i,o;if(!t)return!1;const n=t.emitters;return n instanceof Array&&!!n.length||void 0!==n||!!(null===(o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.events)||void 0===i?void 0:i.onClick)||void 0===o?void 0:o.mode)&&z("emitter",t.interactivity.events.onClick.mode)}}Xo=new WeakMap;class tn{constructor(){this.delay=1,this.pauseOnStop=!1,this.quantity=1}load(t){t&&(void 0!==t.delay&&(this.delay=t.delay),void 0!==t.quantity&&(this.quantity=t.quantity),void 0!==t.particles&&(this.particles=N({},t.particles)),void 0!==t.pauseOnStop&&(this.pauseOnStop=t.pauseOnStop))}}var en,on=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},nn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class sn extends go{constructor(t){super(t),en.set(this,void 0),on(this,en,t,"f"),this.delay=0}clear(){}init(){}async interact(t){var e,i,o,n;if(!this.container.retina.reduceFactor)return;const s=nn(this,en,"f"),a=s.actualOptions.interactivity.modes.trail;if(!a)return;const r=1e3*a.delay/this.container.retina.reduceFactor;if(this.delay<r&&(this.delay+=t.value),this.delay<r)return;let l=!0;a.pauseOnStop&&(s.interactivity.mouse.position===this.lastPosition||(null===(e=s.interactivity.mouse.position)||void 0===e?void 0:e.x)===(null===(i=this.lastPosition)||void 0===i?void 0:i.x)&&(null===(o=s.interactivity.mouse.position)||void 0===o?void 0:o.y)===(null===(n=this.lastPosition)||void 0===n?void 0:n.y))&&(l=!1),s.interactivity.mouse.position?this.lastPosition={x:s.interactivity.mouse.position.x,y:s.interactivity.mouse.position.y}:delete this.lastPosition,l&&s.particles.push(a.quantity,s.interactivity.mouse,a.particles),this.delay-=r}isEnabled(t){var e;const i=this.container,o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events;return n.clicking&&n.inside&&!!n.position&&z("trail",s.onClick.mode)||n.inside&&!!n.position&&z("trail",s.onHover.mode)}loadModeOptions(t,...e){t.trail||(t.trail=new tn);for(const i of e)t.trail.load(null==i?void 0:i.trail)}reset(){}}en=new WeakMap;i(939);class an{constructor(){this.color=new ee,this.width=.5,this.opacity=1}load(t){var e;t&&(this.color=ee.create(this.color,t.color),"string"==typeof this.color.value&&(this.opacity=null!==(e=at(this.color.value))&&void 0!==e?e:this.opacity),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.width&&(this.width=t.width))}}class rn{constructor(){this.enable=!1,this.stroke=new an}get lineColor(){return this.stroke.color}set lineColor(t){this.stroke.color=ee.create(this.stroke.color,t)}get lineWidth(){return this.stroke.width}set lineWidth(t){this.stroke.width=t}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.stroke)&&void 0!==e?e:{color:t.lineColor,width:t.lineWidth};this.stroke.load(i)}}class ln{constructor(){this.arrangement="one-per-point"}load(t){t&&void 0!==t.arrangement&&(this.arrangement=t.arrangement)}}class cn{constructor(){this.path=[],this.size={height:0,width:0}}load(t){t&&(void 0!==t.path&&(this.path=t.path),void 0!==t.size&&(void 0!==t.size.width&&(this.size.width=t.size.width),void 0!==t.size.height&&(this.size.height=t.size.height)))}}class hn{constructor(){this.radius=10,this.type="path"}load(t){t&&(void 0!==t.radius&&(this.radius=t.radius),void 0!==t.type&&(this.type=t.type))}}class dn{constructor(){this.draw=new rn,this.enable=!1,this.inline=new ln,this.move=new hn,this.scale=1,this.type="none"}get inlineArrangement(){return this.inline.arrangement}set inlineArrangement(t){this.inline.arrangement=t}load(t){t&&(this.draw.load(t.draw),this.inline.load(t.inline),this.move.load(t.move),void 0!==t.scale&&(this.scale=t.scale),void 0!==t.type&&(this.type=t.type),void 0!==t.enable?this.enable=t.enable:this.enable="none"!==this.type,void 0!==t.url&&(this.url=t.url),void 0!==t.data&&("string"==typeof t.data?this.data=t.data:(this.data=new cn,this.data.load(t.data))),void 0!==t.position&&(this.position=N({},t.position)))}}function un(t,e,i){const o=et(i.color);if(o){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(const i of e)t.lineTo(i.x,i.y);t.closePath(),t.strokeStyle=dt(o),t.lineWidth=i.width,t.stroke()}}function pn(t,e,i,o){t.translate(o.x,o.y);const n=et(i.color);n&&(t.strokeStyle=dt(n,i.opacity),t.lineWidth=i.width,t.stroke(e))}function vn(t,e,i){const{dx:o,dy:n}=g(i,t),{dx:s,dy:a}=g(e,t),r=(o*s+n*a)/(s**2+a**2),l={x:t.x+s*r,y:t.x+a*r,isOnSegment:r>=0&&r<=1};return r<0?(l.x=t.x,l.y=t.y):r>1&&(l.x=e.x,l.y=e.y),l}function fn(t,e,i){const{dx:o,dy:n}=g(t,e),s=Math.atan2(n,o),r=a.create(Math.sin(s),-Math.cos(s)),l=2*(i.x*r.x+i.y*r.y);r.multTo(l),i.subFrom(r)}var wn,yn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},gn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class mn{constructor(t,e){this.container=t,wn.set(this,void 0),yn(this,wn,e,"f"),this.dimension={height:0,width:0},this.path2DSupported=!!window.Path2D,this.options=new dn,this.polygonMaskMoveRadius=this.options.move.radius*t.retina.pixelRatio}clickPositionValid(t){const e=this.options;return e.enable&&"none"!==e.type&&"inline"!==e.type&&this.checkInsidePolygon(t)}draw(t){var e;if(!(null===(e=this.paths)||void 0===e?void 0:e.length))return;const i=this.options,o=i.draw;if(!i.enable||!o.enable)return;const n=this.raw;for(const e of this.paths){const i=e.path2d,s=this.path2DSupported;t&&(s&&i&&this.offset?pn(t,i,o.stroke,this.offset):n&&un(t,n,o.stroke))}}async initAsync(t){this.options.load(null==t?void 0:t.polygon);const e=this.options;this.polygonMaskMoveRadius=e.move.radius*this.container.retina.pixelRatio,e.enable&&await this.initRawData()}particleBounce(t,e,i){return this.polygonBounce(t,e,i)}particlePosition(t){var e,i;if(this.options.enable&&(null!==(i=null===(e=this.raw)||void 0===e?void 0:e.length)&&void 0!==i?i:0)>0)return N({},t||this.randomPoint())}particlesInitialization(){const t=this.options;return!(!t.enable||"inline"!==t.type||"one-per-point"!==t.inline.arrangement&&"per-point"!==t.inline.arrangement)&&(this.drawPoints(),!0)}resize(){const t=this.container,e=this.options;e.enable&&"none"!==e.type&&(this.redrawTimeout&&clearTimeout(this.redrawTimeout),this.redrawTimeout=window.setTimeout((async()=>{await this.initRawData(!0),await t.particles.redraw()}),250))}stop(){delete this.raw,delete this.paths}checkInsidePolygon(t){var e,i;const o=this.container,n=this.options;if(!n.enable||"none"===n.type||"inline"===n.type)return!0;if(!this.raw)throw new Error(Nt);const s=o.canvas.size,a=null!==(e=null==t?void 0:t.x)&&void 0!==e?e:c()*s.width,r=null!==(i=null==t?void 0:t.y)&&void 0!==i?i:c()*s.height;let l=!1;for(let t=0,e=this.raw.length-1;t<this.raw.length;e=t++){const i=this.raw[t],o=this.raw[e];i.y>r!=o.y>r&&a<(o.x-i.x)*(r-i.y)/(o.y-i.y)+i.x&&(l=!l)}return"inside"===n.type?l:"outside"===n.type&&!l}createPath2D(){var t,e;const i=this.options;if(this.path2DSupported&&(null===(t=this.paths)||void 0===t?void 0:t.length))for(const t of this.paths){const o=null===(e=t.element)||void 0===e?void 0:e.getAttribute("d");if(o){const e=new Path2D(o),n=document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGMatrix(),s=new Path2D,a=n.scale(i.scale);s.addPath?(s.addPath(e,a),t.path2d=s):delete t.path2d}else delete t.path2d;!t.path2d&&this.raw&&(t.path2d=new Path2D,t.path2d.moveTo(this.raw[0].x,this.raw[0].y),this.raw.forEach(((e,i)=>{var o;i>0&&(null===(o=t.path2d)||void 0===o||o.lineTo(e.x,e.y))})),t.path2d.closePath())}}async downloadSvgPath(t,e){const i=this.options,o=t||i.url,n=null!=e&&e;if(!o||void 0!==this.paths&&!n)return this.raw;const s=await fetch(o);if(!s.ok)throw new Error("tsParticles Error - Error occurred during polygon mask download");return this.parseSvgPath(await s.text(),e)}drawPoints(){if(this.raw)for(const t of this.raw)this.container.particles.addParticle({x:t.x,y:t.y})}getEquidistantPointByIndex(t){var e,i,o,n,s,a,r;const l=this.container.actualOptions,c=this.options;if(!this.raw||!this.raw.length||!(null===(e=this.paths)||void 0===e?void 0:e.length))throw new Error(Ft);let h,d=0;const u=this.paths.reduce(((t,e)=>t+e.length),0)/l.particles.number.value;for(const e of this.paths){const i=u*t-d;if(i<=e.length){h=e.element.getPointAtLength(i);break}d+=e.length}return{x:(null!==(i=null==h?void 0:h.x)&&void 0!==i?i:0)*c.scale+(null!==(n=null===(o=this.offset)||void 0===o?void 0:o.x)&&void 0!==n?n:0),y:(null!==(s=null==h?void 0:h.y)&&void 0!==s?s:0)*c.scale+(null!==(r=null===(a=this.offset)||void 0===a?void 0:a.y)&&void 0!==r?r:0)}}getPointByIndex(t){if(!this.raw||!this.raw.length)throw new Error(Ft);const e=this.raw[t%this.raw.length];return{x:e.x,y:e.y}}getRandomPoint(){if(!this.raw||!this.raw.length)throw new Error(Ft);const t=H(this.raw);return{x:t.x,y:t.y}}getRandomPointByLength(){var t,e,i;const o=this.options;if(!this.raw||!this.raw.length||!(null===(t=this.paths)||void 0===t?void 0:t.length))throw new Error(Ft);const n=H(this.paths),s=Math.floor(c()*n.length)+1,a=n.element.getPointAtLength(s);return{x:a.x*o.scale+((null===(e=this.offset)||void 0===e?void 0:e.x)||0),y:a.y*o.scale+((null===(i=this.offset)||void 0===i?void 0:i.y)||0)}}async initRawData(t){const e=this.options;if(e.url)this.raw=await this.downloadSvgPath(e.url,t);else if(e.data){const i=e.data;let o;if("string"!=typeof i){const t=i.path instanceof Array?i.path.map((t=>`<path d="${t}" />`)).join(""):`<path d="${i.path}" />`;o=`<svg ${'xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"'} width="${i.size.width}" height="${i.size.height}">${t}</svg>`}else o=i;this.raw=this.parseSvgPath(o,t)}this.createPath2D(),gn(this,wn,"f").dispatchEvent("polygonMaskLoaded",{container:this.container})}parseSvgPath(t,e){var i,o,n;const s=null!=e&&e;if(void 0!==this.paths&&!s)return this.raw;const a=this.container,r=this.options,l=(new DOMParser).parseFromString(t,"image/svg+xml"),c=l.getElementsByTagName("svg")[0];let h=c.getElementsByTagName("path");h.length||(h=l.getElementsByTagName("path")),this.paths=[];for(let t=0;t<h.length;t++){const e=h.item(t);e&&this.paths.push({element:e,length:e.getTotalLength()})}const d=a.retina.pixelRatio,u=r.scale/d;this.dimension.width=parseFloat(null!==(i=c.getAttribute("width"))&&void 0!==i?i:"0")*u,this.dimension.height=parseFloat(null!==(o=c.getAttribute("height"))&&void 0!==o?o:"0")*u;const p=null!==(n=r.position)&&void 0!==n?n:{x:50,y:50};return this.offset={x:a.canvas.size.width*p.x/(100*d)-this.dimension.width/2,y:a.canvas.size.height*p.y/(100*d)-this.dimension.height/2},function(t,e,i){var o;const n=[];for(const s of t){const t=s.element.pathSegList,a=null!==(o=null==t?void 0:t.numberOfItems)&&void 0!==o?o:0,r={x:0,y:0};for(let o=0;o<a;o++){const s=null==t?void 0:t.getItem(o),a=window.SVGPathSeg;switch(null==s?void 0:s.pathSegType){case a.PATHSEG_MOVETO_ABS:case a.PATHSEG_LINETO_ABS:case a.PATHSEG_CURVETO_CUBIC_ABS:case a.PATHSEG_CURVETO_QUADRATIC_ABS:case a.PATHSEG_ARC_ABS:case a.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:case a.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:{const t=s;r.x=t.x,r.y=t.y;break}case a.PATHSEG_LINETO_HORIZONTAL_ABS:r.x=s.x;break;case a.PATHSEG_LINETO_VERTICAL_ABS:r.y=s.y;break;case a.PATHSEG_LINETO_REL:case a.PATHSEG_MOVETO_REL:case a.PATHSEG_CURVETO_CUBIC_REL:case a.PATHSEG_CURVETO_QUADRATIC_REL:case a.PATHSEG_ARC_REL:case a.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:case a.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:{const t=s;r.x+=t.x,r.y+=t.y;break}case a.PATHSEG_LINETO_HORIZONTAL_REL:r.x+=s.x;break;case a.PATHSEG_LINETO_VERTICAL_REL:r.y+=s.y;break;case a.PATHSEG_UNKNOWN:case a.PATHSEG_CLOSEPATH:continue}n.push({x:r.x*e+i.x,y:r.y*e+i.y})}}return n}(this.paths,u,this.offset)}polygonBounce(t,e,i){const o=this.options;if(!this.raw||!o.enable||"top"!==i)return!1;if("inside"===o.type||"outside"===o.type){let e,i,o;const n=t.getPosition(),s=t.getRadius();for(let a=0,r=this.raw.length-1;a<this.raw.length;r=a++){const l=this.raw[a],c=this.raw[r];e=vn(l,c,n);const h=g(n,e);if([i,o]=[h.dx,h.dy],h.distance<s)return fn(l,c,t.velocity),!0}if(e&&void 0!==i&&void 0!==o&&!this.checkInsidePolygon(n)){const i={x:1,y:1};return t.position.x>=e.x&&(i.x=-1),t.position.y>=e.y&&(i.y=-1),t.position.x=e.x+2*s*i.x,t.position.y=e.y+2*s*i.y,t.velocity.mult(-1),!0}}else if("inline"===o.type&&t.initialPosition){if(m(t.initialPosition,t.getPosition())>this.polygonMaskMoveRadius)return t.velocity.x=t.velocity.y/2-t.velocity.x,t.velocity.y=t.velocity.x/2-t.velocity.y,!0}return!1}randomPoint(){const t=this.container,e=this.options;let i;if("inline"===e.type)switch(e.inline.arrangement){case"random-point":i=this.getRandomPoint();break;case"random-length":i=this.getRandomPointByLength();break;case"equidistant":i=this.getEquidistantPointByIndex(t.particles.count);break;default:i=this.getPointByIndex(t.particles.count)}else i={x:c()*t.canvas.size.width,y:c()*t.canvas.size.height};return this.checkInsidePolygon(i)?i:this.randomPoint()}}wn=new WeakMap;var bn,Sn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Pn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class _n{constructor(t){bn.set(this,void 0),this.id="polygonMask",Sn(this,bn,t,"f")}getPlugin(t){return new mn(t,Pn(this,bn,"f"))}loadOptions(t,e){if(!this.needsPlugin(e))return;const i=t;let o=i.polygon;void 0===(null==o?void 0:o.load)&&(i.polygon=o=new dn),o.load(null==e?void 0:e.polygon)}needsPlugin(t){var e,i,o;return null!==(i=null===(e=null==t?void 0:t.polygon)||void 0===e?void 0:e.enable)&&void 0!==i?i:void 0!==(null===(o=null==t?void 0:t.polygon)||void 0===o?void 0:o.type)&&"none"!==t.polygon.type}}bn=new WeakMap;class xn{constructor(){this.enable=!1,this.value=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.value&&(this.value=w(t.value)))}}class Cn{constructor(){this.darken=new xn,this.enable=!1,this.enlighten=new xn,this.mode="vertical",this.speed=25}load(t){t&&(void 0!==t.backColor&&(this.backColor=ee.create(this.backColor,t.backColor)),this.darken.load(t.darken),void 0!==t.enable&&(this.enable=t.enable),this.enlighten.load(t.enlighten),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.speed&&(this.speed=w(t.speed)))}}class An{getTransformValues(t){var e;const i=(null===(e=t.roll)||void 0===e?void 0:e.enable)&&t.roll,o=i&&i.horizontal,n=i&&i.vertical;return{a:o?Math.cos(i.angle):void 0,d:n?Math.sin(i.angle):void 0}}init(t){const e=t.options.roll;if(null==e?void 0:e.enable)if(t.roll={enable:e.enable,horizontal:"horizontal"===e.mode||"both"===e.mode,vertical:"vertical"===e.mode||"both"===e.mode,angle:c()*Math.PI*2,speed:p(e.speed)/360},e.backColor)t.backColor=nt(e.backColor);else if(e.darken.enable&&e.enlighten.enable){const i=c()>=.5?"darken":"enlighten";t.roll.alter={type:i,value:p("darken"===i?e.darken.value:e.enlighten.value)}}else e.darken.enable?t.roll.alter={type:"darken",value:p(e.darken.value)}:e.enlighten.enable&&(t.roll.alter={type:"enlighten",value:p(e.enlighten.value)});else t.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0}}isEnabled(t){const e=t.options.roll;return!t.destroyed&&!t.spawning&&!!(null==e?void 0:e.enable)}loadOptions(t,...e){t.roll||(t.roll=new Cn);for(const i of e)t.roll.load(null==i?void 0:i.roll)}update(t,e){this.isEnabled(t)&&function(t,e){const i=t.options.roll;if(!t.roll||!(null==i?void 0:i.enable))return;const o=t.roll.speed*e.factor,n=2*Math.PI;t.roll.angle+=o,t.roll.angle>n&&(t.roll.angle-=n)}(t,e)}}class En{constructor(t){this.container=t}init(t){const e=t.options.rotate;t.rotate={enable:e.animation.enable,value:p(e.value)*Math.PI/180};let i=e.direction;if("random"===i){i=Math.floor(2*c())>0?"counter-clockwise":"clockwise"}switch(i){case"counter-clockwise":case"counterClockwise":t.rotate.status=1;break;case"clockwise":t.rotate.status=0}const o=t.options.rotate.animation;o.enable&&(t.rotate.decay=1-p(o.decay),t.rotate.velocity=p(o.speed)/360*this.container.retina.reduceFactor,o.sync||(t.rotate.velocity*=c())),t.rotation=t.rotate.value}isEnabled(t){const e=t.options.rotate,i=e.animation;return!t.destroyed&&!t.spawning&&i.enable&&!e.path}update(t,e){var i,o;this.isEnabled(t)&&(!function(t,e){var i,o;const n=t.rotate;if(!n)return;const s=t.options.rotate.animation,a=(null!==(i=n.velocity)&&void 0!==i?i:0)*e.factor,r=2*Math.PI,l=null!==(o=n.decay)&&void 0!==o?o:1;s.enable&&(0===n.status?(n.value+=a,n.value>r&&(n.value-=r)):(n.value-=a,n.value<0&&(n.value+=r)),n.velocity&&1!==l&&(n.velocity*=l))}(t,e),t.rotation=null!==(o=null===(i=t.rotate)||void 0===i?void 0:i.value)&&void 0!==o?o:0)}}class Tn{init(t){var e;const i=t.container,o=t.options,n=o.move.gravity,s=o.move.spin;if(t.gravity={enable:n.enable,acceleration:p(n.acceleration),inverse:n.inverse},s.enable){const o=null!==(e=s.position)&&void 0!==e?e:{x:50,y:50},n={x:o.x/100*i.canvas.size.width,y:o.y/100*i.canvas.size.height},a=m(t.getPosition(),n),r=p(s.acceleration);t.retina.spinAcceleration=r*i.retina.pixelRatio,t.spin={center:n,direction:t.velocity.x>=0?"clockwise":"counter-clockwise",angle:t.velocity.angle,radius:a,acceleration:t.retina.spinAcceleration}}}isEnabled(t){return!t.destroyed&&t.options.move.enable}move(t,e){var i,o,n,s,a;const r=t.options,l=r.move;if(!l.enable)return;const d=t.container,u=function(t){const e=t.container,i=e.actualOptions;if(!z("slow",i.interactivity.events.onHover.mode))return 1;const o=t.container.interactivity.mouse.position;if(!o)return 1;const n=m(o,t.getPosition()),s=e.retina.slowModeRadius;return n>s?1:(n/s||0)/i.interactivity.modes.slow.factor}(t),v=(null!==(i=(s=t.retina).moveSpeed)&&void 0!==i?i:s.moveSpeed=p(l.speed)*d.retina.pixelRatio)*d.retina.reduceFactor,w=null!==(o=(a=t.retina).moveDrift)&&void 0!==o?o:a.moveDrift=p(t.options.move.drift)*d.retina.pixelRatio,y=f(r.size.value)*d.retina.pixelRatio,b=v*((l.size?t.getRadius()/y:1)*u*(e.factor||1))/2;!function(t,e){var i;const o=t.options.move.path;if(!o.enable)return;if(t.lastPathTime<=t.pathDelay)return void(t.lastPathTime+=e.value);const n=null===(i=t.pathGenerator)||void 0===i?void 0:i.generate(t);n&&t.velocity.addTo(n),o.clamp&&(t.velocity.x=h(t.velocity.x,-1,1),t.velocity.y=h(t.velocity.y,-1,1)),t.lastPathTime-=t.pathDelay}(t,e);const S=t.gravity,P=(null==S?void 0:S.enable)&&S.inverse?-1:1;(null==S?void 0:S.enable)&&b&&(t.velocity.y+=P*(S.acceleration*e.factor)/(60*b)),w&&b&&(t.velocity.x+=w*e.factor/(60*b));const _=t.moveDecay;1!=_&&t.velocity.multTo(_);const x=t.velocity.mult(b),C=null!==(n=t.retina.maxSpeed)&&void 0!==n?n:d.retina.maxSpeed;(null==S?void 0:S.enable)&&C>0&&(!S.inverse&&x.y>=0&&x.y>=C||S.inverse&&x.y<=0&&x.y<=-C)&&(x.y=P*C,b&&(t.velocity.y=x.y/b));const A=t.options.zIndex,E=(1-t.zIndexFactor)**A.velocityRate;l.spin.enable?function(t,e){const i=t.container;if(!t.spin)return;const o={x:"clockwise"===t.spin.direction?Math.cos:Math.sin,y:"clockwise"===t.spin.direction?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*o.x(t.spin.angle),t.position.y=t.spin.center.y+t.spin.radius*o.y(t.spin.angle),t.spin.radius+=t.spin.acceleration;const n=Math.max(i.canvas.size.width,i.canvas.size.height);t.spin.radius>n/2?(t.spin.radius=n/2,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=e/100*(1-t.spin.radius/n)}(t,b):(1!=E&&x.multTo(E),t.position.addTo(x),l.vibrate&&(t.position.x+=Math.sin(t.position.x*Math.cos(t.position.y)),t.position.y+=Math.cos(t.position.y*Math.sin(t.position.x)))),function(t){const e=t.initialPosition,{dx:i,dy:o}=g(e,t.position),n=Math.abs(i),s=Math.abs(o),a=t.retina.maxDistance.horizontal,r=t.retina.maxDistance.vertical;if(a||r)if((a&&n>=a||r&&s>=r)&&!t.misplaced)t.misplaced=!!a&&n>a||!!r&&s>r,a&&(t.velocity.x=t.velocity.y/2-t.velocity.x),r&&(t.velocity.y=t.velocity.x/2-t.velocity.y);else if((!a||n<a)&&(!r||s<r)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){const i=t.position,o=t.velocity;a&&(i.x<e.x&&o.x<0||i.x>e.x&&o.x>0)&&(o.x*=-c()),r&&(i.y<e.y&&o.y<0||i.y>e.y&&o.y>0)&&(o.y*=-c())}}(t)}}class Vn{draw(t,e,i){t.arc(0,0,i,0,2*Math.PI,!1)}getSidesCount(){return 12}}function Gn(t,e,i,o,n){var s,a;const r=e;if(!r||!i.enable)return;const l=u(i.offset),c=(null!==(s=e.velocity)&&void 0!==s?s:0)*t.factor+3.6*l,h=null!==(a=e.decay)&&void 0!==a?a:1;n&&0!==r.status?(r.value-=c,r.value<0&&(r.status=0,r.value+=r.value)):(r.value+=c,n&&r.value>o&&(r.status=1,r.value-=r.value%o)),r.velocity&&1!==h&&(r.velocity*=h),r.value>o&&(r.value%=o)}class On{constructor(t){this.container=t}init(t){const e=nt(t.options.color,t.id,t.options.reduceDuplicates);e&&(t.color=yt(e,t.options.color.animation,this.container.retina.reduceFactor))}isEnabled(t){var e,i,o;const n=t.options.color.animation;return!t.destroyed&&!t.spawning&&(void 0!==(null===(e=t.color)||void 0===e?void 0:e.h.value)&&n.h.enable||void 0!==(null===(i=t.color)||void 0===i?void 0:i.s.value)&&n.s.enable||void 0!==(null===(o=t.color)||void 0===o?void 0:o.l.value)&&n.l.enable)}update(t,e){!function(t,e){var i,o,n;const s=t.options.color.animation;void 0!==(null===(i=t.color)||void 0===i?void 0:i.h)&&Gn(e,t.color.h,s.h,360,!1),void 0!==(null===(o=t.color)||void 0===o?void 0:o.s)&&Gn(e,t.color.s,s.s,100,!0),void 0!==(null===(n=t.color)||void 0===n?void 0:n.l)&&Gn(e,t.color.l,s.l,100,!0)}(t,e)}}class kn{constructor(){this.distance=200,this.duration=.4,this.easing="ease-out-quad",this.factor=1,this.maxSpeed=50,this.speed=1}load(t){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))}}var Rn,Mn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},zn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ln extends go{constructor(t){super(t),Rn.set(this,void 0),Mn(this,Rn,t,"f"),t.attract||(t.attract={particles:[]}),this.handleClickMode=e=>{const i=zn(this,Rn,"f").actualOptions.interactivity.modes.attract;if(i&&"attract"===e){t.attract||(t.attract={particles:[]}),t.attract.clicking=!0,t.attract.count=0;for(const e of t.attract.particles)this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);t.attract.particles=[],t.attract.finish=!1,setTimeout((()=>{t.destroyed||(t.attract||(t.attract={particles:[]}),t.attract.clicking=!1)}),1e3*i.duration)}}}clear(){}init(){const t=zn(this,Rn,"f"),e=t.actualOptions.interactivity.modes.attract;e&&(t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}async interact(){const t=zn(this,Rn,"f"),e=t.actualOptions,i=t.interactivity.status===Rt,o=e.interactivity.events,n=o.onHover.enable,s=o.onHover.mode,a=o.onClick.enable,r=o.onClick.mode;i&&n&&z("attract",s)?this.hoverAttract():a&&z("attract",r)&&this.clickAttract()}isEnabled(t){var e;const i=zn(this,Rn,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events;if(!(n.position&&s.onHover.enable||n.clickPosition&&s.onClick.enable))return!1;const a=s.onHover.mode,r=s.onClick.mode;return z("attract",a)||z("attract",r)}loadModeOptions(t,...e){t.attract||(t.attract=new kn);for(const i of e)t.attract.load(null==i?void 0:i.attract)}reset(){}clickAttract(){const t=zn(this,Rn,"f");if(t.attract||(t.attract={particles:[]}),t.attract.finish||(t.attract.count||(t.attract.count=0),t.attract.count++,t.attract.count===t.particles.count&&(t.attract.finish=!0)),t.attract.clicking){const e=t.interactivity.mouse.clickPosition,i=t.retina.attractModeDistance;if(!i||i<0||!e)return;this.processAttract(e,i,new zi(e.x,e.y,i))}else!1===t.attract.clicking&&(t.attract.particles=[])}hoverAttract(){const t=zn(this,Rn,"f"),e=t.interactivity.mouse.position,i=t.retina.attractModeDistance;!i||i<0||!e||this.processAttract(e,i,new zi(e.x,e.y,i))}processAttract(t,e,i){const o=zn(this,Rn,"f"),n=o.actualOptions.interactivity.modes.attract;if(!n)return;const s=o.particles.quadTree.query(i,(t=>this.isEnabled(t)));for(const i of s){const{dx:o,dy:s,distance:r}=g(i.position,t),l=n.speed*n.factor,c=h(_(1-r/e,n.easing)*l,0,n.maxSpeed),d=a.create(0===r?l:o/r*c,0===r?l:s/r*c);i.position.subFrom(d)}}}Rn=new WeakMap;class In{constructor(){this.distance=200}load(t){t&&void 0!==t.distance&&(this.distance=t.distance)}}var Hn,Dn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},jn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Fn extends go{constructor(t){super(t),Hn.set(this,void 0),Dn(this,Hn,t,"f")}clear(){}init(){const t=jn(this,Hn,"f"),e=t.actualOptions.interactivity.modes.bounce;e&&(t.retina.bounceModeDistance=e.distance*t.retina.pixelRatio)}async interact(){const t=jn(this,Hn,"f"),e=t.actualOptions.interactivity.events,i=t.interactivity.status===Rt,o=e.onHover.enable,n=e.onHover.mode,s=e.onDiv;i&&o&&z("bounce",n)?this.processMouseBounce():q("bounce",s,((t,e)=>this.singleSelectorBounce(t,e)))}isEnabled(t){var e;const i=jn(this,Hn,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events,a=s.onDiv;return n.position&&s.onHover.enable&&z("bounce",s.onHover.mode)||B("bounce",a)}loadModeOptions(t,...e){t.bounce||(t.bounce=new In);for(const i of e)t.bounce.load(null==i?void 0:i.bounce)}reset(){}processBounce(t,e,i){const o=jn(this,Hn,"f").particles.quadTree.query(i,(t=>this.isEnabled(t)));for(const n of o)i instanceof zi?$(Q(n),{position:t,radius:e,mass:e**2*Math.PI/2,velocity:a.origin,factor:a.origin}):i instanceof Li&&Z(n,F(t,e))}processMouseBounce(){const t=jn(this,Hn,"f"),e=10*t.retina.pixelRatio,i=t.interactivity.mouse.position,o=t.retina.bounceModeDistance;!o||o<0||!i||this.processBounce(i,o,new zi(i.x,i.y,o+e))}singleSelectorBounce(t,e){const i=jn(this,Hn,"f"),o=document.querySelectorAll(t);o.length&&o.forEach((t=>{const o=t,n=i.retina.pixelRatio,s={x:(o.offsetLeft+o.offsetWidth/2)*n,y:(o.offsetTop+o.offsetHeight/2)*n},a=o.offsetWidth/2*n,r=10*n,l="circle"===e.type?new zi(s.x,s.y,a+r):new Li(o.offsetLeft*n-r,o.offsetTop*n-r,o.offsetWidth*n+2*r,o.offsetHeight*n+2*r);this.processBounce(s,a,l)}))}}Hn=new WeakMap;class Nn{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){t&&(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&&(t.color instanceof Array?this.color=t.color.map((t=>ee.create(void 0,t))):(this.color instanceof Array&&(this.color=new ee),this.color=ee.create(this.color,t.color))),void 0!==t.size&&(this.size=t.size))}}class Bn extends Nn{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){super.load(t),t&&(void 0!==t.ids&&(this.ids=t.ids),void 0!==t.selectors&&(this.selectors=t.selectors))}}class qn extends Nn{load(t){super.load(t),t&&(t.divs instanceof Array?this.divs=t.divs.map((t=>{const e=new Bn;return e.load(t),e})):((this.divs instanceof Array||!this.divs)&&(this.divs=new Bn),this.divs.load(t.divs)))}}var Un,Wn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Qn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function $n(t,e,i,o){if(e>=i){return h(t+(e-i)*o,t,e)}if(e<i){return h(t-(i-e)*o,e,t)}}class Zn extends go{constructor(t){super(t),Un.set(this,void 0),Wn(this,Un,t,"f"),t.bubble||(t.bubble={}),this.handleClickMode=e=>{"bubble"===e&&(t.bubble||(t.bubble={}),t.bubble.clicking=!0)}}clear(t,e){t.bubble.inRange&&!e||(delete t.bubble.div,delete t.bubble.opacity,delete t.bubble.radius,delete t.bubble.color)}init(){const t=Qn(this,Un,"f"),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))}async interact(){const t=Qn(this,Un,"f").actualOptions.interactivity.events,e=t.onHover,i=t.onClick,o=e.enable,n=e.mode,s=i.enable,a=i.mode,r=t.onDiv;o&&z("bubble",n)?this.hoverBubble():s&&z("bubble",a)?this.clickBubble():q("bubble",r,((t,e)=>this.singleSelectorHover(t,e)))}isEnabled(t){var e;const i=Qn(this,Un,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events,a=B("bubble",s.onDiv);if(!(a||s.onHover.enable&&n.position||s.onClick.enable&&n.clickPosition))return!1;const r=s.onHover.mode,l=s.onClick.mode;return z("bubble",r)||z("bubble",l)||a}loadModeOptions(t,...e){t.bubble||(t.bubble=new qn);for(const i of e)t.bubble.load(null==i?void 0:i.bubble)}reset(t){t.bubble.inRange=!1}clickBubble(){var t,e;const i=Qn(this,Un,"f"),o=i.actualOptions,n=i.interactivity.mouse.clickPosition,s=o.interactivity.modes.bubble;if(!s||!n)return;i.bubble||(i.bubble={});const a=i.retina.bubbleModeDistance;if(!a||a<0)return;const r=i.particles.quadTree.queryCircle(n,a,(t=>this.isEnabled(t)));for(const o of r){if(!i.bubble.clicking)continue;o.bubble.inRange=!i.bubble.durationEnd;const r=m(o.getPosition(),n),l=((new Date).getTime()-(i.interactivity.mouse.clickTime||0))/1e3;l>s.duration&&(i.bubble.durationEnd=!0),l>2*s.duration&&(i.bubble.clicking=!1,i.bubble.durationEnd=!1);const c={bubbleObj:{optValue:i.retina.bubbleModeSize,value:o.bubble.radius},particlesObj:{optValue:f(o.options.size.value)*i.retina.pixelRatio,value:o.size.value},type:"size"};this.process(o,r,l,c);const h={bubbleObj:{optValue:s.opacity,value:o.bubble.opacity},particlesObj:{optValue:f(o.options.opacity.value),value:null!==(e=null===(t=o.opacity)||void 0===t?void 0:t.value)&&void 0!==e?e:1},type:"opacity"};this.process(o,r,l,h),i.bubble.durationEnd?delete o.bubble.color:r<=a?this.hoverBubbleColor(o,r):delete o.bubble.color}}hoverBubble(){const t=Qn(this,Un,"f"),e=t.interactivity.mouse.position,i=t.retina.bubbleModeDistance;if(!i||i<0||void 0===e)return;const o=t.particles.quadTree.queryCircle(e,i,(t=>this.isEnabled(t)));for(const n of o){n.bubble.inRange=!0;const o=m(n.getPosition(),e),s=1-o/i;o<=i?s>=0&&t.interactivity.status===Rt&&(this.hoverBubbleSize(n,s),this.hoverBubbleOpacity(n,s),this.hoverBubbleColor(n,s)):this.reset(n),t.interactivity.status===Lt&&this.reset(n)}}hoverBubbleColor(t,e,i){const o=Qn(this,Un,"f").actualOptions,n=null!=i?i:o.interactivity.modes.bubble;if(n){if(!t.bubble.finalColor){const e=n.color;if(!e)return;const i=e instanceof Array?H(e):e;t.bubble.finalColor=nt(i)}if(t.bubble.finalColor)if(n.mix){t.bubble.color=void 0;const i=t.getFillColor();t.bubble.color=i?st(pt(i,t.bubble.finalColor,1-e,e)):t.bubble.finalColor}else t.bubble.color=t.bubble.finalColor}}hoverBubbleOpacity(t,e,i){var o,n,s,a;const r=Qn(this,Un,"f").actualOptions,l=null!==(o=null==i?void 0:i.opacity)&&void 0!==o?o:null===(n=r.interactivity.modes.bubble)||void 0===n?void 0:n.opacity;if(!l)return;const c=t.options.opacity.value,h=$n(null!==(a=null===(s=t.opacity)||void 0===s?void 0:s.value)&&void 0!==a?a:1,l,f(c),e);void 0!==h&&(t.bubble.opacity=h)}hoverBubbleSize(t,e,i){const o=Qn(this,Un,"f"),n=(null==i?void 0:i.size)?i.size*o.retina.pixelRatio:o.retina.bubbleModeSize;if(void 0===n)return;const s=f(t.options.size.value)*o.retina.pixelRatio,a=$n(t.size.value,n,s,e);void 0!==a&&(t.bubble.radius=a)}process(t,e,i,o){const n=Qn(this,Un,"f"),s=o.bubbleObj.optValue,a=n.actualOptions.interactivity.modes.bubble;if(!a||void 0===s)return;const r=a.duration,l=n.retina.bubbleModeDistance,c=o.particlesObj.optValue,h=o.bubbleObj.value,d=o.particlesObj.value||0,u=o.type;if(l&&!(l<0)&&s!==c)if(n.bubble||(n.bubble={}),n.bubble.durationEnd)h&&("size"===u&&delete t.bubble.radius,"opacity"===u&&delete t.bubble.opacity);else if(e<=l){if((null!=h?h:d)!==s){const e=d-i*(d-s)/r;"size"===u&&(t.bubble.radius=e),"opacity"===u&&(t.bubble.opacity=e)}}else"size"===u&&delete t.bubble.radius,"opacity"===u&&delete t.bubble.opacity}singleSelectorHover(t,e){const i=Qn(this,Un,"f"),o=document.querySelectorAll(t),n=i.actualOptions.interactivity.modes.bubble;n&&o.length&&o.forEach((t=>{const o=t,s=i.retina.pixelRatio,a={x:(o.offsetLeft+o.offsetWidth/2)*s,y:(o.offsetTop+o.offsetHeight/2)*s},r=o.offsetWidth/2*s,l="circle"===e.type?new zi(a.x,a.y,r):new Li(o.offsetLeft*s,o.offsetTop*s,o.offsetWidth*s,o.offsetHeight*s),c=i.particles.quadTree.query(l,(t=>this.isEnabled(t)));for(const t of c){if(!l.contains(t.getPosition()))continue;t.bubble.inRange=!0;const e=W(n.divs,o);t.bubble.div&&t.bubble.div===o||(this.clear(t,!0),t.bubble.div=o),this.hoverBubbleSize(t,1,e),this.hoverBubbleOpacity(t,1,e),this.hoverBubbleColor(t,1,e)}}))}}Un=new WeakMap;class Xn{constructor(){this.opacity=.5}load(t){t&&void 0!==t.opacity&&(this.opacity=t.opacity)}}class Yn{constructor(){this.distance=80,this.links=new Xn,this.radius=60}get lineLinked(){return this.links}set lineLinked(t){this.links=t}get line_linked(){return this.links}set line_linked(t){this.links=t}load(t){var e,i;t&&(void 0!==t.distance&&(this.distance=t.distance),this.links.load(null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked),void 0!==t.radius&&(this.radius=t.radius))}}var Jn,Kn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},ts=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function es(t,e,i,o){const n=t.actualOptions.interactivity.modes.connect;if(n)return function(t,e,i,o){const n=Math.floor(i.getRadius()/e.getRadius()),s=e.getFillColor(),a=i.getFillColor();if(!s||!a)return;const r=e.getPosition(),l=i.getPosition(),c=pt(s,a,e.getRadius(),i.getRadius()),h=t.createLinearGradient(r.x,r.y,l.x,l.y);return h.addColorStop(0,ut(s,o)),h.addColorStop(n>1?1:n,dt(c,o)),h.addColorStop(1,ut(a,o)),h}(e,i,o,n.links.opacity)}function is(t,e,i){t.canvas.draw((o=>{var n;const s=es(t,o,e,i);if(!s)return;const a=e.getPosition(),r=i.getPosition();!function(t,e,i,o,n){t.save(),mt(t,o,n),t.lineWidth=e,t.strokeStyle=i,t.stroke(),t.restore()}(o,null!==(n=e.retina.linksWidth)&&void 0!==n?n:0,s,a,r)}))}class os extends go{constructor(t){super(t),Jn.set(this,void 0),Kn(this,Jn,t,"f")}clear(){}init(){const t=ts(this,Jn,"f"),e=t.actualOptions.interactivity.modes.connect;e&&(t.retina.connectModeDistance=e.distance*t.retina.pixelRatio,t.retina.connectModeRadius=e.radius*t.retina.pixelRatio)}async interact(){const t=ts(this,Jn,"f");if(t.actualOptions.interactivity.events.onHover.enable&&"mousemove"===t.interactivity.status){const e=t.interactivity.mouse.position;if(!t.retina.connectModeDistance||t.retina.connectModeDistance<0||!t.retina.connectModeRadius||t.retina.connectModeRadius<0||!e)return;const i=Math.abs(t.retina.connectModeRadius),o=t.particles.quadTree.queryCircle(e,i,(t=>this.isEnabled(t)));let n=0;for(const e of o){const i=e.getPosition();for(const s of o.slice(n+1)){const o=s.getPosition(),n=Math.abs(t.retina.connectModeDistance),a=Math.abs(i.x-o.x),r=Math.abs(i.y-o.y);a<n&&r<n&&is(t,e,s)}++n}}}isEnabled(t){var e;const i=this.container,o=i.interactivity.mouse,n=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:i.actualOptions.interactivity).events;return!(!n.onHover.enable||!o.position)&&z("connect",n.onHover.mode)}loadModeOptions(t,...e){t.connect||(t.connect=new Yn);for(const i of e)t.connect.load(null==i?void 0:i.connect)}reset(){}}Jn=new WeakMap;class ns{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(t){t&&(void 0!==t.blink&&(this.blink=t.blink),void 0!==t.color&&(this.color=ee.create(this.color,t.color)),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ss{constructor(){this.distance=100,this.links=new ns}get lineLinked(){return this.links}set lineLinked(t){this.links=t}get line_linked(){return this.links}set line_linked(t){this.links=t}load(t){var e,i;t&&(void 0!==t.distance&&(this.distance=t.distance),this.links.load(null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked))}}var as,rs=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},ls=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function cs(t,e,i,o,n){t.canvas.draw((t=>{var s;const a=e.getPosition();!function(t,e,i,o,n,s){t.save(),mt(t,i,o),t.strokeStyle=dt(n,s),t.lineWidth=e,t.stroke(),t.restore()}(t,null!==(s=e.retina.linksWidth)&&void 0!==s?s:0,a,n,i,o)}))}class hs extends go{constructor(t){super(t),as.set(this,void 0),rs(this,as,t,"f")}clear(){}init(){const t=ls(this,as,"f"),e=t.actualOptions.interactivity.modes.grab;e&&(t.retina.grabModeDistance=e.distance*t.retina.pixelRatio)}async interact(){var t,e;const i=ls(this,as,"f"),o=i.actualOptions.interactivity;if(!o.modes.grab||!o.events.onHover.enable||i.interactivity.status!==Rt)return;const n=i.interactivity.mouse.position;if(!n)return;const s=i.retina.grabModeDistance;if(!s||s<0)return;const a=i.particles.quadTree.queryCircle(n,s,(t=>this.isEnabled(t)));for(const r of a){const a=m(r.getPosition(),n);if(a>s)continue;const l=o.modes.grab.links,c=l.opacity,h=c-a*c/s;if(h<=0)continue;const d=null!==(t=l.color)&&void 0!==t?t:null===(e=r.options.links)||void 0===e?void 0:e.color;if(!i.particles.grabLineColor&&d){const t=o.modes.grab.links;i.particles.grabLineColor=ft(d,t.blink,t.consent)}const u=vt(r,void 0,i.particles.grabLineColor);if(!u)return;cs(i,r,u,h,n)}}isEnabled(t){var e;const i=this.container,o=i.interactivity.mouse,n=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:i.actualOptions.interactivity).events;return n.onHover.enable&&!!o.position&&z("grab",n.onHover.mode)}loadModeOptions(t,...e){t.grab||(t.grab=new ss);for(const i of e)t.grab.load(null==i?void 0:i.grab)}reset(){}}as=new WeakMap;class ds extends go{constructor(t){super(t),this.handleClickMode=t=>{if("pause"!==t)return;const e=this.container;e.getAnimationStatus()?e.pause():e.play()}}clear(){}init(){}async interact(){}isEnabled(){return!0}reset(){}}class us{constructor(){this.default=!0,this.groups=[],this.quantity=4}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(!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);const i=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==i&&(this.quantity=i)}}var ps,vs=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},fs=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class ws extends go{constructor(t){super(t),ps.set(this,void 0),vs(this,ps,t,"f"),this.handleClickMode=t=>{if("push"!==t)return;const e=fs(this,ps,"f"),i=e.actualOptions.interactivity.modes.push;if(!i)return;const o=i.quantity;if(o<=0)return;const n=H([void 0,...i.groups]),s=void 0!==n?e.actualOptions.particles.groups[n]:void 0;e.particles.push(o,e.interactivity.mouse,s,n)}}clear(){}init(){}async interact(){}isEnabled(){return!0}loadModeOptions(t,...e){t.push||(t.push=new us);for(const i of e)t.push.load(null==i?void 0:i.push)}reset(){}}ps=new WeakMap;class ys{constructor(){this.quantity=2}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(!t)return;const i=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==i&&(this.quantity=i)}}var gs,ms=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},bs=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ss extends go{constructor(t){super(t),gs.set(this,void 0),ms(this,gs,t,"f"),this.handleClickMode=t=>{const e=bs(this,gs,"f"),i=e.actualOptions;if(!i.interactivity.modes.remove||"remove"!==t)return;const o=i.interactivity.modes.remove.quantity;e.particles.removeQuantity(o)}}clear(){}init(){}async interact(){}isEnabled(){return!0}loadModeOptions(t,...e){t.remove||(t.remove=new ys);for(const i of e)t.remove.load(null==i?void 0:i.remove)}reset(){}}gs=new WeakMap;class Ps{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing="ease-out-quad"}load(t){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 _s extends Ps{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((()=>`#${t}`)):`#${t}`}load(t){super.load(t),t&&(void 0!==t.ids&&(this.ids=t.ids),void 0!==t.selectors&&(this.selectors=t.selectors))}}class xs extends Ps{load(t){super.load(t),t&&(t.divs instanceof Array?this.divs=t.divs.map((t=>{const e=new _s;return e.load(t),e})):((this.divs instanceof Array||!this.divs)&&(this.divs=new _s),this.divs.load(t.divs)))}}var Cs,As=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Es=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ts extends go{constructor(t){super(t),Cs.set(this,void 0),As(this,Cs,t,"f"),t.repulse||(t.repulse={particles:[]}),this.handleClickMode=e=>{const i=Es(this,Cs,"f").actualOptions.interactivity.modes.repulse;if(i&&"repulse"===e){t.repulse||(t.repulse={particles:[]}),t.repulse.clicking=!0,t.repulse.count=0;for(const e of t.repulse.particles)this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);t.repulse.particles=[],t.repulse.finish=!1,setTimeout((()=>{t.destroyed||(t.repulse||(t.repulse={particles:[]}),t.repulse.clicking=!1)}),1e3*i.duration)}}}clear(){}init(){const t=Es(this,Cs,"f"),e=t.actualOptions.interactivity.modes.repulse;e&&(t.retina.repulseModeDistance=e.distance*t.retina.pixelRatio)}async interact(){const t=Es(this,Cs,"f"),e=t.actualOptions,i=t.interactivity.status===Rt,o=e.interactivity.events,n=o.onHover.enable,s=o.onHover.mode,a=o.onClick.enable,r=o.onClick.mode,l=o.onDiv;i&&n&&z("repulse",s)?this.hoverRepulse():a&&z("repulse",r)?this.clickRepulse():q("repulse",l,((t,e)=>this.singleSelectorRepulse(t,e)))}isEnabled(t){var e;const i=Es(this,Cs,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events,a=B("repulse",s.onDiv);if(!(a||s.onHover.enable&&n.position||s.onClick.enable&&n.clickPosition))return!1;const r=s.onHover.mode,l=s.onClick.mode;return z("repulse",r)||z("repulse",l)||a}loadModeOptions(t,...e){t.repulse||(t.repulse=new xs);for(const i of e)t.repulse.load(null==i?void 0:i.repulse)}reset(){}clickRepulse(){const t=Es(this,Cs,"f"),e=t.actualOptions.interactivity.modes.repulse;if(e)if(t.repulse||(t.repulse={particles:[]}),t.repulse.finish||(t.repulse.count||(t.repulse.count=0),t.repulse.count++,t.repulse.count===t.particles.count&&(t.repulse.finish=!0)),t.repulse.clicking){const i=t.retina.repulseModeDistance;if(!i||i<0)return;const o=Math.pow(i/6,3),n=t.interactivity.mouse.clickPosition;if(void 0===n)return;const s=new zi(n.x,n.y,o),r=t.particles.quadTree.query(s,(t=>this.isEnabled(t)));for(const i of r){const{dx:s,dy:r,distance:l}=g(n,i.position),c=l**2,h=e.speed,d=-o*h/c;if(c<=o){t.repulse.particles.push(i);const e=a.create(s,r);e.length=d,i.velocity.setTo(e)}}}else if(!1===t.repulse.clicking){for(const e of t.repulse.particles)e.velocity.setTo(e.initialVelocity);t.repulse.particles=[]}}hoverRepulse(){const t=Es(this,Cs,"f"),e=t.interactivity.mouse.position,i=t.retina.repulseModeDistance;!i||i<0||!e||this.processRepulse(e,i,new zi(e.x,e.y,i))}processRepulse(t,e,i,o){var n;const s=Es(this,Cs,"f"),r=s.particles.quadTree.query(i,(t=>this.isEnabled(t))),l=s.actualOptions.interactivity.modes.repulse;if(l)for(const i of r){const{dx:s,dy:r,distance:c}=g(i.position,t),d=(null!==(n=null==o?void 0:o.speed)&&void 0!==n?n:l.speed)*l.factor,u=h(_(1-c/e,l.easing)*d,0,l.maxSpeed),p=a.create(0===c?d:s/c*u,0===c?d:r/c*u);i.position.addTo(p)}}singleSelectorRepulse(t,e){const i=Es(this,Cs,"f"),o=i.actualOptions.interactivity.modes.repulse;if(!o)return;const n=document.querySelectorAll(t);n.length&&n.forEach((t=>{const n=t,s=i.retina.pixelRatio,a={x:(n.offsetLeft+n.offsetWidth/2)*s,y:(n.offsetTop+n.offsetHeight/2)*s},r=n.offsetWidth/2*s,l="circle"===e.type?new zi(a.x,a.y,r):new Li(n.offsetLeft*s,n.offsetTop*s,n.offsetWidth*s,n.offsetHeight*s),c=W(o.divs,n);this.processRepulse(a,r,l,c)}))}}Cs=new WeakMap;const Vs=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function Gs(t){return new Promise((e=>{t.loading=!0;const 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,console.error(`Error tsParticles - loading image: ${t.source}`),e()})),i.src=t.source}))}async function Os(t){if("svg"!==t.type)return void await Gs(t);t.loading=!0;const e=await fetch(t.source);e.ok||(console.error("Error tsParticles - Image not found"),t.error=!0),t.error||(t.svgData=await e.text()),t.loading=!1}function ks(t,e,i,o){var n,s,a;const r=function(t,e,i){const{svgData:o}=t;if(!o)return"";const n=ut(e,i);if(o.includes("fill"))return o.replace(Vs,(()=>n));const s=o.indexOf(">");return`${o.substring(0,s)} fill="${n}"${o.substring(s)}`}(t,i,null!==(s=null===(n=o.opacity)||void 0===n?void 0:n.value)&&void 0!==s?s:1),l={color:i,data:Object.assign(Object.assign({},t),{svgData:r}),loaded:!1,ratio:e.width/e.height,replaceColor:null!==(a=e.replaceColor)&&void 0!==a?a:e.replace_color,source:e.src};return new Promise((e=>{const i=new Blob([r],{type:"image/svg+xml"}),o=URL||window.URL||window.webkitURL||window,n=o.createObjectURL(i),s=new Image;s.addEventListener("load",(()=>{l.loaded=!0,l.element=s,e(l),o.revokeObjectURL(n)})),s.addEventListener("error",(async()=>{o.revokeObjectURL(n);const i=Object.assign(Object.assign({},t),{error:!1,loading:!0});await Gs(i),l.loaded=!0,l.element=i.element,e(l)})),s.src=n}))}var Rs,Ms=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},zs=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ls{constructor(){Rs.set(this,void 0),Ms(this,Rs,[],"f")}addImage(t,e){const i=this.getImages(t);null==i||i.images.push(e)}destroy(){Ms(this,Rs,[],"f")}draw(t,e,i,o){var n;const s=e.image,a=null==s?void 0:s.element;if(!a)return;const r=null!==(n=null==s?void 0:s.ratio)&&void 0!==n?n:1,l={x:-i,y:-i};t.globalAlpha=o,t.drawImage(a,l.x,l.y,2*i,2*i/r),t.globalAlpha=1}getImages(t){const e=zs(this,Rs,"f").find((e=>e.id===t.id));return e||(zs(this,Rs,"f").push({id:t.id,images:[]}),this.getImages(t))}getSidesCount(){return 12}loadShape(t){if("image"!==t.shape&&"images"!==t.shape)return;const e=t.container,i=this.getImages(e).images,o=t.shapeData,n=i.find((t=>t.source===o.src));n?n.error:this.loadImageShape(e,o).then((()=>{this.loadShape(t)}))}particleInit(t,e){var i;if("image"!==e.shape&&"images"!==e.shape)return;const o=this.getImages(t).images,n=e.shapeData,s=e.getFillColor(),a=null!==(i=n.replaceColor)&&void 0!==i?i:n.replace_color,r=o.find((t=>t.source===n.src));r&&(r.loading?setTimeout((()=>{this.particleInit(t,e)})):(async()=>{var t,i;let o;o=r.svgData&&a&&s?await ks(r,n,s,e):{color:s,data:r,element:r.element,loaded:!0,ratio:n.width/n.height,replaceColor:a,source:n.src},o.ratio||(o.ratio=1);const l={image:o,fill:null!==(t=n.fill)&&void 0!==t?t:e.fill,close:null!==(i=n.close)&&void 0!==i?i:e.close};e.image=l.image,e.fill=l.fill,e.close=l.close})())}async loadImageShape(t,e){var i;const o=e.src;if(!o)throw new Error("Error tsParticles - No image.src");try{const n={source:o,type:o.substring(o.length-3),error:!1,loading:!0};this.addImage(t,n);const s=(null!==(i=e.replaceColor)&&void 0!==i?i:e.replace_color)?Os:Gs;await s(n)}catch(t){throw new Error(`tsParticles error - ${e.src} not found`)}}}Rs=new WeakMap;class Is extends ke{constructor(){super(),this.sync=!1}load(t){t&&(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class Hs extends ke{constructor(){super(),this.random.minimumValue=1e-4,this.sync=!1}load(t){t&&(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class Ds{constructor(){this.count=0,this.delay=new Is,this.duration=new Hs}load(t){t&&(void 0!==t.count&&(this.count=t.count),this.delay.load(t.delay),this.duration.load(t.duration))}}class js{constructor(t){this.container=t}init(t){const e=this.container,i=t.options.life;i&&(t.life={delay:e.retina.reduceFactor?p(i.delay.value)*(i.delay.sync?1:c())/e.retina.reduceFactor*1e3:0,delayTime:0,duration:e.retina.reduceFactor?p(i.duration.value)*(i.duration.sync?1:c())/e.retina.reduceFactor*1e3: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){t.life||(t.life=new Ds);for(const i of e)t.life.load(null==i?void 0:i.life)}update(t,e){if(!this.isEnabled(t)||!t.life)return;const i=t.life;let o=!1;if(t.spawning){if(i.delayTime+=e.value,!(i.delayTime>=t.life.delay))return;o=!0,t.spawning=!1,i.delayTime=0,i.time=0}if(-1===i.duration)return;if(t.spawning)return;if(o?i.time=0:i.time+=e.value,i.time<i.duration)return;if(i.time=0,t.life.count>0&&t.life.count--,0===t.life.count)return void t.destroy();const n=this.container.canvas.size,s=w(0,n.width),a=w(0,n.width);t.position.x=u(s),t.position.y=u(a),t.spawning=!0,i.delayTime=0,i.time=0,t.reset();const r=t.options.life;r&&(i.delay=1e3*p(r.delay.value),i.duration=1e3*p(r.duration.value))}}class Fs{draw(t,e,i){t.moveTo(-i/2,0),t.lineTo(i/2,0)}getSidesCount(){return 1}}class Ns{constructor(t){this.container=t}init(t){const e=t.options.opacity;t.opacity={enable:e.animation.enable,max:f(e.value),min:v(e.value),value:p(e.value),loops:0,maxLoops:p(e.animation.count)};const i=e.animation;if(i.enable){t.opacity.decay=1-p(i.decay),t.opacity.status=0;const o=e.value;switch(t.opacity.min=v(o),t.opacity.max=f(o),i.startValue){case"min":t.opacity.value=t.opacity.min,t.opacity.status=0;break;case"random":t.opacity.value=u(t.opacity),t.opacity.status=c()>=.5?0:1;break;default:t.opacity.value=t.opacity.max,t.opacity.status=1}t.opacity.velocity=p(i.speed)/100*this.container.retina.reduceFactor,i.sync||(t.opacity.velocity*=c())}}isEnabled(t){var e,i,o,n;return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((null!==(e=t.opacity.maxLoops)&&void 0!==e?e:0)<=0||(null!==(i=t.opacity.maxLoops)&&void 0!==i?i:0)>0&&(null!==(o=t.opacity.loops)&&void 0!==o?o:0)<(null!==(n=t.opacity.maxLoops)&&void 0!==n?n:0))}update(t,e){this.isEnabled(t)&&function(t,e){var i,o,n,s,a,r;if(!t.opacity)return;const l=t.opacity.min,c=t.opacity.max,d=null!==(i=t.opacity.decay)&&void 0!==i?i:1;if(!(t.destroyed||!t.opacity.enable||(null!==(o=t.opacity.maxLoops)&&void 0!==o?o:0)>0&&(null!==(n=t.opacity.loops)&&void 0!==n?n:0)>(null!==(s=t.opacity.maxLoops)&&void 0!==s?s:0))){switch(t.opacity.status){case 0:t.opacity.value>=c?(t.opacity.status=1,t.opacity.loops||(t.opacity.loops=0),t.opacity.loops++):t.opacity.value+=(null!==(a=t.opacity.velocity)&&void 0!==a?a:0)*e.factor;break;case 1:t.opacity.value<=l?(t.opacity.status=0,t.opacity.loops||(t.opacity.loops=0),t.opacity.loops++):t.opacity.value-=(null!==(r=t.opacity.velocity)&&void 0!==r?r:0)*e.factor}t.opacity.velocity&&1!==t.opacity.decay&&(t.opacity.velocity*=d),function(t,e,i,o){switch(t.options.opacity.animation.destroy){case"max":e>=o&&t.destroy();break;case"min":e<=i&&t.destroy()}}(t,t.opacity.value,l,c),t.destroyed||(t.opacity.value=h(t.opacity.value,l,c))}}(t,e)}}class Bs{constructor(t){this.container=t,this.modes=["bounce","bounce-vertical","bounce-horizontal","bounceVertical","bounceHorizontal","split"]}update(t,e,i,o){if(!this.modes.includes(o))return;const n=this.container;let s=!1;for(const[,o]of n.plugins)if(void 0!==o.particleBounce&&(s=o.particleBounce(t,i,e)),s)break;if(s)return;const a=t.getPosition(),r=t.offset,l=t.getRadius(),c=F(a,l),h=n.canvas.size;!function(t){if("bounce"!==t.outMode&&"bounce-horizontal"!==t.outMode&&"bounceHorizontal"!==t.outMode&&"split"!==t.outMode)return;t.bounds.right<0?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);const e=t.particle.velocity.x;let i=!1;if("right"===t.direction&&t.bounds.right>=t.canvasSize.width&&e>0||"left"===t.direction&&t.bounds.left<=0&&e<0){const e=y(t.particle.options.bounce.horizontal);t.particle.velocity.x*=-e,i=!0}if(!i)return;const o=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width?t.particle.position.x=t.canvasSize.width-o:t.bounds.left<=0&&(t.particle.position.x=o),"split"===t.outMode&&t.particle.destroy()}({particle:t,outMode:o,direction:e,bounds:c,canvasSize:h,offset:r,size:l}),function(t){if("bounce"!==t.outMode&&"bounce-vertical"!==t.outMode&&"bounceVertical"!==t.outMode&&"split"!==t.outMode)return;t.bounds.bottom<0?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);const e=t.particle.velocity.y;let i=!1;if("bottom"===t.direction&&t.bounds.bottom>=t.canvasSize.height&&e>0||"top"===t.direction&&t.bounds.top<=0&&e<0){const e=y(t.particle.options.bounce.vertical);t.particle.velocity.y*=-e,i=!0}if(!i)return;const o=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height?t.particle.position.y=t.canvasSize.height-o:t.bounds.top<=0&&(t.particle.position.y=o),"split"===t.outMode&&t.particle.destroy()}({particle:t,outMode:o,direction:e,bounds:c,canvasSize:h,offset:r,size:l})}}class qs{constructor(t){this.container=t,this.modes=["destroy"]}update(t,e,i,o){if(!this.modes.includes(o))return;const n=this.container;switch(t.outType){case"normal":case"outside":if(D(t.position,n.canvas.size,a.origin,t.getRadius(),e))return;break;case"inside":{const{dx:e,dy:i}=g(t.position,t.moveCenter),{x:o,y:n}=t.velocity;if(o<0&&e>t.moveCenter.radius||n<0&&i>t.moveCenter.radius||o>=0&&e<-t.moveCenter.radius||n>=0&&i<-t.moveCenter.radius)return;break}}n.particles.remove(t,void 0,!0)}}class Us{constructor(t){this.container=t,this.modes=["none"]}update(t,e,i,o){if(!this.modes.includes(o))return;if(t.options.move.distance.horizontal&&("left"===e||"right"===e)||t.options.move.distance.vertical&&("top"===e||"bottom"===e))return;const n=t.options.move.gravity,s=this.container,r=s.canvas.size,l=t.getRadius();if(n.enable){const i=t.position;(!n.inverse&&i.y>r.height+l&&"bottom"===e||n.inverse&&i.y<-l&&"top"===e)&&s.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=r.height+l||t.velocity.y<0&&t.position.y>=-l||t.velocity.x>0&&t.position.x<=r.width+l||t.velocity.x<0&&t.position.x>=-l)return;D(t.position,s.canvas.size,a.origin,l,e)||s.particles.remove(t)}}}class Ws{constructor(t){this.container=t,this.modes=["out"]}update(t,e,i,o){if(!this.modes.includes(o))return;const n=this.container;switch(t.outType){case"inside":{const{x:e,y:i}=t.velocity,o=a.origin;o.length=t.moveCenter.radius,o.angle=t.velocity.angle+Math.PI,o.addTo(a.create(t.moveCenter));const{dx:s,dy:r}=g(t.position,o);if(e<=0&&s>=0||i<=0&&r>=0||e>=0&&s<=0||i>=0&&r<=0)return;t.position.x=Math.floor(u({min:0,max:n.canvas.size.width})),t.position.y=Math.floor(u({min:0,max:n.canvas.size.height}));const{dx:l,dy:c}=g(t.position,t.moveCenter);t.direction=Math.atan2(-c,-l),t.velocity.angle=t.direction;break}default:if(D(t.position,n.canvas.size,a.origin,t.getRadius(),e))return;switch(t.outType){case"outside":{t.position.x=Math.floor(u({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor(u({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;const{dx:e,dy:i}=g(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(i,e),t.velocity.angle=t.direction);break}case"normal":{const i=t.options.move.warp,o=n.canvas.size,s={bottom:o.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:o.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},a=t.getRadius(),r=F(t.position,a);"right"===e&&r.left>o.width+t.offset.x?(t.position.x=s.left,t.initialPosition.x=t.position.x,i||(t.position.y=c()*o.height,t.initialPosition.y=t.position.y)):"left"===e&&r.right<-t.offset.x&&(t.position.x=s.right,t.initialPosition.x=t.position.x,i||(t.position.y=c()*o.height,t.initialPosition.y=t.position.y)),"bottom"===e&&r.top>o.height+t.offset.y?(i||(t.position.x=c()*o.width,t.initialPosition.x=t.position.x),t.position.y=s.top,t.initialPosition.y=t.position.y):"top"===e&&r.bottom<-t.offset.y&&(i||(t.position.x=c()*o.width,t.initialPosition.x=t.position.x),t.position.y=s.bottom,t.initialPosition.y=t.position.y);break}}}}}class Qs{constructor(t){this.container=t,this.updaters=[new Bs(t),new qs(t),new Ws(t),new Us(t)]}init(){}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,e){var i,o,n,s;const a=t.options.move.outModes;this.updateOutMode(t,e,null!==(i=a.bottom)&&void 0!==i?i:a.default,"bottom"),this.updateOutMode(t,e,null!==(o=a.left)&&void 0!==o?o:a.default,"left"),this.updateOutMode(t,e,null!==(n=a.right)&&void 0!==n?n:a.default,"right"),this.updateOutMode(t,e,null!==(s=a.top)&&void 0!==s?s:a.default,"top")}updateOutMode(t,e,i,o){for(const n of this.updaters)n.update(t,o,e,i)}}class $s{init(){}isEnabled(t){return!k()&&!t.destroyed&&t.container.actualOptions.interactivity.events.onHover.parallax.enable}move(t){const e=t.container,i=e.actualOptions;if(k()||!i.interactivity.events.onHover.parallax.enable)return;const o=i.interactivity.events.onHover.parallax.force,n=e.interactivity.mouse.position;if(!n)return;const s=e.canvas.size.width/2,a=e.canvas.size.height/2,r=i.interactivity.events.onHover.parallax.smooth,l=t.getRadius()/o,c=(n.x-s)*l,h=(n.y-a)*l;t.offset.x+=(c-t.offset.x)/r,t.offset.y+=(h-t.offset.y)/r}}class Zs extends mo{constructor(t){super(t)}clear(){}init(){}async interact(t){var e;const i=this.container,o=null!==(e=t.retina.attractDistance)&&void 0!==e?e:i.retina.attractDistance,n=t.getPosition(),s=i.particles.quadTree.queryCircle(n,o);for(const e of s){if(t===e||!e.options.move.attract.enable||e.destroyed||e.spawning)continue;const i=e.getPosition(),{dx:o,dy:s}=g(n,i),a=t.options.move.attract.rotate,r=o/(1e3*a.x),l=s/(1e3*a.y),c=e.size.value/t.size.value,h=1/c;t.velocity.x-=r*c,t.velocity.y-=l*c,e.velocity.x+=r*h,e.velocity.y+=l*h}}isEnabled(t){return t.options.move.attract.enable}reset(){}}function Xs(t,e){$(Q(t),Q(e))}function Ys(t,e,i,o){switch(t.options.collisions.mode){case"absorb":!function(t,e,i,o){if(void 0===t.getRadius()&&void 0!==e.getRadius())t.destroy();else if(void 0!==t.getRadius()&&void 0===e.getRadius())e.destroy();else if(void 0!==t.getRadius()&&void 0!==e.getRadius())if(t.getRadius()>=e.getRadius()){const n=h(t.getRadius()/e.getRadius(),0,e.getRadius())*i;t.size.value+=n,e.size.value-=n,e.getRadius()<=o&&(e.size.value=0,e.destroy())}else{const n=h(e.getRadius()/t.getRadius(),0,t.getRadius())*i;t.size.value-=n,e.size.value+=n,t.getRadius()<=o&&(t.size.value=0,t.destroy())}}(t,e,i,o);break;case"bounce":Xs(t,e);break;case"destroy":!function(t,e){t.unbreakable||e.unbreakable||Xs(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.destroy():t.destroy())}(t,e)}}class Js extends mo{constructor(t){super(t)}clear(){}init(){}async interact(t){const e=this.container,i=t.getPosition(),o=t.getRadius(),n=e.particles.quadTree.queryCircle(i,2*o);for(const s of n){if(t===s||!s.options.collisions.enable||t.options.collisions.mode!==s.options.collisions.mode||s.destroyed||s.spawning)continue;const n=s.getPosition(),a=s.getRadius();if(Math.abs(Math.round(i.z)-Math.round(n.z))>o+a)continue;m(i,n)>o+a||Ys(t,s,e.fpsLimit/1e3,e.retina.pixelRatio)}}isEnabled(t){return t.options.collisions.enable}reset(){}}class Ks{constructor(){this.blur=5,this.color=new ee,this.color.value="#000",this.enable=!1}load(t){t&&(void 0!==t.blur&&(this.blur=t.blur),this.color=ee.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable))}}class ta{constructor(){this.enable=!1,this.frequency=1}load(t){t&&(void 0!==t.color&&(this.color=ee.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 ea{constructor(){this.blink=!1,this.color=new ee,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new Ks,this.triangles=new ta,this.width=1,this.warp=!1}load(t){t&&(void 0!==t.id&&(this.id=t.id),void 0!==t.blink&&(this.blink=t.blink),this.color=ee.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))}}function ia(t,e,i,o,n){let s=m(t,e);if(!n||s<=i)return s;if(s=m(t,{x:e.x-o.width,y:e.y}),s<=i)return s;if(s=m(t,{x:e.x-o.width,y:e.y-o.height}),s<=i)return s;return s=m(t,{x:e.x,y:e.y-o.height}),s}class oa extends mo{constructor(t){super(t),this.linkContainer=t}clear(){}init(){this.linkContainer.particles.linksColors=new Map}async interact(t){var e;if(!t.options.links)return;t.links=[];const i=t.getPosition(),o=this.container,n=o.canvas.size;if(i.x<0||i.y<0||i.x>n.width||i.y>n.height)return;const s=t.options.links,a=s.opacity,r=null!==(e=t.retina.linksDistance)&&void 0!==e?e:0,l=s.warp,c=l?new Ii(i.x,i.y,r,n):new zi(i.x,i.y,r),h=o.particles.quadTree.query(c);for(const e of h){const o=e.options.links;if(t===e||!(null==o?void 0:o.enable)||s.id!==o.id||e.spawning||e.destroyed||!e.links||-1!==t.links.map((t=>t.destination)).indexOf(e)||-1!==e.links.map((t=>t.destination)).indexOf(t))continue;const c=e.getPosition();if(c.x<0||c.y<0||c.x>n.width||c.y>n.height)continue;const h=ia(i,c,r,n,l&&o.warp);if(h>r)return;const d=(1-h/r)*a;this.setColor(t),t.links.push({destination:e,opacity:d})}}isEnabled(t){var e;return!!(null===(e=t.options.links)||void 0===e?void 0:e.enable)}loadParticlesOptions(t,...e){var i,o;t.links||(t.links=new ea);for(const n of e)t.links.load(null!==(o=null!==(i=null==n?void 0:n.links)&&void 0!==i?i:null==n?void 0:n.lineLinked)&&void 0!==o?o:null==n?void 0:n.line_linked)}reset(){}setColor(t){if(!t.options.links)return;const e=this.linkContainer,i=t.options.links;let o=void 0===i.id?e.particles.linksColor:e.particles.linksColors.get(i.id);if(o)return;o=ft(i.color,i.blink,i.consent),void 0===i.id?e.particles.linksColor=o:e.particles.linksColors.set(i.id,o)}}class na{constructor(t){this.container=t}drawParticle(t,e){var i;const o=this.container,n=e.options;if(!e.links||e.links.length<=0)return;t.save();const s=e.links.filter((t=>n.links&&o.particles.getLinkFrequency(e,t.destination)<=n.links.frequency));for(const t of s)this.drawTriangles(o,n,e,t,s),t.opacity>0&&(null!==(i=e.retina.linksWidth)&&void 0!==i?i:0)>0&&this.drawLinkLine(e,t);t.restore()}particleCreated(t){if(t.links=[],!t.options.links)return;const e=this.container.retina.pixelRatio;t.retina.linksDistance=t.options.links.distance*e,t.retina.linksWidth=t.options.links.width*e}particleDestroyed(t){t.links=[]}drawLinkLine(t,e){const i=this.container,o=i.actualOptions,n=e.destination,s=t.getPosition(),a=n.getPosition();let r=e.opacity;i.canvas.draw((e=>{var l,h,d;if(!t.options.links)return;let u;const v=null===(l=t.options.twinkle)||void 0===l?void 0:l.lines;if(null==v?void 0:v.enable){const t=v.frequency,e=et(v.color);c()<t&&e&&(u=e,r=p(v.opacity))}if(!u){const e=t.options.links,o=void 0!==(null==e?void 0:e.id)?i.particles.linksColors.get(e.id):i.particles.linksColor;u=vt(t,n,o)}if(!u)return;const f=null!==(h=t.retina.linksWidth)&&void 0!==h?h:0,w=null!==(d=t.retina.linksDistance)&&void 0!==d?d:0;!function(t,e,i,o,n,s,a,r,l,c,h,d){let u=!1;if(m(i,o)<=n)mt(t,i,o),u=!0;else if(a){let e,a;const r=g(i,{x:o.x-s.width,y:o.y});if(r.distance<=n){const t=i.y-r.dy/r.dx*i.x;e={x:0,y:t},a={x:s.width,y:t}}else{const t=g(i,{x:o.x,y:o.y-s.height});if(t.distance<=n){const o=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);e={x:o,y:0},a={x:o,y:s.height}}else{const t=g(i,{x:o.x-s.width,y:o.y-s.height});if(t.distance<=n){const o=i.y-t.dy/t.dx*i.x;e={x:-o/(t.dy/t.dx),y:o},a={x:e.x+s.width,y:e.y+s.height}}}}e&&a&&(mt(t,i,e),mt(t,o,a),u=!0)}if(u){if(t.lineWidth=e,r&&(t.globalCompositeOperation=l),t.strokeStyle=dt(c,h),d.enable){const e=et(d.color);e&&(t.shadowBlur=d.blur,t.shadowColor=dt(e))}t.stroke()}}(e,f,s,a,w,i.canvas.size,t.options.links.warp,o.backgroundMask.enable,o.backgroundMask.composite,u,r,t.options.links.shadow)}))}drawLinkTriangle(t,e,i){var o;if(!t.options.links)return;const n=this.container,s=n.actualOptions,a=e.destination,r=i.destination,l=t.options.links.triangles,c=null!==(o=l.opacity)&&void 0!==o?o:(e.opacity+i.opacity)/2;c<=0||n.canvas.draw((e=>{var i;const o=t.getPosition(),h=a.getPosition(),d=r.getPosition(),u=null!==(i=t.retina.linksDistance)&&void 0!==i?i:0;if(m(o,h)>u||m(d,h)>u||m(d,o)>u)return;let p=et(l.color);if(!p){const e=t.options.links,i=void 0!==(null==e?void 0:e.id)?n.particles.linksColors.get(e.id):n.particles.linksColor;p=vt(t,a,i)}p&&function(t,e,i,o,n,s,a,r){bt(t,e,i,o),n&&(t.globalCompositeOperation=s),t.fillStyle=dt(a,r),t.fill()}(e,o,h,d,s.backgroundMask.enable,s.backgroundMask.composite,p,c)}))}drawTriangles(t,e,i,o,n){var s,a,r;const l=o.destination,c=t.particles;if(!(null===(s=e.links)||void 0===s?void 0:s.triangles.enable)||!(null===(a=l.options.links)||void 0===a?void 0:a.triangles.enable))return;const h=null===(r=l.links)||void 0===r?void 0:r.filter((e=>{const i=t.particles.getLinkFrequency(l,e.destination);return l.options.links&&i<=l.options.links.frequency&&n.findIndex((t=>t.destination===e.destination))>=0}));if(null==h?void 0:h.length)for(const t of h){const n=t.destination;c.getTriangleFrequency(i,l,n)>e.links.triangles.frequency||this.drawLinkTriangle(i,o,t)}}}class sa{constructor(){this.id="links"}getPlugin(t){return new na(t)}loadOptions(){}needsPlugin(){return!0}}async function aa(t){await async function(t){await t.addInteractor("particlesLinks",(t=>new oa(t)))}(t),await async function(t){const e=new sa;await t.addPlugin(e)}(t)}class ra{draw(t,e,i){const o=this.getCenter(e,i),n=this.getSidesData(e,i),s=n.count.numerator*n.count.denominator,a=n.count.numerator/n.count.denominator,r=180*(a-2)/a,l=Math.PI-Math.PI*r/180;if(t){t.beginPath(),t.translate(o.x,o.y),t.moveTo(0,0);for(let e=0;e<s;e++)t.lineTo(n.length,0),t.translate(n.length,0),t.rotate(l)}}getSidesCount(t){var e,i;const o=t.shapeData;return null!==(i=null!==(e=null==o?void 0:o.sides)&&void 0!==e?e:null==o?void 0:o.nb_sides)&&void 0!==i?i:5}}class la extends ra{getCenter(t,e){return{x:-e/(this.getSidesCount(t)/3.5),y:-e/.76}}getSidesData(t,e){var i,o;const n=t.shapeData,s=null!==(o=null!==(i=null==n?void 0:n.sides)&&void 0!==i?i:null==n?void 0:n.nb_sides)&&void 0!==o?o:5;return{count:{denominator:1,numerator:s},length:2.66*e/(s/3)}}}class ca extends ra{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 ha(t){await async function(t){await t.addShape("polygon",new la)}(t),await async function(t){await t.addShape("triangle",new ca)}(t)}class da{init(){}isEnabled(t){var e,i,o,n;return!t.destroyed&&!t.spawning&&t.size.enable&&((null!==(e=t.size.maxLoops)&&void 0!==e?e:0)<=0||(null!==(i=t.size.maxLoops)&&void 0!==i?i:0)>0&&(null!==(o=t.size.loops)&&void 0!==o?o:0)<(null!==(n=t.size.maxLoops)&&void 0!==n?n:0))}update(t,e){this.isEnabled(t)&&function(t,e){var i,o,n,s,a;const r=(null!==(i=t.size.velocity)&&void 0!==i?i:0)*e.factor,l=t.size.min,c=t.size.max,d=null!==(o=t.size.decay)&&void 0!==o?o:1;if(!(t.destroyed||!t.size.enable||(null!==(n=t.size.maxLoops)&&void 0!==n?n:0)>0&&(null!==(s=t.size.loops)&&void 0!==s?s:0)>(null!==(a=t.size.maxLoops)&&void 0!==a?a:0))){switch(t.size.status){case 0:t.size.value>=c?(t.size.status=1,t.size.loops||(t.size.loops=0),t.size.loops++):t.size.value+=r;break;case 1:t.size.value<=l?(t.size.status=0,t.size.loops||(t.size.loops=0),t.size.loops++):t.size.value-=r}t.size.velocity&&1!==d&&(t.size.velocity*=d),function(t,e,i,o){switch(t.options.size.animation.destroy){case"max":e>=o&&t.destroy();break;case"min":e<=i&&t.destroy()}}(t,t.size.value,l,c),t.destroyed||(t.size.value=h(t.size.value,l,c))}}(t,e)}}const ua=Math.sqrt(2);class pa{draw(t,e,i){t.rect(-i/ua,-i/ua,2*i/ua,2*i/ua)}getSidesCount(){return 4}}class va{draw(t,e,i){var o;const n=e.shapeData,s=this.getSidesCount(e),a=null!==(o=null==n?void 0:n.inset)&&void 0!==o?o:2;t.moveTo(0,0-i);for(let e=0;e<s;e++)t.rotate(Math.PI/s),t.lineTo(0,0-i*a),t.rotate(Math.PI/s),t.lineTo(0,0-i)}getSidesCount(t){var e,i;const o=t.shapeData;return null!==(i=null!==(e=null==o?void 0:o.sides)&&void 0!==e?e:null==o?void 0:o.nb_sides)&&void 0!==i?i:5}}function fa(t,e,i,o,n){var s,a;const r=e;if(!r||!r.enable)return;const l=u(i.offset),c=(null!==(s=e.velocity)&&void 0!==s?s:0)*t.factor+3.6*l,h=null!==(a=e.decay)&&void 0!==a?a:1;n&&0!==r.status?(r.value-=c,r.value<0&&(r.status=0,r.value+=r.value)):(r.value+=c,n&&r.value>o&&(r.status=1,r.value-=r.value%o)),r.velocity&&1!==h&&(r.velocity*=h),r.value>o&&(r.value%=o)}class wa{constructor(t){this.container=t}init(t){var e,i;const o=this.container;t.stroke=t.options.stroke instanceof Array?H(t.options.stroke,t.id,t.options.reduceDuplicates):t.options.stroke,t.strokeWidth=t.stroke.width*o.retina.pixelRatio;const n=null!==(e=nt(t.stroke.color))&&void 0!==e?e:t.getFillColor();n&&(t.strokeColor=yt(n,null===(i=t.stroke.color)||void 0===i?void 0:i.animation,o.retina.reduceFactor))}isEnabled(t){var e,i,o,n;const s=null===(e=t.stroke)||void 0===e?void 0:e.color;return!t.destroyed&&!t.spawning&&!!s&&(void 0!==(null===(i=t.strokeColor)||void 0===i?void 0:i.h.value)&&s.animation.h.enable||void 0!==(null===(o=t.strokeColor)||void 0===o?void 0:o.s.value)&&s.animation.s.enable||void 0!==(null===(n=t.strokeColor)||void 0===n?void 0:n.l.value)&&s.animation.l.enable)}update(t,e){this.isEnabled(t)&&function(t,e){var i,o,n,s,a,r,l,c,h,d;if(!(null===(i=t.stroke)||void 0===i?void 0:i.color))return;const u=t.stroke.color.animation,p=null!==(n=null===(o=t.strokeColor)||void 0===o?void 0:o.h)&&void 0!==n?n:null===(s=t.color)||void 0===s?void 0:s.h;p&&fa(e,p,u.h,360,!1);const v=null!==(r=null===(a=t.strokeColor)||void 0===a?void 0:a.s)&&void 0!==r?r:null===(l=t.color)||void 0===l?void 0:l.s;v&&fa(e,v,u.s,100,!0);const f=null!==(h=null===(c=t.strokeColor)||void 0===c?void 0:c.l)&&void 0!==h?h:null===(d=t.color)||void 0===d?void 0:d.l;f&&fa(e,f,u.l,100,!0)}(t,e)}}const ya=["text","character","char"];class ga{draw(t,e,i,o){var n,s,a;const r=e.shapeData;if(void 0===r)return;const l=r.value;if(void 0===l)return;const c=e;void 0===c.text&&(c.text=l instanceof Array?H(l,e.randomIndexData):l);const h=c.text,d=null!==(n=r.style)&&void 0!==n?n:"",u=null!==(s=r.weight)&&void 0!==s?s:"400",p=2*Math.round(i),v=null!==(a=r.font)&&void 0!==a?a:"Verdana",f=e.fill,w=h.length*i/2;t.font=`${d} ${u} ${p}px "${v}"`;const y={x:-w,y:i/2};t.globalAlpha=o,f?t.fillText(h,y.x,y.y):t.strokeText(h,y.x,y.y),t.globalAlpha=1}getSidesCount(){return 12}async init(t){const e=t.actualOptions;if(ya.find((t=>z(t,e.particles.shape.type)))){const t=ya.map((t=>e.particles.shape.options[t])).find((t=>!!t));if(t instanceof Array){const e=[];for(const i of t){const t=i;e.push(L(t.font,t.weight))}await Promise.allSettled(e)}else if(void 0!==t){const e=t;await L(e.font,e.weight)}}}}async function ma(t){await async function(t){t.addMover("base",(()=>new Tn))}(t),await async function(t){t.addMover("parallax",(()=>new $s))}(t),await async function(t){await t.addInteractor("externalAttract",(t=>new Ln(t)))}(t),await async function(t){await t.addInteractor("externalBounce",(t=>new Fn(t)))}(t),await async function(t){await t.addInteractor("externalBubble",(t=>new Zn(t)))}(t),await async function(t){await t.addInteractor("externalConnect",(t=>new os(t)))}(t),await async function(t){await t.addInteractor("externalGrab",(t=>new hs(t)))}(t),await function(t){t.addInteractor("externalPause",(t=>new ds(t)))}(t),await async function(t){await t.addInteractor("externalPush",(t=>new ws(t)))}(t),await function(t){t.addInteractor("externalRemove",(t=>new Ss(t)))}(t),await async function(t){await t.addInteractor("externalRepulse",(t=>new Ts(t)))}(t),await async function(t){await t.addInteractor("particlesAttract",(t=>new Zs(t)))}(t),await async function(t){await t.addInteractor("particlesCollisions",(t=>new Js(t)))}(t),await aa(t),await async function(t){await t.addShape("circle",new Vn)}(t),await async function(t){const e=new Ls;await t.addShape("image",e),await t.addShape("images",e)}(t),await async function(t){await t.addShape("line",new Fs)}(t),await ha(t),await async function(t){const e=new pa;await t.addShape("edge",e),await t.addShape("square",e)}(t),await async function(t){await t.addShape("star",new va)}(t),await async function(t){const e=new ga;for(const i of ya)await t.addShape(i,e)}(t),await async function(t){await t.addParticleUpdater("life",(t=>new js(t)))}(t),await async function(t){await t.addParticleUpdater("opacity",(t=>new Ns(t)))}(t),await async function(t){await t.addParticleUpdater("size",(()=>new da))}(t),await async function(t){await t.addParticleUpdater("angle",(t=>new En(t)))}(t),await async function(t){await t.addParticleUpdater("color",(t=>new On(t)))}(t),await async function(t){await t.addParticleUpdater("strokeColor",(t=>new wa(t)))}(t),await async function(t){await t.addParticleUpdater("outModes",(t=>new Qs(t)))}(t),await(t=>{const e=(e,i)=>t.load(e,i);return e.load=(e,i,o)=>{t.loadJSON(e,i).then((t=>{t&&o(t)})).catch((()=>{o(void 0)}))},e.setOnClickHandler=e=>{t.setOnClickHandler(e)},{particlesJS:e,pJSDom:t.dom()}})(t)}class ba{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class Sa extends ke{constructor(){super(),this.animation=new ba,this.direction="clockwise",this.enable=!1,this.value=0}load(t){super.load(t),t&&(this.animation.load(t.animation),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.enable&&(this.enable=t.enable))}}class Pa{constructor(t){this.container=t}getTransformValues(t){var e;const i=(null===(e=t.tilt)||void 0===e?void 0:e.enable)&&t.tilt;return{b:i?Math.cos(i.value)*i.cosDirection:void 0,c:i?Math.sin(i.value)*i.sinDirection:void 0}}init(t){var e;const i=t.options.tilt;if(!i)return;t.tilt={enable:i.enable,value:p(i.value)*Math.PI/180,sinDirection:c()>=.5?1:-1,cosDirection:c()>=.5?1:-1};let o=i.direction;if("random"===o){o=Math.floor(2*c())>0?"counter-clockwise":"clockwise"}switch(o){case"counter-clockwise":case"counterClockwise":t.tilt.status=1;break;case"clockwise":t.tilt.status=0}const n=null===(e=t.options.tilt)||void 0===e?void 0:e.animation;(null==n?void 0:n.enable)&&(t.tilt.decay=1-p(n.decay),t.tilt.velocity=p(n.speed)/360*this.container.retina.reduceFactor,n.sync||(t.tilt.velocity*=c()))}isEnabled(t){var e;const i=null===(e=t.options.tilt)||void 0===e?void 0:e.animation;return!t.destroyed&&!t.spawning&&!!(null==i?void 0:i.enable)}loadOptions(t,...e){t.tilt||(t.tilt=new Sa);for(const i of e)t.tilt.load(null==i?void 0:i.tilt)}update(t,e){this.isEnabled(t)&&function(t,e){var i,o;if(!t.tilt||!t.options.tilt)return;const n=t.options.tilt.animation,s=(null!==(i=t.tilt.velocity)&&void 0!==i?i:0)*e.factor,a=2*Math.PI,r=null!==(o=t.tilt.decay)&&void 0!==o?o:1;n.enable&&(0===t.tilt.status?(t.tilt.value+=s,t.tilt.value>a&&(t.tilt.value-=a)):(t.tilt.value-=s,t.tilt.value<0&&(t.tilt.value+=a)),t.tilt.velocity&&1!==r&&(t.tilt.velocity*=r))}(t,e)}}class _a{constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(t){t&&(void 0!==t.color&&(this.color=ee.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=w(t.opacity)))}}class xa{constructor(){this.lines=new _a,this.particles=new _a}load(t){t&&(this.lines.load(t.lines),this.particles.load(t.particles))}}class Ca{getColorStyles(t,e,i,o){const n=t.options.twinkle;if(!n)return{};const s=n.particles,a=s.enable&&c()<s.frequency,r=t.options.zIndex,l=(1-t.zIndexFactor)**r.opacityRate,h=a?p(s.opacity)*l:o,d=nt(s.color),u=d?ut(d,h):void 0,v={},f=a&&u;return v.fill=f?u:void 0,v.stroke=f?u:void 0,v}init(){}isEnabled(t){const e=t.options.twinkle;return!!e&&e.particles.enable}loadOptions(t,...e){t.twinkle||(t.twinkle=new xa);for(const i of e)t.twinkle.load(null==i?void 0:i.twinkle)}update(){}}class Aa{constructor(){this.angle=50,this.move=10}load(t){t&&(void 0!==t.angle&&(this.angle=w(t.angle)),void 0!==t.move&&(this.move=w(t.move)))}}class Ea{constructor(){this.distance=5,this.enable=!1,this.speed=new Aa}load(t){if(t&&(void 0!==t.distance&&(this.distance=w(t.distance)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed))if("number"==typeof t.speed)this.speed.load({angle:t.speed});else{const e=t.speed;void 0!==e.min?this.speed.load({angle:e}):this.speed.load(t.speed)}}}class Ta{constructor(t){this.container=t}init(t){var e;const i=t.options.wobble;(null==i?void 0:i.enable)?t.wobble={angle:c()*Math.PI*2,angleSpeed:p(i.speed.angle)/360,moveSpeed:p(i.speed.move)/10}:t.wobble={angle:0,angleSpeed:0,moveSpeed:0},t.retina.wobbleDistance=p(null!==(e=null==i?void 0:i.distance)&&void 0!==e?e:0)*this.container.retina.pixelRatio}isEnabled(t){var e;return!t.destroyed&&!t.spawning&&!!(null===(e=t.options.wobble)||void 0===e?void 0:e.enable)}loadOptions(t,...e){t.wobble||(t.wobble=new Ea);for(const i of e)t.wobble.load(null==i?void 0:i.wobble)}update(t,e){this.isEnabled(t)&&function(t,e){var i;const o=t.options.wobble;if(!(null==o?void 0:o.enable)||!t.wobble)return;const n=t.wobble.angleSpeed*e.factor,s=t.wobble.moveSpeed*e.factor*((null!==(i=t.retina.wobbleDistance)&&void 0!==i?i:0)*e.factor)/(1e3/60),a=2*Math.PI;t.wobble.angle+=n,t.wobble.angle>a&&(t.wobble.angle-=a),t.position.x+=s*Math.cos(t.wobble.angle),t.position.y+=s*Math.abs(Math.sin(t.wobble.angle))}(t,e)}}async function Va(t){await ma(t),await async function(t){await t.addParticleUpdater("roll",(()=>new An))}(t),await async function(t){await t.addParticleUpdater("tilt",(t=>new Pa(t)))}(t),await async function(t){await t.addParticleUpdater("twinkle",(()=>new Ca))}(t),await async function(t){await t.addParticleUpdater("wobble",(t=>new Ta(t)))}(t),await async function(t){await t.addInteractor("externalTrail",(t=>new sn(t)))}(t),await async function(t){const e=new To;await t.addPlugin(e)}(t),await async function(t){t.emitterShapeManager||(t.emitterShapeManager=new Qo(t)),t.addEmitterShape||(t.addEmitterShape=(e,i)=>{var o;null===(o=t.emitterShapeManager)||void 0===o||o.addShape(e,i)});const e=new Ko(t);await t.addPlugin(e),t.addEmitterShape("circle",new Vo),t.addEmitterShape("square",new Zo)}(t),await async function(t){const e=new _n(t);await t.addPlugin(e)}(t)}Va(Po)})(),o})()));
|
|
2
|
+
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(this,(()=>(()=>{"use strict";var t={939:()=>{!function(){try{if("undefined"==typeof window)return;"SVGPathSeg"in window||(window.SVGPathSeg=function(t,e,i){this.pathSegType=t,this.pathSegTypeAsLetter=e,this._owningPathSegList=i},window.SVGPathSeg.prototype.classname="SVGPathSeg",window.SVGPathSeg.PATHSEG_UNKNOWN=0,window.SVGPathSeg.PATHSEG_CLOSEPATH=1,window.SVGPathSeg.PATHSEG_MOVETO_ABS=2,window.SVGPathSeg.PATHSEG_MOVETO_REL=3,window.SVGPathSeg.PATHSEG_LINETO_ABS=4,window.SVGPathSeg.PATHSEG_LINETO_REL=5,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS=6,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL=7,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS=8,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL=9,window.SVGPathSeg.PATHSEG_ARC_ABS=10,window.SVGPathSeg.PATHSEG_ARC_REL=11,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS=12,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL=13,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS=14,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL=15,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS=16,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL=17,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS=18,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL=19,window.SVGPathSeg.prototype._segmentChanged=function(){this._owningPathSegList&&this._owningPathSegList.segmentChanged(this)},window.SVGPathSegClosePath=function(t){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CLOSEPATH,"z",t)},window.SVGPathSegClosePath.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegClosePath.prototype.toString=function(){return"[object SVGPathSegClosePath]"},window.SVGPathSegClosePath.prototype._asPathString=function(){return this.pathSegTypeAsLetter},window.SVGPathSegClosePath.prototype.clone=function(){return new window.SVGPathSegClosePath(void 0)},window.SVGPathSegMovetoAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_MOVETO_ABS,"M",t),this._x=e,this._y=i},window.SVGPathSegMovetoAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegMovetoAbs.prototype.toString=function(){return"[object SVGPathSegMovetoAbs]"},window.SVGPathSegMovetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegMovetoAbs.prototype.clone=function(){return new window.SVGPathSegMovetoAbs(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegMovetoAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegMovetoAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegMovetoRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_MOVETO_REL,"m",t),this._x=e,this._y=i},window.SVGPathSegMovetoRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegMovetoRel.prototype.toString=function(){return"[object SVGPathSegMovetoRel]"},window.SVGPathSegMovetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegMovetoRel.prototype.clone=function(){return new window.SVGPathSegMovetoRel(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegMovetoRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegMovetoRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_ABS,"L",t),this._x=e,this._y=i},window.SVGPathSegLinetoAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoAbs.prototype.toString=function(){return"[object SVGPathSegLinetoAbs]"},window.SVGPathSegLinetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegLinetoAbs.prototype.clone=function(){return new window.SVGPathSegLinetoAbs(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegLinetoAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegLinetoAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_REL,"l",t),this._x=e,this._y=i},window.SVGPathSegLinetoRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoRel.prototype.toString=function(){return"[object SVGPathSegLinetoRel]"},window.SVGPathSegLinetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegLinetoRel.prototype.clone=function(){return new window.SVGPathSegLinetoRel(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegLinetoRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegLinetoRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicAbs=function(t,e,i,o,n,s,a){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS,"C",t),this._x=e,this._y=i,this._x1=o,this._y1=n,this._x2=s,this._y2=a},window.SVGPathSegCurvetoCubicAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicAbs]"},window.SVGPathSegCurvetoCubicAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicAbs(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicRel=function(t,e,i,o,n,s,a){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL,"c",t),this._x=e,this._y=i,this._x1=o,this._y1=n,this._x2=s,this._y2=a},window.SVGPathSegCurvetoCubicRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicRel.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicRel]"},window.SVGPathSegCurvetoCubicRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicRel.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicRel(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticAbs=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS,"Q",t),this._x=e,this._y=i,this._x1=o,this._y1=n},window.SVGPathSegCurvetoQuadraticAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticAbs]"},window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticAbs(void 0,this._x,this._y,this._x1,this._y1)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticRel=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL,"q",t),this._x=e,this._y=i,this._x1=o,this._y1=n},window.SVGPathSegCurvetoQuadraticRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticRel.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticRel]"},window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticRel.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticRel(void 0,this._x,this._y,this._x1,this._y1)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"x1",{get:function(){return this._x1},set:function(t){this._x1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,"y1",{get:function(){return this._y1},set:function(t){this._y1=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegArcAbs=function(t,e,i,o,n,s,a,r){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_ARC_ABS,"A",t),this._x=e,this._y=i,this._r1=o,this._r2=n,this._angle=s,this._largeArcFlag=a,this._sweepFlag=r},window.SVGPathSegArcAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegArcAbs.prototype.toString=function(){return"[object SVGPathSegArcAbs]"},window.SVGPathSegArcAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y},window.SVGPathSegArcAbs.prototype.clone=function(){return new window.SVGPathSegArcAbs(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)},Object.defineProperty(window.SVGPathSegArcAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"r1",{get:function(){return this._r1},set:function(t){this._r1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"r2",{get:function(){return this._r2},set:function(t){this._r2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"angle",{get:function(){return this._angle},set:function(t){this._angle=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"largeArcFlag",{get:function(){return this._largeArcFlag},set:function(t){this._largeArcFlag=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcAbs.prototype,"sweepFlag",{get:function(){return this._sweepFlag},set:function(t){this._sweepFlag=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegArcRel=function(t,e,i,o,n,s,a,r){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_ARC_REL,"a",t),this._x=e,this._y=i,this._r1=o,this._r2=n,this._angle=s,this._largeArcFlag=a,this._sweepFlag=r},window.SVGPathSegArcRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegArcRel.prototype.toString=function(){return"[object SVGPathSegArcRel]"},window.SVGPathSegArcRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y},window.SVGPathSegArcRel.prototype.clone=function(){return new window.SVGPathSegArcRel(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)},Object.defineProperty(window.SVGPathSegArcRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"r1",{get:function(){return this._r1},set:function(t){this._r1=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"r2",{get:function(){return this._r2},set:function(t){this._r2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"angle",{get:function(){return this._angle},set:function(t){this._angle=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"largeArcFlag",{get:function(){return this._largeArcFlag},set:function(t){this._largeArcFlag=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegArcRel.prototype,"sweepFlag",{get:function(){return this._sweepFlag},set:function(t){this._sweepFlag=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoHorizontalAbs=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS,"H",t),this._x=e},window.SVGPathSegLinetoHorizontalAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoHorizontalAbs.prototype.toString=function(){return"[object SVGPathSegLinetoHorizontalAbs]"},window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x},window.SVGPathSegLinetoHorizontalAbs.prototype.clone=function(){return new window.SVGPathSegLinetoHorizontalAbs(void 0,this._x)},Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoHorizontalRel=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL,"h",t),this._x=e},window.SVGPathSegLinetoHorizontalRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoHorizontalRel.prototype.toString=function(){return"[object SVGPathSegLinetoHorizontalRel]"},window.SVGPathSegLinetoHorizontalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x},window.SVGPathSegLinetoHorizontalRel.prototype.clone=function(){return new window.SVGPathSegLinetoHorizontalRel(void 0,this._x)},Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoVerticalAbs=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS,"V",t),this._y=e},window.SVGPathSegLinetoVerticalAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoVerticalAbs.prototype.toString=function(){return"[object SVGPathSegLinetoVerticalAbs]"},window.SVGPathSegLinetoVerticalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._y},window.SVGPathSegLinetoVerticalAbs.prototype.clone=function(){return new window.SVGPathSegLinetoVerticalAbs(void 0,this._y)},Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegLinetoVerticalRel=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL,"v",t),this._y=e},window.SVGPathSegLinetoVerticalRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegLinetoVerticalRel.prototype.toString=function(){return"[object SVGPathSegLinetoVerticalRel]"},window.SVGPathSegLinetoVerticalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._y},window.SVGPathSegLinetoVerticalRel.prototype.clone=function(){return new window.SVGPathSegLinetoVerticalRel(void 0,this._y)},Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicSmoothAbs=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,"S",t),this._x=e,this._y=i,this._x2=o,this._y2=n},window.SVGPathSegCurvetoCubicSmoothAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicSmoothAbs]"},window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicSmoothAbs(void 0,this._x,this._y,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoCubicSmoothRel=function(t,e,i,o,n){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL,"s",t),this._x=e,this._y=i,this._x2=o,this._y2=n},window.SVGPathSegCurvetoCubicSmoothRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicSmoothRel]"},window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y},window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicSmoothRel(void 0,this._x,this._y,this._x2,this._y2)},Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"x2",{get:function(){return this._x2},set:function(t){this._x2=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,"y2",{get:function(){return this._y2},set:function(t){this._y2=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticSmoothAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,"T",t),this._x=e,this._y=i},window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticSmoothAbs]"},window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathSegCurvetoQuadraticSmoothRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL,"t",t),this._x=e,this._y=i},window.SVGPathSegCurvetoQuadraticSmoothRel.prototype=Object.create(window.SVGPathSeg.prototype),window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticSmoothRel]"},window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y},window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticSmoothRel(void 0,this._x,this._y)},Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype,"x",{get:function(){return this._x},set:function(t){this._x=t,this._segmentChanged()},enumerable:!0}),Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype,"y",{get:function(){return this._y},set:function(t){this._y=t,this._segmentChanged()},enumerable:!0}),window.SVGPathElement.prototype.createSVGPathSegClosePath=function(){return new window.SVGPathSegClosePath(void 0)},window.SVGPathElement.prototype.createSVGPathSegMovetoAbs=function(t,e){return new window.SVGPathSegMovetoAbs(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegMovetoRel=function(t,e){return new window.SVGPathSegMovetoRel(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegLinetoAbs=function(t,e){return new window.SVGPathSegLinetoAbs(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegLinetoRel=function(t,e){return new window.SVGPathSegLinetoRel(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs=function(t,e,i,o,n,s){return new window.SVGPathSegCurvetoCubicAbs(void 0,t,e,i,o,n,s)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel=function(t,e,i,o,n,s){return new window.SVGPathSegCurvetoCubicRel(void 0,t,e,i,o,n,s)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs=function(t,e,i,o){return new window.SVGPathSegCurvetoQuadraticAbs(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel=function(t,e,i,o){return new window.SVGPathSegCurvetoQuadraticRel(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegArcAbs=function(t,e,i,o,n,s,a){return new window.SVGPathSegArcAbs(void 0,t,e,i,o,n,s,a)},window.SVGPathElement.prototype.createSVGPathSegArcRel=function(t,e,i,o,n,s,a){return new window.SVGPathSegArcRel(void 0,t,e,i,o,n,s,a)},window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs=function(t){return new window.SVGPathSegLinetoHorizontalAbs(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel=function(t){return new window.SVGPathSegLinetoHorizontalRel(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs=function(t){return new window.SVGPathSegLinetoVerticalAbs(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel=function(t){return new window.SVGPathSegLinetoVerticalRel(void 0,t)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs=function(t,e,i,o){return new window.SVGPathSegCurvetoCubicSmoothAbs(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel=function(t,e,i,o){return new window.SVGPathSegCurvetoCubicSmoothRel(void 0,t,e,i,o)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs=function(t,e){return new window.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,t,e)},window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel=function(t,e){return new window.SVGPathSegCurvetoQuadraticSmoothRel(void 0,t,e)},"getPathSegAtLength"in window.SVGPathElement.prototype||(window.SVGPathElement.prototype.getPathSegAtLength=function(t){if(void 0===t||!isFinite(t))throw"Invalid arguments.";const e=document.createElementNS("http://www.w3.org/2000/svg","path");e.setAttribute("d",this.getAttribute("d"));let i=e.pathSegList.numberOfItems-1;if(i<=0)return 0;do{if(e.pathSegList.removeItem(i),t>e.getTotalLength())break;i--}while(i>0);return i})),"SVGPathSegList"in window&&"appendItem"in window.SVGPathSegList.prototype||(window.SVGPathSegList=function(t){this._pathElement=t,this._list=this._parsePath(this._pathElement.getAttribute("d")),this._mutationObserverConfig={attributes:!0,attributeFilter:["d"]},this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.classname="SVGPathSegList",Object.defineProperty(window.SVGPathSegList.prototype,"numberOfItems",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(window.SVGPathSegList.prototype,"length",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"pathSegList",{get:function(){return this._pathSegList||(this._pathSegList=new window.SVGPathSegList(this)),this._pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"normalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedNormalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),window.SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())},window.SVGPathSegList.prototype._updateListFromPathMutations=function(t){if(!this._pathElement)return;let e=!1;t.forEach((function(t){"d"==t.attributeName&&(e=!0)})),e&&(this._list=this._parsePath(this._pathElement.getAttribute("d")))},window.SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect(),this._pathElement.setAttribute("d",window.SVGPathSegList._pathSegArrayAsString(this._list)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.segmentChanged=function(t){this._writeListToPath()},window.SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList(),this._list.forEach((function(t){t._owningPathSegList=null})),this._list=[],this._writeListToPath()},window.SVGPathSegList.prototype.initialize=function(t){return this._checkPathSynchronizedToList(),this._list=[t],t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype._checkValidIndex=function(t){if(isNaN(t)||t<0||t>=this.numberOfItems)throw"INDEX_SIZE_ERR"},window.SVGPathSegList.prototype.getItem=function(t){return this._checkPathSynchronizedToList(),this._checkValidIndex(t),this._list[t]},window.SVGPathSegList.prototype.insertItemBefore=function(t,e){return this._checkPathSynchronizedToList(),e>this.numberOfItems&&(e=this.numberOfItems),t._owningPathSegList&&(t=t.clone()),this._list.splice(e,0,t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.replaceItem=function(t,e){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._checkValidIndex(e),this._list[e]=t,t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.removeItem=function(t){this._checkPathSynchronizedToList(),this._checkValidIndex(t);const e=this._list[t];return this._list.splice(t,1),this._writeListToPath(),e},window.SVGPathSegList.prototype.appendItem=function(t){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._list.push(t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList._pathSegArrayAsString=function(t){let e="",i=!0;return t.forEach((function(t){i?(i=!1,e+=t._asPathString()):e+=" "+t._asPathString()})),e},window.SVGPathSegList.prototype._parsePath=function(t){if(!t||0==t.length)return[];const e=this,i=function(){this.pathSegList=[]};i.prototype.appendSegment=function(t){this.pathSegList.push(t)};const o=function(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._previousCommand=window.SVGPathSeg.PATHSEG_UNKNOWN,this._skipOptionalSpaces()};o.prototype._isCurrentSpace=function(){const t=this._string[this._currentIndex];return t<=" "&&(" "==t||"\n"==t||"\t"==t||"\r"==t||"\f"==t)},o.prototype._skipOptionalSpaces=function(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex++;return this._currentIndex<this._endIndex},o.prototype._skipOptionalSpacesOrDelimiter=function(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!=this._string.charAt(this._currentIndex))&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","==this._string.charAt(this._currentIndex)&&(this._currentIndex++,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)},o.prototype.hasMoreData=function(){return this._currentIndex<this._endIndex},o.prototype.peekSegmentType=function(){const t=this._string[this._currentIndex];return this._pathSegTypeFromChar(t)},o.prototype._pathSegTypeFromChar=function(t){switch(t){case"Z":case"z":return window.SVGPathSeg.PATHSEG_CLOSEPATH;case"M":return window.SVGPathSeg.PATHSEG_MOVETO_ABS;case"m":return window.SVGPathSeg.PATHSEG_MOVETO_REL;case"L":return window.SVGPathSeg.PATHSEG_LINETO_ABS;case"l":return window.SVGPathSeg.PATHSEG_LINETO_REL;case"C":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;case"c":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;case"Q":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;case"q":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;case"A":return window.SVGPathSeg.PATHSEG_ARC_ABS;case"a":return window.SVGPathSeg.PATHSEG_ARC_REL;case"H":return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;case"h":return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;case"V":return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;case"v":return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;case"S":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;case"s":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;case"T":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;case"t":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;default:return window.SVGPathSeg.PATHSEG_UNKNOWN}},o.prototype._nextCommandHelper=function(t,e){return("+"==t||"-"==t||"."==t||t>="0"&&t<="9")&&e!=window.SVGPathSeg.PATHSEG_CLOSEPATH?e==window.SVGPathSeg.PATHSEG_MOVETO_ABS?window.SVGPathSeg.PATHSEG_LINETO_ABS:e==window.SVGPathSeg.PATHSEG_MOVETO_REL?window.SVGPathSeg.PATHSEG_LINETO_REL:e:window.SVGPathSeg.PATHSEG_UNKNOWN},o.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData())return!0;const t=this.peekSegmentType();return t==window.SVGPathSeg.PATHSEG_MOVETO_ABS||t==window.SVGPathSeg.PATHSEG_MOVETO_REL},o.prototype._parseNumber=function(){let t=0,e=0,i=1,o=0,n=1,s=1;const a=this._currentIndex;if(this._skipOptionalSpaces(),this._currentIndex<this._endIndex&&"+"==this._string.charAt(this._currentIndex)?this._currentIndex++:this._currentIndex<this._endIndex&&"-"==this._string.charAt(this._currentIndex)&&(this._currentIndex++,n=-1),this._currentIndex==this._endIndex||(this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")&&"."!=this._string.charAt(this._currentIndex))return;const r=this._currentIndex;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)this._currentIndex++;if(this._currentIndex!=r){let t=this._currentIndex-1,i=1;for(;t>=r;)e+=i*(this._string.charAt(t--)-"0"),i*=10}if(this._currentIndex<this._endIndex&&"."==this._string.charAt(this._currentIndex)){if(this._currentIndex++,this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)i*=10,o+=(this._string.charAt(this._currentIndex)-"0")/i,this._currentIndex+=1}if(this._currentIndex!=a&&this._currentIndex+1<this._endIndex&&("e"==this._string.charAt(this._currentIndex)||"E"==this._string.charAt(this._currentIndex))&&"x"!=this._string.charAt(this._currentIndex+1)&&"m"!=this._string.charAt(this._currentIndex+1)){if(this._currentIndex++,"+"==this._string.charAt(this._currentIndex)?this._currentIndex++:"-"==this._string.charAt(this._currentIndex)&&(this._currentIndex++,s=-1),this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)t*=10,t+=this._string.charAt(this._currentIndex)-"0",this._currentIndex++}let l=e+o;return l*=n,t&&(l*=Math.pow(10,s*t)),a!=this._currentIndex?(this._skipOptionalSpacesOrDelimiter(),l):void 0},o.prototype._parseArcFlag=function(){if(this._currentIndex>=this._endIndex)return;let t=!1;const e=this._string.charAt(this._currentIndex++);if("0"==e)t=!1;else{if("1"!=e)return;t=!0}return this._skipOptionalSpacesOrDelimiter(),t},o.prototype.parseSegment=function(){const t=this._string[this._currentIndex];let i,o=this._pathSegTypeFromChar(t);if(o==window.SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==window.SVGPathSeg.PATHSEG_UNKNOWN)return null;if(o=this._nextCommandHelper(t,this._previousCommand),o==window.SVGPathSeg.PATHSEG_UNKNOWN)return null}else this._currentIndex++;switch(this._previousCommand=o,o){case window.SVGPathSeg.PATHSEG_MOVETO_REL:return new window.SVGPathSegMovetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_MOVETO_ABS:return new window.SVGPathSegMovetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_REL:return new window.SVGPathSegLinetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_ABS:return new window.SVGPathSegLinetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new window.SVGPathSegLinetoHorizontalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new window.SVGPathSegLinetoHorizontalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new window.SVGPathSegLinetoVerticalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new window.SVGPathSegLinetoVerticalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_CLOSEPATH:return this._skipOptionalSpaces(),new window.SVGPathSegClosePath(e);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicRel(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicAbs(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothRel(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothAbs(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticRel(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticAbs(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new window.SVGPathSegCurvetoQuadraticSmoothRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new window.SVGPathSegCurvetoQuadraticSmoothAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_ARC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcRel(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);case window.SVGPathSeg.PATHSEG_ARC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcAbs(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);default:throw"Unknown path seg type."}};const n=new i,s=new o(t);if(!s.initialCommandIsMoveTo())return[];for(;s.hasMoreData();){const t=s.parseSegment();if(!t)return[];n.appendSegment(t)}return n.pathSegList})}catch(t){console.warn("An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles",t)}}()}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var s=e[o]={exports:{}};return t[o](s,s.exports,i),s.exports}i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return(()=>{i.r(o),i.d(o,{AnimatableColor:()=>Ve,AnimationOptions:()=>Ze,Background:()=>ie,BackgroundMask:()=>ne,BackgroundMaskCover:()=>oe,Circle:()=>zi,CircleWarp:()=>Ii,ClickEvent:()=>ae,Collisions:()=>ze,CollisionsOverlap:()=>Ge,ColorAnimation:()=>Ee,Destroy:()=>De,DivEvent:()=>re,Events:()=>he,ExternalInteractorBase:()=>go,FullScreen:()=>se,HoverEvent:()=>ce,HslAnimation:()=>Te,HslColorManager:()=>wo,Interactivity:()=>be,ManualParticle:()=>Se,Modes:()=>we,Motion:()=>_e,MotionReduce:()=>Pe,Move:()=>$e,MoveAngle:()=>je,MoveAttract:()=>Fe,MoveGravity:()=>Ne,MovePath:()=>qe,MovePathDelay:()=>Be,MoveTrail:()=>Ue,Opacity:()=>Ye,OpacityAnimation:()=>Xe,Options:()=>Si,OptionsColor:()=>ee,OutModes:()=>We,Parallax:()=>le,ParticlesBounce:()=>Me,ParticlesBounceFactor:()=>Re,ParticlesDensity:()=>Je,ParticlesInteractorBase:()=>mo,ParticlesNumber:()=>Ke,ParticlesOptions:()=>ui,Point:()=>Ri,Range:()=>Mi,Rectangle:()=>Li,Responsive:()=>xe,RgbColorManager:()=>yo,Rotate:()=>ei,RotateAnimation:()=>ti,Shadow:()=>ii,Shape:()=>oi,Size:()=>si,SizeAnimation:()=>ni,Slow:()=>de,Spin:()=>Qe,Split:()=>He,SplitFactor:()=>Le,SplitRate:()=>Ie,Stroke:()=>ai,Theme:()=>Ae,ThemeDefault:()=>Ce,ValueWithRandom:()=>ke,Vector:()=>a,Vector3d:()=>Ei,ZIndex:()=>ri,addColorManager:()=>J,alterHsl:()=>Tt,animate:()=>R,areBoundsInside:()=>j,arrayRandomIndex:()=>I,calcEasing:()=>_,calcExactPositionOrRandomFromSize:()=>E,calcExactPositionOrRandomFromSizeRanged:()=>T,calcPositionFromSize:()=>x,calcPositionOrRandomFromSize:()=>C,calcPositionOrRandomFromSizeRanged:()=>A,calculateBounds:()=>F,cancelAnimation:()=>M,circleBounce:()=>$,circleBounceDataFromParticle:()=>Q,clamp:()=>h,clear:()=>Pt,collisionVelocity:()=>P,colorMix:()=>pt,colorToHsl:()=>ot,colorToRgb:()=>it,deepExtend:()=>N,divMode:()=>W,divModeExecute:()=>q,drawLine:()=>mt,drawParticle:()=>_t,drawParticlePlugin:()=>Et,drawPlugin:()=>At,drawShape:()=>xt,drawShapeAfterEffect:()=>Ct,drawTriangle:()=>bt,generatedAttribute:()=>Vt,getDistance:()=>m,getDistances:()=>g,getHslAnimationFromHsl:()=>yt,getHslFromAnimation:()=>wt,getLinkColor:()=>vt,getLinkRandomColor:()=>ft,getParticleBaseVelocity:()=>S,getParticleDirectionAngle:()=>b,getRandom:()=>c,getRandomRgbColor:()=>ht,getRangeMax:()=>f,getRangeMin:()=>v,getRangeValue:()=>p,getStyleFromHsl:()=>ut,getStyleFromRgb:()=>dt,getValue:()=>y,hslToRgb:()=>lt,hslaToRgba:()=>ct,isDivModeEnabled:()=>B,isInArray:()=>z,isPointInside:()=>D,isSsr:()=>k,itemFromArray:()=>H,loadFont:()=>L,loadFull:()=>Va,loadOptions:()=>pi,loadParticlesOptions:()=>vi,loadSlim:()=>ma,mix:()=>d,mouseDownEvent:()=>Ot,mouseLeaveEvent:()=>Lt,mouseMoveEvent:()=>Rt,mouseOutEvent:()=>It,mouseUpEvent:()=>kt,noPolygonDataLoaded:()=>Ft,noPolygonFound:()=>Nt,paintBase:()=>St,parseAlpha:()=>V,randomInRange:()=>u,rangeColorToHsl:()=>nt,rangeColorToRgb:()=>et,rectBounce:()=>Z,resizeEvent:()=>Dt,rgbToHsl:()=>st,setRandom:()=>l,setRangeValue:()=>w,singleDivModeExecute:()=>U,stringToAlpha:()=>at,stringToRgb:()=>rt,touchCancelEvent:()=>Ht,touchEndEvent:()=>Gt,touchMoveEvent:()=>zt,touchStartEvent:()=>Mt,tsParticles:()=>Po,visibilityChangeEvent:()=>jt});var t,e=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},n=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class s{constructor(){t.set(this,void 0),e(this,t,new Map,"f")}addEventListener(e,i){var o;this.removeEventListener(e,i),n(this,t,"f").get(e)||n(this,t,"f").set(e,[]),null===(o=n(this,t,"f").get(e))||void 0===o||o.push(i)}dispatchEvent(e,i){var o;null===(o=n(this,t,"f").get(e))||void 0===o||o.forEach((t=>t(i)))}hasEventListener(e){return!!n(this,t,"f").get(e)}removeAllEventListeners(i){i?n(this,t,"f").delete(i):e(this,t,new Map,"f")}removeEventListener(e,i){const o=n(this,t,"f").get(e);if(!o)return;const s=o.length,a=o.indexOf(i);a<0||(1===s?n(this,t,"f").delete(e):o.splice(a,1))}}t=new WeakMap;class a{constructor(t,e){if("number"!=typeof t&&t)this.x=t.x,this.y=t.y;else{if(void 0===t||void 0===e)throw new Error("tsParticles - Vector not initialized correctly");this.x=t,this.y=e}}static get origin(){return a.create(0,0)}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 a.create(t.x,t.y)}static create(t,e){return new a(t,e)}add(t){return a.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}copy(){return a.clone(this)}distanceTo(t){return this.sub(t).length}distanceToSq(t){return this.sub(t).getLengthSq()}div(t){return a.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}getLengthSq(){return this.x**2+this.y**2}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}mult(t){return a.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}rotate(t){return a.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}setTo(t){this.x=t.x,this.y=t.y}sub(t){return a.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}let r=Math.random;function l(t=Math.random){r=t}function c(){return h(r(),0,1-1e-16)}function h(t,e,i){return Math.min(Math.max(t,e),i)}function d(t,e,i,o){return Math.floor((t*i+e*o)/(i+o))}function u(t){const e=f(t);let i=v(t);return e===i&&(i=0),c()*(e-i)+i}function p(t){return"number"==typeof t?t:u(t)}function v(t){return"number"==typeof t?t:t.min}function f(t){return"number"==typeof t?t:t.max}function w(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const i=v(t),o=f(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(o,e)}:w(i,o)}function y(t){const e=t.random,{enable:i,minimumValue:o}="boolean"==typeof e?{enable:e,minimumValue:0}:e;return p(i?w(t.value,o):t.value)}function g(t,e){const i=t.x-e.x,o=t.y-e.y;return{dx:i,dy:o,distance:Math.sqrt(i*i+o*o)}}function m(t,e){return g(t,e).distance}function b(t,e,i){if("number"==typeof t)return t*Math.PI/180;switch(t){case"top":return-Math.PI/2;case"top-right":return-Math.PI/4;case"right":return 0;case"bottom-right":return Math.PI/4;case"bottom":return Math.PI/2;case"bottom-left":return 3*Math.PI/4;case"left":return Math.PI;case"top-left":return-3*Math.PI/4;case"inside":return Math.atan2(i.y-e.y,i.x-e.x);case"outside":return Math.atan2(e.y-i.y,e.x-i.x);default:return c()*Math.PI*2}}function S(t){const e=a.origin;return e.length=1,e.angle=t,e}function P(t,e,i,o){return a.create(t.x*(i-o)/(i+o)+2*e.x*o/(i+o),t.y)}function _(t,e){switch(e){case"ease-out-quad":return 1-(1-t)**2;case"ease-out-cubic":return 1-(1-t)**3;case"ease-out-quart":return 1-(1-t)**4;case"ease-out-quint":return 1-(1-t)**5;case"ease-out-expo":return 1===t?1:1-Math.pow(2,-10*t);case"ease-out-sine":return Math.sin(t*Math.PI/2);case"ease-out-back":{const e=1.70158;return 1+(e+1)*Math.pow(t-1,3)+e*Math.pow(t-1,2)}case"ease-out-circ":return Math.sqrt(1-Math.pow(t-1,2));default:return t}}function x(t){var e,i;return void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?{x:t.position.x*t.size.width/100,y:t.position.y*t.size.height/100}:void 0}function C(t){var e,i,o,n;return{x:(null!==(i=null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==i?i:100*c())*t.size.width/100,y:(null!==(n=null===(o=t.position)||void 0===o?void 0:o.y)&&void 0!==n?n:100*c())*t.size.height/100}}function A(t){var e,i;const o={x:void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)?p(t.position.x):void 0,y:void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?p(t.position.y):void 0};return C({size:t.size,position:o})}function E(t){var e,i,o,n;return{x:null!==(i=null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==i?i:c()*t.size.width,y:null!==(n=null===(o=t.position)||void 0===o?void 0:o.y)&&void 0!==n?n:c()*t.size.height}}function T(t){var e,i;const o={x:void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)?p(t.position.x):void 0,y:void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?p(t.position.y):void 0};return E({size:t.size,position:o})}function V(t){return t.endsWith("%")?parseFloat(t)/100:parseFloat(t)}function G(t,e,i,o,n,s){const a={bounced:!1};return e.min<o.min||e.min>o.max||e.max<o.min||e.max>o.max||(t.max>=i.min&&t.max<=(i.max+i.min)/2&&n>0||t.min<=i.max&&t.min>(i.max+i.min)/2&&n<0)&&(a.velocity=n*-s,a.bounced=!0),a}function O(t,e){if(!(e instanceof Array))return t.matches(e);for(const i of e)if(t.matches(i))return!0;return!1}function k(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function R(){return k()?t=>setTimeout(t):t=>(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||window.setTimeout)(t)}function M(){return k()?t=>clearTimeout(t):t=>(window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.clearTimeout)(t)}function z(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}async function L(t,e){try{await document.fonts.load(`${null!=e?e:"400"} 36px '${null!=t?t:"Verdana"}'`)}catch(t){}}function I(t){return Math.floor(c()*t.length)}function H(t,e,i=!0){return t[void 0!==e&&i?e%t.length:I(t)]}function D(t,e,i,o,n){return j(F(t,null!=o?o:0),e,i,n)}function j(t,e,i,o){let n=!0;return o&&"bottom"!==o||(n=t.top<e.height+i.x),!n||o&&"left"!==o||(n=t.right>i.x),!n||o&&"right"!==o||(n=t.left<e.width+i.y),!n||o&&"top"!==o||(n=t.bottom>i.y),n}function F(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function N(t,...e){for(const i of e){if(null==i)continue;if("object"!=typeof i){t=i;continue}const e=Array.isArray(i);!e||"object"==typeof t&&t&&Array.isArray(t)?e||"object"==typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const e in i){if("__proto__"===e)continue;const o=i[e],n="object"==typeof o,s=t;s[e]=n&&Array.isArray(o)?o.map((t=>N(s[e],t))):N(s[e],o)}}return t}function B(t,e){return e instanceof Array?!!e.find((e=>e.enable&&z(t,e.mode))):z(t,e.mode)}function q(t,e,i){if(e instanceof Array)for(const o of e){const e=o.mode;o.enable&&z(t,e)&&U(o,i)}else{const o=e.mode;e.enable&&z(t,o)&&U(e,i)}}function U(t,e){const i=t.selectors;if(i instanceof Array)for(const o of i)e(o,t);else e(i,t)}function W(t,e){if(e&&t)return t instanceof Array?t.find((t=>O(e,t.selectors))):O(e,t.selectors)?t:void 0}function Q(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:a.create(y(t.options.bounce.horizontal),y(t.options.bounce.vertical))}}function $(t,e){const{x:i,y:o}=t.velocity.sub(e.velocity),[n,s]=[t.position,e.position],{dx:a,dy:r}=g(s,n);if(i*a+o*r<0)return;const l=-Math.atan2(r,a),c=t.mass,h=e.mass,d=t.velocity.rotate(l),u=e.velocity.rotate(l),p=P(d,u,c,h),v=P(u,d,c,h),f=p.rotate(-l),w=v.rotate(-l);t.velocity.x=f.x*t.factor.x,t.velocity.y=f.y*t.factor.y,e.velocity.x=w.x*e.factor.x,e.velocity.y=w.y*e.factor.y}function Z(t,e){const i=F(t.getPosition(),t.getRadius()),o=G({min:i.left,max:i.right},{min:i.top,max:i.bottom},{min:e.left,max:e.right},{min:e.top,max:e.bottom},t.velocity.x,y(t.options.bounce.horizontal));o.bounced&&(void 0!==o.velocity&&(t.velocity.x=o.velocity),void 0!==o.position&&(t.position.x=o.position));const n=G({min:i.top,max:i.bottom},{min:i.left,max:i.right},{min:e.top,max:e.bottom},{min:e.left,max:e.right},t.velocity.y,y(t.options.bounce.vertical));n.bounced&&(void 0!==n.velocity&&(t.velocity.y=n.velocity),void 0!==n.position&&(t.position.y=n.position))}const X="random",Y=new Map;function J(t,e){Y.set(t,e)}function K(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function tt(t){for(const[,e]of Y)if(t.startsWith(e.stringPrefix))return e.parseString(t);const e=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,((t,e,i,o,n)=>e+e+i+i+o+o+(void 0!==n?n+n:""))),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(e);return i?{a:void 0!==i[4]?parseInt(i[4],16)/255:1,b:parseInt(i[3],16),g:parseInt(i[2],16),r:parseInt(i[1],16)}:void 0}function et(t,e,i=!0){if(!t)return;const o="string"==typeof t?{value:t}:t;if("string"==typeof o.value)return it(o.value,e,i);if(o.value instanceof Array)return et({value:H(o.value,e,i)});for(const[,t]of Y){const e=t.handleRangeColor(o);if(e)return e}}function it(t,e,i=!0){if(!t)return;const o="string"==typeof t?{value:t}:t;if("string"==typeof o.value)return o.value===X?ht():rt(o.value);if(o.value instanceof Array)return it({value:H(o.value,e,i)});for(const[,t]of Y){const e=t.handleColor(o);if(e)return e}}function ot(t,e,i=!0){const o=it(t,e,i);return o?st(o):void 0}function nt(t,e,i=!0){const o=et(t,e,i);return o?st(o):void 0}function st(t){const e=t.r/255,i=t.g/255,o=t.b/255,n=Math.max(e,i,o),s=Math.min(e,i,o),a={h:0,l:(n+s)/2,s:0};return n!==s&&(a.s=a.l<.5?(n-s)/(n+s):(n-s)/(2-n-s),a.h=e===n?(i-o)/(n-s):a.h=i===n?2+(o-e)/(n-s):4+(e-i)/(n-s)),a.l*=100,a.s*=100,a.h*=60,a.h<0&&(a.h+=360),a.h>=360&&(a.h-=360),a}function at(t){var e;return null===(e=tt(t))||void 0===e?void 0:e.a}function rt(t){return tt(t)}function lt(t){const e={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(i.s){const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,o=2*i.l-t;e.r=K(o,t,i.h+1/3),e.g=K(o,t,i.h),e.b=K(o,t,i.h-1/3)}else e.b=i.l,e.g=i.l,e.r=i.l;return e.r=Math.floor(255*e.r),e.g=Math.floor(255*e.g),e.b=Math.floor(255*e.b),e}function ct(t){const e=lt(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function ht(t){const e=null!=t?t:0;return{b:Math.floor(u(w(e,256))),g:Math.floor(u(w(e,256))),r:Math.floor(u(w(e,256)))}}function dt(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=e?e:1})`}function ut(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${null!=e?e:1})`}function pt(t,e,i,o){let n=t,s=e;return void 0===n.r&&(n=lt(t)),void 0===s.r&&(s=lt(e)),{b:d(n.b,s.b,i,o),g:d(n.g,s.g,i,o),r:d(n.r,s.r,i,o)}}function vt(t,e,i){var o,n;if(i===X)return ht();if("mid"!==i)return i;{const i=null!==(o=t.getFillColor())&&void 0!==o?o:t.getStrokeColor(),s=null!==(n=null==e?void 0:e.getFillColor())&&void 0!==n?n:null==e?void 0:e.getStrokeColor();if(i&&s&&e)return pt(i,s,t.getRadius(),e.getRadius());{const t=null!=i?i:s;if(t)return lt(t)}}}function ft(t,e,i){const o="string"==typeof t?t:t.value;return o===X?i?et({value:o}):e?X:"mid":et({value:o})}function wt(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function yt(t,e,i){const o={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(gt(o.h,e.h,i),gt(o.s,e.s,i),gt(o.l,e.l,i)),o}function gt(t,e,i){t.enable=e.enable,t.enable?(t.velocity=p(e.speed)/100*i,t.decay=1-p(e.decay),t.status=0,e.sync||(t.velocity*=c(),t.value*=c())):t.velocity=0}function mt(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function bt(t,e,i,o){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.lineTo(o.x,o.y),t.closePath()}function St(t,e,i){t.save(),t.fillStyle=null!=i?i:"rgba(0,0,0,0)",t.fillRect(0,0,e.width,e.height),t.restore()}function Pt(t,e){t.clearRect(0,0,e.width,e.height)}function _t(t){var e,i,o,n,s,a,r,l,c,h;const{container:d,context:u,particle:p,delta:v,colorStyles:f,backgroundMask:w,composite:y,radius:g,opacity:m,shadow:b,transform:S}=t,P=p.getPosition();u.save(),void 0!==S.a||void 0!==S.b||void 0!==S.c||void 0!==S.d?u.setTransform(null!==(e=S.a)&&void 0!==e?e:1,null!==(i=S.b)&&void 0!==i?i:0,null!==(o=S.c)&&void 0!==o?o:0,null!==(n=S.d)&&void 0!==n?n:1,P.x,P.y):u.translate(P.x,P.y),u.beginPath();const _=p.rotation+(p.options.rotate.path?p.velocity.angle:0);0!==_&&u.rotate(_),w&&(u.globalCompositeOperation=y);const x=p.shadowColor;b.enable&&x&&(u.shadowBlur=b.blur,u.shadowColor=dt(x),u.shadowOffsetX=b.offset.x,u.shadowOffsetY=b.offset.y),f.fill&&(u.fillStyle=f.fill);const C=p.stroke;u.lineWidth=null!==(s=p.strokeWidth)&&void 0!==s?s:0,f.stroke&&(u.strokeStyle=f.stroke),xt(d,u,p,g,m,v),(null!==(a=null==C?void 0:C.width)&&void 0!==a?a:0)>0&&u.stroke(),p.close&&u.closePath(),p.fill&&u.fill(),u.restore(),u.save(),void 0!==S.a||void 0!==S.b||void 0!==S.c||void 0!==S.d?u.setTransform(null!==(r=S.a)&&void 0!==r?r:1,null!==(l=S.b)&&void 0!==l?l:0,null!==(c=S.c)&&void 0!==c?c:0,null!==(h=S.d)&&void 0!==h?h:1,P.x,P.y):u.translate(P.x,P.y),p.rotation&&u.rotate(p.rotation),w&&(u.globalCompositeOperation=y),Ct(d,u,p,g,m,v),u.restore()}function xt(t,e,i,o,n,s){if(!i.shape)return;const a=t.drawers.get(i.shape);a&&a.draw(e,i,o,n,s,t.retina.pixelRatio)}function Ct(t,e,i,o,n,s){if(!i.shape)return;const a=t.drawers.get(i.shape);(null==a?void 0:a.afterEffect)&&a.afterEffect(e,i,o,n,s,t.retina.pixelRatio)}function At(t,e,i){e.draw&&(t.save(),e.draw(t,i),t.restore())}function Et(t,e,i,o){e.drawParticle&&(t.save(),e.drawParticle(t,i,o),t.restore())}function Tt(t,e,i){return{h:t.h,s:t.s,l:t.l+("darken"===e?-1:1)*i}}const Vt="generated",Gt="touchend",Ot="pointerdown",kt="pointerup",Rt="pointermove",Mt="touchstart",zt="touchmove",Lt="pointerleave",It="pointerout",Ht="touchcancel",Dt="resize",jt="visibilitychange",Ft="No polygon data loaded.",Nt="No polygon found, you need to specify SVG url in config.";var Bt,qt,Ut,Wt,Qt,$t=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Zt=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function Xt(t,e,i){var o;const n=e[i];void 0!==n&&(t[i]=(null!==(o=t[i])&&void 0!==o?o:1)*n)}class Yt{constructor(t){this.container=t,Bt.set(this,void 0),qt.set(this,void 0),Ut.set(this,void 0),Wt.set(this,void 0),Qt.set(this,void 0),this.size={height:0,width:0},$t(this,qt,null,"f"),this.generatedCanvas=!1,$t(this,Wt,[],"f"),$t(this,Ut,[],"f"),$t(this,Qt,[],"f"),$t(this,Bt,[],"f")}clear(){const t=this.container.actualOptions,e=t.particles.move.trail;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&this.trailFillColor?this.paintBase(dt(this.trailFillColor,1/e.length)):this.draw((t=>{Pt(t,this.size)}))}destroy(){var t;this.generatedCanvas?null===(t=this.element)||void 0===t||t.remove():this.resetOriginalStyle(),this.draw((t=>{Pt(t,this.size)})),$t(this,Wt,[],"f"),$t(this,Ut,[],"f"),$t(this,Qt,[],"f"),$t(this,Bt,[],"f")}draw(t){if(Zt(this,qt,"f"))return t(Zt(this,qt,"f"))}drawParticle(t,e){var i;if(t.spawning||t.destroyed)return;const o=t.getRadius();if(o<=0)return;const n=t.getFillColor(),s=null!==(i=t.getStrokeColor())&&void 0!==i?i:n;let[a,r]=this.getPluginParticleColors(t);a||(a=n),r||(r=s),(a||r)&&this.draw((i=>{var n,s,l,c,h;const d=this.container.actualOptions,u=t.options.zIndex,p=(1-t.zIndexFactor)**u.opacityRate,v=null!==(l=null!==(n=t.bubble.opacity)&&void 0!==n?n:null===(s=t.opacity)||void 0===s?void 0:s.value)&&void 0!==l?l:1,f=v*p,w=(null!==(h=null===(c=t.stroke)||void 0===c?void 0:c.opacity)&&void 0!==h?h:v)*p,y={},g={fill:a?ut(a,f):void 0};g.stroke=r?ut(r,w):g.fill,this.applyPreDrawUpdaters(i,t,o,f,g,y),_t({container:this.container,context:i,particle:t,delta:e,colorStyles:g,backgroundMask:d.backgroundMask.enable,composite:d.backgroundMask.composite,radius:o*(1-t.zIndexFactor)**u.sizeRate,opacity:f,shadow:t.options.shadow,transform:y}),this.applyPostDrawUpdaters(t)}))}drawParticlePlugin(t,e,i){this.draw((o=>{Et(o,t,e,i)}))}drawPlugin(t,e){this.draw((i=>{At(i,t,e)}))}init(){this.resize(),this.initStyle(),this.initCover(),this.initTrail(),this.initBackground(),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){const t=this.container.actualOptions.background,e=this.element,i=null==e?void 0:e.style;if(i){if(t.color){const e=et(t.color);i.backgroundColor=e?dt(e,t.opacity):""}else i.backgroundColor="";i.backgroundImage=t.image||"",i.backgroundPosition=t.position||"",i.backgroundRepeat=t.repeat||"",i.backgroundSize=t.size||""}}initPlugins(){$t(this,Qt,[],"f");for(const[,t]of this.container.plugins)t.resize&&Zt(this,Qt,"f").push(t),(t.particleFillColor||t.particleStrokeColor)&&Zt(this,Bt,"f").push(t)}initUpdaters(){$t(this,Wt,[],"f"),$t(this,Ut,[],"f");for(const t of this.container.particles.updaters)t.afterDraw&&Zt(this,Ut,"f").push(t),(t.getColorStyles||t.getTransformValues||t.beforeDraw)&&Zt(this,Wt,"f").push(t)}loadCanvas(t){var e;this.generatedCanvas&&(null===(e=this.element)||void 0===e||e.remove()),this.generatedCanvas=t.dataset&&Vt in t.dataset?"true"===t.dataset[Vt]:this.generatedCanvas,this.element=t,this.originalStyle=N({},this.element.style),this.size.height=t.offsetHeight,this.size.width=t.offsetWidth,$t(this,qt,this.element.getContext("2d"),"f"),this.container.retina.init(),this.initBackground()}paint(){const t=this.container.actualOptions;this.draw((e=>{t.backgroundMask.enable&&t.backgroundMask.cover?(Pt(e,this.size),this.paintBase(this.coverColorStyle)):this.paintBase()}))}resize(){if(!this.element)return;const t=this.container,e=t.retina.pixelRatio,i=t.canvas.size,o=this.element.offsetWidth*e,n=this.element.offsetHeight*e;if(n===i.height&&o===i.width&&n===this.element.height&&o===this.element.width)return;const s=Object.assign({},i);this.element.width=i.width=this.element.offsetWidth*e,this.element.height=i.height=this.element.offsetHeight*e,this.container.started&&(this.resizeFactor={width:i.width/s.width,height:i.height/s.height})}async windowResize(){if(!this.element)return;this.resize();const t=this.container,e=t.updateActualOptions();t.particles.setDensity(),this.applyResizePlugins(),e&&await t.refresh()}applyPostDrawUpdaters(t){var e;for(const i of Zt(this,Ut,"f"))null===(e=i.afterDraw)||void 0===e||e.call(i,t)}applyPreDrawUpdaters(t,e,i,o,n,s){var a;for(const r of Zt(this,Wt,"f")){if(r.getColorStyles){const{fill:s,stroke:a}=r.getColorStyles(e,t,i,o);s&&(n.fill=s),a&&(n.stroke=a)}if(r.getTransformValues){const t=r.getTransformValues(e);for(const e in t)Xt(s,t,e)}null===(a=r.beforeDraw)||void 0===a||a.call(r,e)}}applyResizePlugins(){var t;for(const e of Zt(this,Qt,"f"))null===(t=e.resize)||void 0===t||t.call(e)}getPluginParticleColors(t){let e,i;for(const o of Zt(this,Bt,"f"))if(!e&&o.particleFillColor&&(e=nt(o.particleFillColor(t))),!i&&o.particleStrokeColor&&(i=nt(o.particleStrokeColor(t))),e&&i)break;return[e,i]}initCover(){const t=this.container.actualOptions.backgroundMask.cover,e=et(t.color);if(e){const i={r:e.r,g:e.g,b:e.b,a:t.opacity};this.coverColorStyle=dt(i,i.a)}}initStyle(){const t=this.element,e=this.container.actualOptions;if(t){e.fullScreen.enable?(this.originalStyle=N({},t.style),t.style.setProperty("position","fixed","important"),t.style.setProperty("z-index",e.fullScreen.zIndex.toString(10),"important"),t.style.setProperty("top","0","important"),t.style.setProperty("left","0","important"),t.style.setProperty("width","100%","important"),t.style.setProperty("height","100%","important")):this.resetOriginalStyle();for(const i in e.style){if(!i||!e.style)continue;const o=e.style[i];o&&t.style.setProperty(i,o,"important")}}}initTrail(){const t=this.container.actualOptions,e=et(t.particles.move.trail.fillColor);if(e){const i=t.particles.move.trail;this.trailFillColor={r:e.r,g:e.g,b:e.b,a:1/i.length}}}paintBase(t){this.draw((e=>{St(e,this.size,t)}))}resetOriginalStyle(){const t=this.element,e=this.originalStyle;t&&e&&(t.style.position=e.position,t.style.zIndex=e.zIndex,t.style.top=e.top,t.style.left=e.left,t.style.width=e.width,t.style.height=e.height)}}function Jt(t,e,i,o,n){if(o){let o={passive:!0};"boolean"==typeof n?o.capture=n:void 0!==n&&(o=n),t.addEventListener(e,i,o)}else{const o=n;t.removeEventListener(e,i,o)}}Bt=new WeakMap,qt=new WeakMap,Ut=new WeakMap,Wt=new WeakMap,Qt=new WeakMap;class Kt{constructor(t){this.container=t,this.canPush=!0,this.mouseMoveHandler=t=>this.mouseTouchMove(t),this.touchStartHandler=t=>this.mouseTouchMove(t),this.touchMoveHandler=t=>this.mouseTouchMove(t),this.touchEndHandler=()=>this.mouseTouchFinish(),this.mouseLeaveHandler=()=>this.mouseTouchFinish(),this.touchCancelHandler=()=>this.mouseTouchFinish(),this.touchEndClickHandler=t=>this.mouseTouchClick(t),this.mouseUpHandler=t=>this.mouseTouchClick(t),this.mouseDownHandler=()=>this.mouseDown(),this.visibilityChangeHandler=()=>this.handleVisibilityChange(),this.themeChangeHandler=t=>this.handleThemeChange(t),this.oldThemeChangeHandler=t=>this.handleThemeChange(t),this.resizeHandler=()=>this.handleWindowResize()}addListeners(){this.manageListeners(!0)}removeListeners(){this.manageListeners(!1)}doMouseTouchClick(t){const e=this.container,i=e.actualOptions;if(this.canPush){const t=e.interactivity.mouse.position;if(!t)return;e.interactivity.mouse.clickPosition={x:t.x,y:t.y},e.interactivity.mouse.clickTime=(new Date).getTime();const o=i.interactivity.events.onClick;if(o.mode instanceof Array)for(const t of o.mode)this.handleClickMode(t);else this.handleClickMode(o.mode)}"touchend"===t.type&&setTimeout((()=>this.mouseTouchFinish()),500)}handleClickMode(t){this.container.handleClickMode(t)}handleThemeChange(t){const e=t.matches?this.container.options.defaultDarkTheme:this.container.options.defaultLightTheme,i=this.container.options.themes.find((t=>t.name===e));i&&i.default.auto&&this.container.loadTheme(e)}handleVisibilityChange(){const t=this.container,e=t.actualOptions;this.mouseTouchFinish(),e.pauseOnBlur&&((null===document||void 0===document?void 0:document.hidden)?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.getAnimationStatus()?t.play(!0):t.draw(!0)))}handleWindowResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),delete this.resizeTimeout),this.resizeTimeout=setTimeout((async()=>{var t;return null===(t=this.container.canvas)||void 0===t?void 0:t.windowResize()}),500)}manageListeners(t){var e;const i=this.container,o=i.actualOptions,n=o.interactivity.detectsOn;let s=Lt;if("window"===n)i.interactivity.element=window,s=It;else if("parent"===n&&i.canvas.element){const t=i.canvas.element;i.interactivity.element=null!==(e=t.parentElement)&&void 0!==e?e:t.parentNode}else i.interactivity.element=i.canvas.element;const a=!k()&&"undefined"!=typeof matchMedia&&matchMedia("(prefers-color-scheme: dark)");a&&(void 0!==a.addEventListener?Jt(a,"change",this.themeChangeHandler,t):void 0!==a.addListener&&(t?a.addListener(this.oldThemeChangeHandler):a.removeListener(this.oldThemeChangeHandler)));const r=i.interactivity.element;if(!r)return;const l=r;(o.interactivity.events.onHover.enable||o.interactivity.events.onClick.enable)&&(Jt(r,Rt,this.mouseMoveHandler,t),Jt(r,Mt,this.touchStartHandler,t),Jt(r,zt,this.touchMoveHandler,t),o.interactivity.events.onClick.enable?(Jt(r,Gt,this.touchEndClickHandler,t),Jt(r,kt,this.mouseUpHandler,t),Jt(r,Ot,this.mouseDownHandler,t)):Jt(r,Gt,this.touchEndHandler,t),Jt(r,s,this.mouseLeaveHandler,t),Jt(r,Ht,this.touchCancelHandler,t)),i.canvas.element&&(i.canvas.element.style.pointerEvents=l===i.canvas.element?"initial":"none"),o.interactivity.events.resize&&("undefined"!=typeof ResizeObserver?this.resizeObserver&&!t?(i.canvas.element&&this.resizeObserver.unobserve(i.canvas.element),this.resizeObserver.disconnect(),delete this.resizeObserver):!this.resizeObserver&&t&&i.canvas.element&&(this.resizeObserver=new ResizeObserver((t=>{t.find((t=>t.target===i.canvas.element))&&this.handleWindowResize()})),this.resizeObserver.observe(i.canvas.element)):Jt(window,Dt,this.resizeHandler,t)),document&&Jt(document,jt,this.visibilityChangeHandler,t,!1)}mouseDown(){const t=this.container.interactivity;if(t){const e=t.mouse;e.clicking=!0,e.downPosition=e.position}}mouseTouchClick(t){const e=this.container,i=e.actualOptions,o=e.interactivity.mouse;o.inside=!0;let n=!1;const s=o.position;if(s&&i.interactivity.events.onClick.enable){for(const[,t]of e.plugins)if(t.clickPositionValid&&(n=t.clickPositionValid(s),n))break;n||this.doMouseTouchClick(t),o.clicking=!1}}mouseTouchFinish(){const t=this.container.interactivity;if(!t)return;const e=t.mouse;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=Lt,e.inside=!1,e.clicking=!1}mouseTouchMove(t){var e,i,o,n,s,a,r;const l=this.container,c=l.actualOptions;if(!(null===(e=l.interactivity)||void 0===e?void 0:e.element))return;let h;l.interactivity.mouse.inside=!0;const d=l.canvas.element;if(t.type.startsWith("pointer")){this.canPush=!0;const e=t;if(l.interactivity.element===window){if(d){const t=d.getBoundingClientRect();h={x:e.clientX-t.left,y:e.clientY-t.top}}}else if("parent"===c.interactivity.detectsOn){const t=e.target,n=e.currentTarget,s=l.canvas.element;if(t&&n&&s){const i=t.getBoundingClientRect(),o=n.getBoundingClientRect(),a=s.getBoundingClientRect();h={x:e.offsetX+2*i.left-(o.left+a.left),y:e.offsetY+2*i.top-(o.top+a.top)}}else h={x:null!==(i=e.offsetX)&&void 0!==i?i:e.clientX,y:null!==(o=e.offsetY)&&void 0!==o?o:e.clientY}}else e.target===l.canvas.element&&(h={x:null!==(n=e.offsetX)&&void 0!==n?n:e.clientX,y:null!==(s=e.offsetY)&&void 0!==s?s:e.clientY})}else{this.canPush="touchmove"!==t.type;const e=t,i=e.touches[e.touches.length-1],o=null==d?void 0:d.getBoundingClientRect();h={x:i.clientX-(null!==(a=null==o?void 0:o.left)&&void 0!==a?a:0),y:i.clientY-(null!==(r=null==o?void 0:o.top)&&void 0!==r?r:0)}}const u=l.retina.pixelRatio;h&&(h.x*=u,h.y*=u),l.interactivity.mouse.position=h,l.interactivity.status=Rt}}class te{constructor(t){this.container=t}async nextFrame(t){var e;try{const i=this.container;if(void 0!==i.lastFrameTime&&t<i.lastFrameTime+1e3/i.fpsLimit)return void i.draw(!1);null!==(e=i.lastFrameTime)&&void 0!==e||(i.lastFrameTime=t);const o=t-i.lastFrameTime,n={value:o,factor:60*o/1e3};if(i.lifeTime+=n.value,i.lastFrameTime=t,o>1e3)return void i.draw(!1);if(await i.particles.draw(n),i.duration>0&&i.lifeTime>i.duration)return void i.destroy();i.getAnimationStatus()&&i.draw(!1)}catch(t){console.error("tsParticles error in animation loop",t)}}}class ee{constructor(){this.value=""}static create(t,e){const i=new ee;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class ie{constructor(){this.color=new ee,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(t){t&&(void 0!==t.color&&(this.color=ee.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 oe{constructor(){this.color=new ee,this.color.value="#fff",this.opacity=1}load(t){t&&(void 0!==t.color&&(this.color=ee.create(this.color,t.color)),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ne{constructor(){this.composite="destination-out",this.cover=new oe,this.enable=!1}load(t){if(t){if(void 0!==t.composite&&(this.composite=t.composite),void 0!==t.cover){const e=t.cover,i="string"==typeof t.cover?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class se{constructor(){this.enable=!0,this.zIndex=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.zIndex&&(this.zIndex=t.zIndex))}}class ae{constructor(){this.enable=!1,this.mode=[]}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}class re{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type="circle"}get el(){return this.elementId}set el(t){this.elementId=t}get elementId(){return this.ids}set elementId(t){this.ids=t}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){var e,i;if(!t)return;const o=null!==(i=null!==(e=t.ids)&&void 0!==e?e:t.elementId)&&void 0!==i?i:t.el;void 0!==o&&(this.ids=o),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 le{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(t){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 ce{constructor(){this.enable=!1,this.mode=[],this.parallax=new le}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.parallax.load(t.parallax))}}class he{constructor(){this.onClick=new ae,this.onDiv=new re,this.onHover=new ce,this.resize=!0}get onclick(){return this.onClick}set onclick(t){this.onClick=t}get ondiv(){return this.onDiv}set ondiv(t){this.onDiv=t}get onhover(){return this.onHover}set onhover(t){this.onHover=t}load(t){var e,i,o;if(!t)return;this.onClick.load(null!==(e=t.onClick)&&void 0!==e?e:t.onclick);const n=null!==(i=t.onDiv)&&void 0!==i?i:t.ondiv;void 0!==n&&(n instanceof Array?this.onDiv=n.map((t=>{const e=new re;return e.load(t),e})):(this.onDiv=new re,this.onDiv.load(n))),this.onHover.load(null!==(o=t.onHover)&&void 0!==o?o:t.onhover),void 0!==t.resize&&(this.resize=t.resize)}}class de{constructor(){this.factor=3,this.radius=200}load(t){t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}var ue,pe,ve=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},fe=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class we{constructor(t,e){ue.set(this,void 0),pe.set(this,void 0),ve(this,pe,t,"f"),ve(this,ue,e,"f"),this.slow=new de}load(t){if(t&&(this.slow.load(t.slow),fe(this,ue,"f"))){const e=fe(this,pe,"f").plugins.interactors.get(fe(this,ue,"f"));if(e)for(const i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}}ue=new WeakMap,pe=new WeakMap;var ye,ge,me=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};class be{constructor(t,e){ye.set(this,void 0),ge.set(this,void 0),me(this,ge,t,"f"),me(this,ye,e,"f"),this.detectsOn="window",this.events=new he,this.modes=new we(t,e)}get detect_on(){return this.detectsOn}set detect_on(t){this.detectsOn=t}load(t){var e;if(!t)return;const i=null!==(e=t.detectsOn)&&void 0!==e?e:t.detect_on;void 0!==i&&(this.detectsOn=i),this.events.load(t.events),this.modes.load(t.modes)}}ye=new WeakMap,ge=new WeakMap;class Se{load(t){var e,i;t&&(void 0!==t.position&&(this.position={x:null!==(e=t.position.x)&&void 0!==e?e:50,y:null!==(i=t.position.y)&&void 0!==i?i:50}),void 0!==t.options&&(this.options=N({},t.options)))}}class Pe{constructor(){this.factor=4,this.value=!0}load(t){t&&(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.value&&(this.value=t.value))}}class _e{constructor(){this.disable=!1,this.reduce=new Pe}load(t){t&&(void 0!==t.disable&&(this.disable=t.disable),this.reduce.load(t.reduce))}}class xe{constructor(){this.maxWidth=1/0,this.options={},this.mode="canvas"}load(t){t&&(void 0!==t.maxWidth&&(this.maxWidth=t.maxWidth),void 0!==t.mode&&("screen"===t.mode?this.mode="screen":this.mode="canvas"),void 0!==t.options&&(this.options=N({},t.options)))}}class Ce{constructor(){this.auto=!1,this.mode="any",this.value=!1}load(t){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 Ae{constructor(){this.name="",this.default=new Ce}load(t){t&&(void 0!==t.name&&(this.name=t.name),this.default.load(t.default),void 0!==t.options&&(this.options=N({},t.options)))}}class Ee{constructor(){this.count=0,this.enable=!1,this.offset=0,this.speed=1,this.decay=0,this.sync=!0}load(t){t&&(void 0!==t.count&&(this.count=w(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(this.offset=w(t.offset)),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class Te{constructor(){this.h=new Ee,this.s=new Ee,this.l=new Ee}load(t){t&&(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class Ve extends ee{constructor(){super(),this.animation=new Te}static create(t,e){const i=new Ve;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),!t)return;const e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}class Ge{constructor(){this.enable=!0,this.retries=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.retries&&(this.retries=t.retries))}}class Oe{constructor(){this.enable=!1,this.minimumValue=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue))}}class ke{constructor(){this.random=new Oe,this.value=0}load(t){t&&("boolean"==typeof t.random?this.random.enable=t.random:this.random.load(t.random),void 0!==t.value&&(this.value=w(t.value,this.random.enable?this.random.minimumValue:void 0)))}}class Re extends ke{constructor(){super(),this.random.minimumValue=.1,this.value=1}}class Me{constructor(){this.horizontal=new Re,this.vertical=new Re}load(t){t&&(this.horizontal.load(t.horizontal),this.vertical.load(t.vertical))}}class ze{constructor(){this.bounce=new Me,this.enable=!1,this.mode="bounce",this.overlap=new Ge}load(t){t&&(this.bounce.load(t.bounce),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.overlap.load(t.overlap))}}class Le extends ke{constructor(){super(),this.value=3}}class Ie extends ke{constructor(){super(),this.value={min:4,max:9}}}class He{constructor(){this.count=1,this.factor=new Le,this.rate=new Ie,this.sizeOffset=!0}load(t){t&&(void 0!==t.count&&(this.count=t.count),this.factor.load(t.factor),this.rate.load(t.rate),void 0!==t.particles&&(t.particles instanceof Array?this.particles=t.particles.map((t=>N({},t))):this.particles=N({},t.particles)),void 0!==t.sizeOffset&&(this.sizeOffset=t.sizeOffset))}}class De{constructor(){this.mode="none",this.split=new He}load(t){t&&(void 0!==t.mode&&(this.mode=t.mode),this.split.load(t.split))}}class je{constructor(){this.offset=0,this.value=90}load(t){t&&(void 0!==t.offset&&(this.offset=w(t.offset)),void 0!==t.value&&(this.value=w(t.value)))}}class Fe{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}get rotateX(){return this.rotate.x}set rotateX(t){this.rotate.x=t}get rotateY(){return this.rotate.y}set rotateY(t){this.rotate.y=t}load(t){var e,i,o,n;if(!t)return;void 0!==t.distance&&(this.distance=w(t.distance)),void 0!==t.enable&&(this.enable=t.enable);const s=null!==(i=null===(e=t.rotate)||void 0===e?void 0:e.x)&&void 0!==i?i:t.rotateX;void 0!==s&&(this.rotate.x=s);const a=null!==(n=null===(o=t.rotate)||void 0===o?void 0:o.y)&&void 0!==n?n:t.rotateY;void 0!==a&&(this.rotate.y=a)}}class Ne{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(t){t&&(void 0!==t.acceleration&&(this.acceleration=w(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.inverse&&(this.inverse=t.inverse),void 0!==t.maxSpeed&&(this.maxSpeed=w(t.maxSpeed)))}}class Be extends ke{constructor(){super()}}class qe{constructor(){this.clamp=!0,this.delay=new Be,this.enable=!1,this.options={}}load(t){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=N(this.options,t.options)))}}class Ue{constructor(){this.enable=!1,this.length=10,this.fillColor=new ee,this.fillColor.value="#000000"}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),this.fillColor=ee.create(this.fillColor,t.fillColor),void 0!==t.length&&(this.length=t.length))}}class We{constructor(){this.default="out"}load(t){var e,i,o,n;t&&(void 0!==t.default&&(this.default=t.default),this.bottom=null!==(e=t.bottom)&&void 0!==e?e:t.default,this.left=null!==(i=t.left)&&void 0!==i?i:t.default,this.right=null!==(o=t.right)&&void 0!==o?o:t.default,this.top=null!==(n=t.top)&&void 0!==n?n:t.default)}}class Qe{constructor(){this.acceleration=0,this.enable=!1}load(t){t&&(void 0!==t.acceleration&&(this.acceleration=w(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),this.position=t.position?N({},t.position):void 0)}}class $e{constructor(){this.angle=new je,this.attract=new Fe,this.center={x:50,y:50,radius:0},this.decay=0,this.distance={},this.direction="none",this.drift=0,this.enable=!1,this.gravity=new Ne,this.path=new qe,this.outModes=new We,this.random=!1,this.size=!1,this.speed=2,this.spin=new Qe,this.straight=!1,this.trail=new Ue,this.vibrate=!1,this.warp=!1}get bounce(){return this.collisions}set bounce(t){this.collisions=t}get collisions(){return!1}set collisions(t){}get noise(){return this.path}set noise(t){this.path=t}get outMode(){return this.outModes.default}set outMode(t){this.outModes.default=t}get out_mode(){return this.outMode}set out_mode(t){this.outMode=t}load(t){var e,i,o;if(!t)return;void 0!==t.angle&&("number"==typeof t.angle?this.angle.value=t.angle:this.angle.load(t.angle)),this.attract.load(t.attract),this.center=N(this.center,t.center),void 0!==t.decay&&(this.decay=t.decay),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.distance&&(this.distance="number"==typeof t.distance?{horizontal:t.distance,vertical:t.distance}:N({},t.distance)),void 0!==t.drift&&(this.drift=w(t.drift)),void 0!==t.enable&&(this.enable=t.enable),this.gravity.load(t.gravity);const n=null!==(e=t.outMode)&&void 0!==e?e:t.out_mode;void 0===t.outModes&&void 0===n||("string"==typeof t.outModes||void 0===t.outModes&&void 0!==n?this.outModes.load({default:null!==(i=t.outModes)&&void 0!==i?i:n}):this.outModes.load(t.outModes)),this.path.load(null!==(o=t.path)&&void 0!==o?o:t.noise),void 0!==t.random&&(this.random=t.random),void 0!==t.size&&(this.size=t.size),void 0!==t.speed&&(this.speed=w(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 Ze{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.sync=!1}load(t){t&&(void 0!==t.count&&(this.count=w(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class Xe extends Ze{constructor(){super(),this.destroy="none",this.enable=!1,this.speed=2,this.startValue="random",this.sync=!1}get opacity_min(){return this.minimumValue}set opacity_min(t){this.minimumValue=t}load(t){var e;t&&(super.load(t),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.enable&&(this.enable=t.enable),this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.opacity_min,void 0!==t.speed&&(this.speed=t.speed),void 0!==t.startValue&&(this.startValue=t.startValue),void 0!==t.sync&&(this.sync=t.sync))}}class Ye extends ke{constructor(){super(),this.animation=new Xe,this.random.minimumValue=.1,this.value=1}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(!t)return;super.load(t);const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;void 0!==i&&(this.animation.load(i),this.value=w(this.value,this.animation.enable?this.animation.minimumValue:void 0))}}class Je{constructor(){this.enable=!1,this.area=800,this.factor=1e3}get value_area(){return this.area}set value_area(t){this.area=t}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.area)&&void 0!==e?e:t.value_area;void 0!==i&&(this.area=i),void 0!==t.factor&&(this.factor=t.factor)}}class Ke{constructor(){this.density=new Je,this.limit=0,this.value=100}get max(){return this.limit}set max(t){this.limit=t}load(t){var e;if(!t)return;this.density.load(t.density);const i=null!==(e=t.limit)&&void 0!==e?e:t.max;void 0!==i&&(this.limit=i),void 0!==t.value&&(this.value=t.value)}}class ti{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class ei extends ke{constructor(){super(),this.animation=new ti,this.direction="clockwise",this.path=!1,this.value=0}load(t){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))}}class ii{constructor(){this.blur=0,this.color=new ee,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(t){t&&(void 0!==t.blur&&(this.blur=t.blur),this.color=ee.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 oi{constructor(){this.options={},this.type="circle"}get character(){var t;return null!==(t=this.options.character)&&void 0!==t?t:this.options.char}set character(t){this.options.character=t,this.options.char=t}get custom(){return this.options}set custom(t){this.options=t}get image(){var t;return null!==(t=this.options.image)&&void 0!==t?t:this.options.images}set image(t){this.options.image=t,this.options.images=t}get images(){return this.image}set images(t){this.image=t}get polygon(){var t;return null!==(t=this.options.polygon)&&void 0!==t?t:this.options.star}set polygon(t){this.options.polygon=t,this.options.star=t}get stroke(){return[]}set stroke(t){}load(t){var e,i,o;if(!t)return;const n=null!==(e=t.options)&&void 0!==e?e:t.custom;if(void 0!==n)for(const t in n){const e=n[t];e&&(this.options[t]=N(null!==(i=this.options[t])&&void 0!==i?i:{},e))}this.loadShape(t.character,"character","char",!0),this.loadShape(t.polygon,"polygon","star",!1),this.loadShape(null!==(o=t.image)&&void 0!==o?o:t.images,"image","images",!0),void 0!==t.type&&(this.type=t.type)}loadShape(t,e,i,o){var n,s;if(!t)return;const a=t instanceof Array?[]:{},r=t instanceof Array!=this.options[e]instanceof Array,l=t instanceof Array!=this.options[i]instanceof Array;r&&(this.options[e]=a),l&&o&&(this.options[i]=a),this.options[e]=N(null!==(n=this.options[e])&&void 0!==n?n:a,t),this.options[i]&&!o||(this.options[i]=N(null!==(s=this.options[i])&&void 0!==s?s:a,t))}}class ni extends Ze{constructor(){super(),this.destroy="none",this.enable=!1,this.speed=5,this.startValue="random",this.sync=!1}get size_min(){return this.minimumValue}set size_min(t){this.minimumValue=t}load(t){var e;super.load(t),t&&(void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.enable&&(this.enable=t.enable),this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.size_min,void 0!==t.speed&&(this.speed=t.speed),void 0!==t.startValue&&(this.startValue=t.startValue),void 0!==t.sync&&(this.sync=t.sync))}}class si extends ke{constructor(){super(),this.animation=new ni,this.random.minimumValue=1,this.value=3}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(super.load(t),!t)return;const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;void 0!==i&&(this.animation.load(i),this.value=w(this.value,this.animation.enable?this.animation.minimumValue:void 0))}}class ai{constructor(){this.width=0}load(t){t&&(void 0!==t.color&&(this.color=Ve.create(this.color,t.color)),void 0!==t.width&&(this.width=t.width),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ri extends ke{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(t){super.load(t),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))}}var li,ci,hi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},di=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class ui{constructor(t,e){li.set(this,void 0),ci.set(this,void 0),hi(this,ci,t,"f"),hi(this,li,e,"f"),this.bounce=new Me,this.collisions=new ze,this.color=new Ve,this.color.value="#fff",this.destroy=new De,this.groups={},this.move=new $e,this.number=new Ke,this.opacity=new Ye,this.reduceDuplicates=!1,this.rotate=new ei,this.shadow=new ii,this.shape=new oi,this.size=new si,this.stroke=new ai,this.zIndex=new ri}load(t){var e,i,o,n,s,a;if(!t)return;if(this.bounce.load(t.bounce),this.color.load(Ve.create(this.color,t.color)),this.destroy.load(t.destroy),void 0!==t.groups)for(const i in t.groups){const o=t.groups[i];void 0!==o&&(this.groups[i]=N(null!==(e=this.groups[i])&&void 0!==e?e:{},o))}this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates),this.rotate.load(t.rotate),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow),this.zIndex.load(t.zIndex);const r=null!==(o=null===(i=t.move)||void 0===i?void 0:i.collisions)&&void 0!==o?o:null===(n=t.move)||void 0===n?void 0:n.bounce;void 0!==r&&(this.collisions.enable=r),this.collisions.load(t.collisions),void 0!==t.interactivity&&(this.interactivity=N({},t.interactivity));const l=null!==(s=t.stroke)&&void 0!==s?s:null===(a=t.shape)||void 0===a?void 0:a.stroke;if(l&&(l instanceof Array?this.stroke=l.map((t=>{const e=new ai;return e.load(t),e})):(this.stroke instanceof Array&&(this.stroke=new ai),this.stroke.load(l))),di(this,li,"f")){const e=di(this,ci,"f").plugins.updaters.get(di(this,li,"f"));if(e)for(const i of e)i.loadOptions&&i.loadOptions(this,t);const i=di(this,ci,"f").plugins.interactors.get(di(this,li,"f"));if(i)for(const e of i)e.loadParticlesOptions&&e.loadParticlesOptions(this,t)}}}function pi(t,...e){for(const i of e)t.load(i)}function vi(t,e,...i){const o=new ui(t,e);return pi(o,...i),o}li=new WeakMap,ci=new WeakMap;var fi,wi,yi,gi,mi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},bi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Si{constructor(t,e){fi.add(this),wi.set(this,void 0),yi.set(this,void 0),mi(this,yi,t,"f"),mi(this,wi,e,"f"),this.autoPlay=!0,this.background=new ie,this.backgroundMask=new ne,this.fullScreen=new se,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new be(t,e),this.manualParticles=[],this.motion=new _e,this.particles=vi(bi(this,yi,"f"),bi(this,wi,"f")),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.style={},this.themes=[],this.zLayers=100}get backgroundMode(){return this.fullScreen}set backgroundMode(t){this.fullScreen.load(t)}get fps_limit(){return this.fpsLimit}set fps_limit(t){this.fpsLimit=t}get retina_detect(){return this.detectRetina}set retina_detect(t){this.detectRetina=t}load(t){var e,i,o,n,s;if(!t)return;if(void 0!==t.preset)if(t.preset instanceof Array)for(const e of t.preset)this.importPreset(e);else this.importPreset(t.preset);void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay);const a=null!==(e=t.detectRetina)&&void 0!==e?e:t.retina_detect;void 0!==a&&(this.detectRetina=a),void 0!==t.duration&&(this.duration=t.duration);const r=null!==(i=t.fpsLimit)&&void 0!==i?i:t.fps_limit;void 0!==r&&(this.fpsLimit=r),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);const l=null!==(o=t.fullScreen)&&void 0!==o?o:t.backgroundMode;"boolean"==typeof l?this.fullScreen.enable=l:this.fullScreen.load(l),this.backgroundMask.load(t.backgroundMask),this.interactivity.load(t.interactivity),void 0!==t.manualParticles&&(this.manualParticles=t.manualParticles.map((t=>{const e=new Se;return e.load(t),e}))),this.motion.load(t.motion),this.particles.load(t.particles),this.style=N(this.style,t.style),bi(this,yi,"f").plugins.loadOptions(this,t);const c=bi(this,yi,"f").plugins.interactors.get(bi(this,wi,"f"));if(c)for(const e of c)e.loadOptions&&e.loadOptions(this,t);if(void 0!==t.responsive)for(const e of t.responsive){const t=new xe;t.load(e),this.responsive.push(t)}if(this.responsive.sort(((t,e)=>t.maxWidth-e.maxWidth)),void 0!==t.themes)for(const e of t.themes){const t=new Ae;t.load(e),this.themes.push(t)}this.defaultDarkTheme=null===(n=bi(this,fi,"m",gi).call(this,"dark"))||void 0===n?void 0:n.name,this.defaultLightTheme=null===(s=bi(this,fi,"m",gi).call(this,"light"))||void 0===s?void 0:s.name}setResponsive(t,e,i){this.load(i);const o=this.responsive.find((i=>"screen"===i.mode&&screen?i.maxWidth>screen.availWidth:i.maxWidth*e>t));return this.load(null==o?void 0:o.options),null==o?void 0:o.maxWidth}setTheme(t){if(t){const e=this.themes.find((e=>e.name===t));e&&this.load(e.options)}else{const t="undefined"!=typeof matchMedia&&matchMedia("(prefers-color-scheme: dark)"),e=t&&t.matches,i=bi(this,fi,"m",gi).call(this,e?"dark":"light");i&&this.load(i.options)}}importPreset(t){this.load(bi(this,yi,"f").plugins.getPreset(t))}}wi=new WeakMap,yi=new WeakMap,fi=new WeakSet,gi=function(t){var e;return null!==(e=this.themes.find((e=>e.default.value&&e.default.mode===t)))&&void 0!==e?e:this.themes.find((t=>t.default.value&&"any"===t.default.mode))};var Pi,_i,xi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Ci=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ai{constructor(t,e){this.container=e,Pi.set(this,void 0),_i.set(this,void 0),xi(this,Pi,t,"f"),xi(this,_i,Ci(this,Pi,"f").plugins.getInteractors(this.container,!0),"f"),this.externalInteractors=[],this.particleInteractors=[]}async externalInteract(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.interact(t)}handleClickMode(t){for(const e of this.externalInteractors)e.handleClickMode&&e.handleClickMode(t)}init(){this.externalInteractors=[],this.particleInteractors=[];for(const t of Ci(this,_i,"f")){switch(t.type){case 0:this.externalInteractors.push(t);break;case 1:this.particleInteractors.push(t)}t.init()}}async particlesInteract(t,e){for(const e of this.externalInteractors)e.clear(t);for(const i of this.particleInteractors)i.isEnabled(t)&&await i.interact(t,e)}async reset(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.reset(t);for(const e of this.particleInteractors)e.isEnabled(t)&&await e.reset(t)}}Pi=new WeakMap,_i=new WeakMap;class Ei extends a{constructor(t,e,i){if(super(t,e),"number"!=typeof t&&t)this.z=t.z;else{if(void 0===i)throw new Error("tsParticles - Vector not initialized correctly");this.z=i}}static get origin(){return Ei.create(0,0,0)}static clone(t){return Ei.create(t.x,t.y,t.z)}static create(t,e,i){return new Ei(t,e,i)}add(t){return t instanceof Ei?Ei.create(this.x+t.x,this.y+t.y,this.z+t.z):super.add(t)}addTo(t){super.addTo(t),t instanceof Ei&&(this.z+=t.z)}copy(){return Ei.clone(this)}div(t){return Ei.create(this.x/t,this.y/t,this.z/t)}divTo(t){super.divTo(t),this.z/=t}mult(t){return Ei.create(this.x*t,this.y*t,this.z*t)}multTo(t){super.multTo(t),this.z*=t}setTo(t){super.setTo(t);const e=t;void 0!==e.z&&(this.z=e.z)}sub(t){return t instanceof Ei?Ei.create(this.x-t.x,this.y-t.y,this.z-t.z):super.sub(t)}subFrom(t){super.subFrom(t),t instanceof Ei&&(this.z-=t.z)}}var Ti,Vi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Gi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};const Oi=t=>{(z(t.outMode,t.checkModes)||z(t.outMode,t.checkModes))&&(t.coord>t.maxCoord-2*t.radius?t.setCb(-t.radius):t.coord<2*t.radius&&t.setCb(t.radius))};class ki{constructor(t,e,i,o,n,s){var r,l,d,w,g,m,S,P,_;this.id=e,this.container=i,this.group=s,Ti.set(this,void 0),Vi(this,Ti,t,"f"),this.fill=!0,this.close=!0,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.splitCount=0,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType="normal",this.ignoresResizeRatio=!0;const x=i.retina.pixelRatio,C=i.actualOptions,A=vi(Gi(this,Ti,"f"),i,C.particles),E=A.shape.type,T=A.reduceDuplicates;if(this.shape=E instanceof Array?H(E,this.id,T):E,null==n?void 0:n.shape){if(n.shape.type){const t=n.shape.type;this.shape=t instanceof Array?H(t,this.id,T):t}const t=new oi;t.load(n.shape),this.shape&&(this.shapeData=this.loadShapeData(t,T))}else this.shapeData=this.loadShapeData(A.shape,T);A.load(n),A.load(null===(r=this.shapeData)||void 0===r?void 0:r.particles),this.interactivity=new be(t,i),this.interactivity.load(i.actualOptions.interactivity),this.interactivity.load(A.interactivity),this.fill=null!==(d=null===(l=this.shapeData)||void 0===l?void 0:l.fill)&&void 0!==d?d:this.fill,this.close=null!==(g=null===(w=this.shapeData)||void 0===w?void 0:w.close)&&void 0!==g?g:this.close,this.options=A;const V=this.options.move.path;this.pathDelay=1e3*y(V.delay),V.generator&&(this.pathGenerator=Gi(this,Ti,"f").plugins.getPathGenerator(V.generator),this.pathGenerator&&i.addPath(V.generator,this.pathGenerator)&&this.pathGenerator.init(i));const G=p(this.options.zIndex.value);i.retina.initParticle(this);const O=this.options.size,k=O.value,R=O.animation;if(this.size={enable:O.animation.enable,value:p(O.value)*i.retina.pixelRatio,max:f(k)*x,min:v(k)*x,loops:0,maxLoops:p(O.animation.count)},R.enable){switch(this.size.status=0,this.size.decay=1-p(R.decay),R.startValue){case"min":this.size.value=this.size.min,this.size.status=0;break;case"random":this.size.value=u(this.size)*x,this.size.status=c()>=.5?0:1;break;default:this.size.value=this.size.max,this.size.status=1}this.size.velocity=(null!==(m=this.retina.sizeAnimationSpeed)&&void 0!==m?m:i.retina.sizeAnimationSpeed)/100*i.retina.reduceFactor,R.sync||(this.size.velocity*=c())}this.bubble={inRange:!1},this.position=this.calcPosition(i,o,h(G,0,i.zLayers)),this.initialPosition=this.position.copy();const M=i.canvas.size,z=this.options.move.center;switch(this.moveCenter={x:M.width*z.x/100,y:M.height*z.y/100,radius:this.options.move.center.radius},this.direction=b(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case"inside":this.outType="inside";break;case"outside":this.outType="outside"}this.initialVelocity=this.calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-p(this.options.move.decay),this.offset=a.origin;const L=i.particles;L.needsSort=L.needsSort||L.lastZIndex<this.position.z,L.lastZIndex=this.position.z,this.zIndexFactor=this.position.z/i.zLayers,this.sides=24;let I=i.drawers.get(this.shape);I||(I=Gi(this,Ti,"f").plugins.getShapeDrawer(this.shape),I&&i.drawers.set(this.shape,I)),(null==I?void 0:I.loadShape)&&(null==I||I.loadShape(this));const D=null==I?void 0:I.getSidesCount;D&&(this.sides=D(this)),this.spawning=!1,this.shadowColor=et(this.options.shadow.color);for(const t of i.particles.updaters)null===(S=t.init)||void 0===S||S.call(t,this);for(const t of i.particles.movers)null===(P=t.init)||void 0===P||P.call(t,this);(null==I?void 0:I.particleInit)&&I.particleInit(i,this);for(const[,t]of i.plugins)null===(_=t.particleCreated)||void 0===_||_.call(t,this)}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1;for(const[,e]of this.container.plugins)e.particleDestroyed&&e.particleDestroyed(this,t);if(t)return;"split"===this.options.destroy.mode&&this.split()}draw(t){const e=this.container;for(const[,i]of e.plugins)e.canvas.drawParticlePlugin(i,this,t);e.canvas.drawParticle(this,t)}getFillColor(){var t,e;const i=null!==(t=this.bubble.color)&&void 0!==t?t:wt(this.color);if(i&&this.roll&&(this.backColor||this.roll.alter)){const t=this.roll.horizontal&&this.roll.vertical?2:1,o=this.roll.horizontal?Math.PI/2:0;if(Math.floor(((null!==(e=this.roll.angle)&&void 0!==e?e:0)+o)/(Math.PI/t))%2){if(this.backColor)return this.backColor;if(this.roll.alter)return Tt(i,this.roll.alter.type,this.roll.alter.value)}}return i}getMass(){return this.getRadius()**2*Math.PI/2}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){var t;return null!==(t=this.bubble.radius)&&void 0!==t?t:this.size.value}getStrokeColor(){var t,e;return null!==(e=null!==(t=this.bubble.color)&&void 0!==t?t:wt(this.strokeColor))&&void 0!==e?e:this.getFillColor()}isInsideCanvas(){const t=this.getRadius(),e=this.container.canvas.size;return this.position.x>=-t&&this.position.y>=-t&&this.position.y<=e.height+t&&this.position.x<=e.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){this.opacity&&(this.opacity.loops=0),this.size.loops=0}calcPosition(t,e,i,o=0){var n,s,a,r;for(const[,o]of t.plugins){const t=void 0!==o.particlePosition?o.particlePosition(e,this):void 0;if(void 0!==t)return Ei.create(t.x,t.y,i)}const l=E({size:t.canvas.size,position:e}),c=Ei.create(l.x,l.y,i),h=this.getRadius(),d=this.options.move.outModes,u=e=>{Oi({outMode:e,checkModes:["bounce","bounce-horizontal"],coord:c.x,maxCoord:t.canvas.size.width,setCb:t=>c.x+=t,radius:h})},p=e=>{Oi({outMode:e,checkModes:["bounce","bounce-vertical"],coord:c.y,maxCoord:t.canvas.size.height,setCb:t=>c.y+=t,radius:h})};return u(null!==(n=d.left)&&void 0!==n?n:d.default),u(null!==(s=d.right)&&void 0!==s?s:d.default),p(null!==(a=d.top)&&void 0!==a?a:d.default),p(null!==(r=d.bottom)&&void 0!==r?r:d.default),this.checkOverlap(c,o)?this.calcPosition(t,void 0,i,o+1):c}calculateVelocity(){const t=S(this.direction).copy(),e=this.options.move;if("inside"===e.direction||"outside"===e.direction)return t;const i=Math.PI/180*p(e.angle.value),o=Math.PI/180*p(e.angle.offset),n={left:o-i/2,right:o+i/2};return e.straight||(t.angle+=u(w(n.left,n.right))),e.random&&"number"==typeof e.speed&&(t.length*=c()),t}checkOverlap(t,e=0){const i=this.options.collisions,o=this.getRadius();if(!i.enable)return!1;const n=i.overlap;if(n.enable)return!1;const s=n.retries;if(s>=0&&e>s)throw new Error("Particle is overlapping and can't be placed");let a=!1;for(const e of this.container.particles.array)if(m(t,e.position)<o+e.getRadius()){a=!0;break}return a}loadShapeData(t,e){const i=t.options[this.shape];if(i)return N({},i instanceof Array?H(i,this.id,e):i)}split(){const t=this.options.destroy.split;if(t.count>=0&&this.splitCount++>t.count)return;const e=y(t.rate),i=t.particles instanceof Array?H(t.particles):t.particles;for(let t=0;t<e;t++)this.container.particles.addSplitParticle(this,i)}}Ti=new WeakMap;class Ri{constructor(t,e){this.position=t,this.particle=e}}class Mi{constructor(t,e){this.position={x:t,y:e}}}class zi extends Mi{constructor(t,e,i){super(t,e),this.radius=i}contains(t){return m(t,this.position)<=this.radius}intersects(t){const e=t,i=t,o=this.position,n=t.position,s=Math.abs(n.x-o.x),a=Math.abs(n.y-o.y),r=this.radius;if(void 0!==i.radius){return r+i.radius>Math.sqrt(s*s+a+a)}if(void 0!==e.size){const t=e.size.width,i=e.size.height,o=Math.pow(s-t,2)+Math.pow(a-i,2);return!(s>r+t||a>r+i)&&(s<=t||a<=i||o<=r*r)}return!1}}class Li extends Mi{constructor(t,e,i,o){super(t,e),this.size={height:o,width:i}}contains(t){const e=this.size.width,i=this.size.height,o=this.position;return t.x>=o.x&&t.x<=o.x+e&&t.y>=o.y&&t.y<=o.y+i}intersects(t){const e=t,i=t,o=this.size.width,n=this.size.height,s=this.position,a=t.position;if(void 0!==i.radius)return i.intersects(this);if(!e.size)return!1;const r=e.size,l=r.width,c=r.height;return a.x<s.x+o&&a.x+l>s.x&&a.y<s.y+n&&a.y+c>s.y}}class Ii extends zi{constructor(t,e,i,o){super(t,e,i),this.canvasSize=o,this.canvasSize=Object.assign({},o)}contains(t){if(super.contains(t))return!0;const e={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(e))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const o={x:t.x,y:t.y-this.canvasSize.height};return super.contains(o)}intersects(t){if(super.intersects(t))return!0;const e=t,i=t,o={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new zi(o.x,o.y,2*i.radius);return super.intersects(t)}if(void 0!==e.size){const t=new Li(o.x,o.y,2*e.size.width,2*e.size.height);return super.intersects(t)}return!1}}class Hi{constructor(t,e){this.rectangle=t,this.capacity=e,this.points=[],this.divided=!1}insert(t){var e,i,o,n,s;return!!this.rectangle.contains(t.position)&&(this.points.length<this.capacity?(this.points.push(t),!0):(this.divided||this.subdivide(),null!==(s=(null===(e=this.northEast)||void 0===e?void 0:e.insert(t))||(null===(i=this.northWest)||void 0===i?void 0:i.insert(t))||(null===(o=this.southEast)||void 0===o?void 0:o.insert(t))||(null===(n=this.southWest)||void 0===n?void 0:n.insert(t)))&&void 0!==s&&s))}query(t,e,i){var o,n,s,a;const r=null!=i?i:[];if(!t.intersects(this.rectangle))return[];for(const i of this.points)!t.contains(i.position)&&m(t.position,i.position)>i.particle.getRadius()&&(!e||e(i.particle))||r.push(i.particle);return this.divided&&(null===(o=this.northEast)||void 0===o||o.query(t,e,r),null===(n=this.northWest)||void 0===n||n.query(t,e,r),null===(s=this.southEast)||void 0===s||s.query(t,e,r),null===(a=this.southWest)||void 0===a||a.query(t,e,r)),r}queryCircle(t,e,i){return this.query(new zi(t.x,t.y,e),i)}queryCircleWarp(t,e,i,o){const n=i,s=i;return this.query(new Ii(t.x,t.y,e,void 0!==n.canvas?n.canvas.size:s),o)}queryRectangle(t,e,i){return this.query(new Li(t.x,t.y,e.width,e.height),i)}subdivide(){const t=this.rectangle.position.x,e=this.rectangle.position.y,i=this.rectangle.size.width,o=this.rectangle.size.height,n=this.capacity;this.northEast=new Hi(new Li(t,e,i/2,o/2),n),this.northWest=new Hi(new Li(t+i/2,e,i/2,o/2),n),this.southEast=new Hi(new Li(t,e+o/2,i/2,o/2),n),this.southWest=new Hi(new Li(t+i/2,e+o/2,i/2,o/2),n),this.divided=!0}}var Di,ji=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Fi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ni{constructor(t,e){this.container=e,Di.set(this,void 0),ji(this,Di,t,"f"),this.nextId=0,this.array=[],this.zArray=[],this.limit=0,this.needsSort=!1,this.lastZIndex=0,this.freqs={links:new Map,triangles:new Map},this.interactionManager=new Ai(Fi(this,Di,"f"),e);const i=this.container.canvas.size;this.quadTree=new Hi(new Li(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4),this.movers=Fi(this,Di,"f").plugins.getMovers(e,!0),this.updaters=Fi(this,Di,"f").plugins.getUpdaters(e,!0)}get count(){return this.array.length}addManualParticles(){const t=this.container,e=t.actualOptions;for(const i of e.manualParticles)this.addParticle(x({size:t.canvas.size,position:i.position}),i.options)}addParticle(t,e,i){const o=this.container.actualOptions.particles.number.limit;if(o>0){const t=this.count+1-o;t>0&&this.removeQuantity(t)}return this.pushParticle(t,e,i)}addSplitParticle(t,e){const i=t.options.destroy.split,o=vi(Fi(this,Di,"f"),this.container,t.options),n=y(i.factor);o.color.load({value:{hsl:t.getFillColor()}}),"number"==typeof o.size.value?o.size.value/=n:(o.size.value.min/=n,o.size.value.max/=n),o.load(e);const s=i.sizeOffset?w(-t.size.value,t.size.value):0,a={x:t.position.x+u(s),y:t.position.y+u(s)};return this.pushParticle(a,o,t.group,(e=>!(e.size.value<.5)&&(e.velocity.length=u(w(t.velocity.length,e.velocity.length)),e.splitCount=t.splitCount+1,e.unbreakable=!0,setTimeout((()=>{e.unbreakable=!1}),500),!0)))}clear(){this.array=[],this.zArray=[]}destroy(){this.array=[],this.zArray=[],this.movers=[],this.updaters=[]}async draw(t){const e=this.container,i=this.container.canvas.size;this.quadTree=new Hi(new Li(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4),e.canvas.clear(),await this.update(t),this.needsSort&&(this.zArray.sort(((t,e)=>e.position.z-t.position.z||t.id-e.id)),this.lastZIndex=this.zArray[this.zArray.length-1].position.z,this.needsSort=!1);for(const[,i]of e.plugins)e.canvas.drawPlugin(i,t);for(const e of this.zArray)e.draw(t)}getLinkFrequency(t,e){const i=w(t.id,e.id),o=`${v(i)}_${f(i)}`;let n=this.freqs.links.get(o);return void 0===n&&(n=c(),this.freqs.links.set(o,n)),n}getTriangleFrequency(t,e,i){let[o,n,s]=[t.id,e.id,i.id];o>n&&([n,o]=[o,n]),n>s&&([s,n]=[n,s]),o>s&&([s,o]=[o,s]);const a=`${o}_${n}_${s}`;let r=this.freqs.triangles.get(a);return void 0===r&&(r=c(),this.freqs.triangles.set(a,r)),r}handleClickMode(t){this.interactionManager.handleClickMode(t)}init(){var t;const e=this.container,i=e.actualOptions;this.lastZIndex=0,this.needsSort=!1,this.freqs.links=new Map,this.freqs.triangles=new Map;let o=!1;this.updaters=Fi(this,Di,"f").plugins.getUpdaters(e,!0),this.interactionManager.init();for(const[,t]of e.plugins)if(void 0!==t.particlesInitialization&&(o=t.particlesInitialization()),o)break;this.interactionManager.init();for(const[,t]of e.pathGenerators)t.init(e);if(this.addManualParticles(),!o){for(const e in i.particles.groups){const o=i.particles.groups[e];for(let n=this.count,s=0;s<(null===(t=o.number)||void 0===t?void 0:t.value)&&n<i.particles.number.value;n++,s++)this.addParticle(void 0,o,e)}for(let t=this.count;t<i.particles.number.value;t++)this.addParticle()}}push(t,e,i,o){this.pushing=!0;for(let n=0;n<t;n++)this.addParticle(null==e?void 0:e.position,i,o);this.pushing=!1}async redraw(){this.clear(),this.init(),await 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,o){if(!(t>=0&&t<=this.count))return;let n=0;for(let s=t;n<e&&s<this.count;s++){const t=this.array[s];if(!t||t.group!==i)continue;t.destroy(o),this.array.splice(s--,1);const e=this.zArray.indexOf(t);this.zArray.splice(e,1),n++,Fi(this,Di,"f").dispatchEvent("particleRemoved",{container:this.container,data:{particle:t}})}}removeQuantity(t,e){this.removeAt(0,t,e)}setDensity(){const t=this.container.actualOptions;for(const e in t.particles.groups)this.applyDensity(t.particles.groups[e],0,e);this.applyDensity(t.particles,t.manualParticles.length)}async update(t){var e,i;const o=this.container,n=[];for(const[,t]of o.pathGenerators)t.update();for(const[,i]of o.plugins)null===(e=i.update)||void 0===e||e.call(i,t);for(const e of this.array){const s=o.canvas.resizeFactor;s&&!e.ignoresResizeRatio&&(e.position.x*=s.width,e.position.y*=s.height),e.ignoresResizeRatio=!1,await this.interactionManager.reset(e);for(const[,o]of this.container.plugins){if(e.destroyed)break;null===(i=o.particleUpdate)||void 0===i||i.call(o,e,t)}for(const i of this.movers)i.isEnabled(e)&&i.move(e,t);e.destroyed?n.push(e):this.quadTree.insert(new Ri(e.getPosition(),e))}for(const t of n)this.remove(t);await this.interactionManager.externalInteract(t);for(const e of o.particles.array){for(const i of this.updaters)i.update(e,t);e.destroyed||e.spawning||await this.interactionManager.particlesInteract(e,t)}delete o.canvas.resizeFactor}applyDensity(t,e,i){var o;if(!(null===(o=t.number.density)||void 0===o?void 0:o.enable))return;const n=t.number,s=this.initDensityFactor(n.density),a=n.value,r=n.limit>0?n.limit:a,l=Math.min(a,r)*s+e,c=Math.min(this.count,this.array.filter((t=>t.group===i)).length);this.limit=n.limit*s,c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)}initDensityFactor(t){const e=this.container;if(!e.canvas.element||!t.enable)return 1;const i=e.canvas.element,o=e.retina.pixelRatio;return i.width*i.height/(t.factor*o**2*t.area)}pushParticle(t,e,i,o){try{const n=new ki(Fi(this,Di,"f"),this.nextId,this.container,t,e,i);let s=!0;if(o&&(s=o(n)),!s)return;return this.array.push(n),this.zArray.push(n),this.nextId++,Fi(this,Di,"f").dispatchEvent("particleAdded",{container:this.container,data:{particle:n}}),n}catch(t){return void console.warn(`error adding particle: ${t}`)}}}Di=new WeakMap;class Bi{constructor(t){this.container=t}init(){const t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||k()?1:window.devicePixelRatio;const i=this.container.actualOptions.motion;if(i&&(i.disable||i.reduce.value))if(k()||"undefined"==typeof matchMedia||!matchMedia)this.reduceFactor=1;else{const e=matchMedia("(prefers-reduced-motion: reduce)");if(e){this.handleMotionChange(e);const i=()=>{this.handleMotionChange(e),t.refresh().catch((()=>{}))};void 0!==e.addEventListener?e.addEventListener("change",i):void 0!==e.addListener&&e.addListener(i)}}else this.reduceFactor=1;const o=this.pixelRatio;if(t.canvas.element){const e=t.canvas.element;t.canvas.size.width=e.offsetWidth*o,t.canvas.size.height=e.offsetHeight*o}const n=e.particles;this.attractDistance=p(n.move.attract.distance)*o,this.sizeAnimationSpeed=p(n.size.animation.speed)*o,this.maxSpeed=p(n.move.gravity.maxSpeed)*o;const s=e.interactivity.modes;this.slowModeRadius=s.slow.radius*o}initParticle(t){const e=t.options,i=this.pixelRatio,o=e.move.distance,n=t.retina;n.attractDistance=p(e.move.attract.distance)*i,n.moveDrift=p(e.move.drift)*i,n.moveSpeed=p(e.move.speed)*i,n.sizeAnimationSpeed=p(e.size.animation.speed)*i;const s=n.maxDistance;s.horizontal=void 0!==o.horizontal?o.horizontal*i:void 0,s.vertical=void 0!==o.vertical?o.vertical*i:void 0,n.maxSpeed=p(e.move.gravity.maxSpeed)*i}handleMotionChange(t){const e=this.container.actualOptions;if(t.matches){const t=e.motion;this.reduceFactor=t.disable?0:t.reduce.value?1/t.reduce.factor:1}else this.reduceFactor=1}}var qi,Ui,Wi,Qi,$i,Zi=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Xi=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function Yi(t){return void 0!==t&&!t.destroyed}function Ji(t,e,...i){const o=new Si(t,e);return pi(o,...i),o}const Ki={generate:t=>{const e=t.velocity.copy();return e.angle+=e.length*Math.PI/180,e},init:()=>{},update:()=>{}};class to{constructor(t,e,i){this.id=e,qi.set(this,void 0),Ui.set(this,void 0),Wi.set(this,void 0),Qi.set(this,void 0),$i.set(this,void 0),Zi(this,qi,t,"f"),this.fpsLimit=120,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,Zi(this,$i,i,"f"),this._initialSourceOptions=i,this.retina=new Bi(this),this.canvas=new Yt(this),this.particles=new Ni(Xi(this,qi,"f"),this),this.frameManager=new te(this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.drawers=new Map,Zi(this,Qi,Ji(Xi(this,qi,"f"),this),"f"),this.actualOptions=Ji(Xi(this,qi,"f"),this),Zi(this,Ui,new Kt(this),"f"),"undefined"!=typeof IntersectionObserver&&IntersectionObserver&&Zi(this,Wi,new IntersectionObserver((t=>this.intersectionManager(t))),"f"),Xi(this,qi,"f").dispatchEvent("containerBuilt",{container:this})}get options(){return Xi(this,Qi,"f")}get sourceOptions(){return Xi(this,$i,"f")}addClickHandler(t){if(!Yi(this))return;const e=this.interactivity.element;if(!e)return;const i=(e,i,o)=>{if(!Yi(this))return;const n=this.retina.pixelRatio,s={x:i.x*n,y:i.y*n},a=this.particles.quadTree.queryCircle(s,o*n);t(e,a)};let o=!1,n=!1;e.addEventListener("click",(t=>{if(!Yi(this))return;const e=t,o={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY};i(t,o,1)})),e.addEventListener("touchstart",(()=>{Yi(this)&&(o=!0,n=!1)})),e.addEventListener("touchmove",(()=>{Yi(this)&&(n=!0)})),e.addEventListener("touchend",(t=>{var e,s,a;if(Yi(this)){if(o&&!n){const o=t;let n=o.touches[o.touches.length-1];if(!n&&(n=o.changedTouches[o.changedTouches.length-1],!n))return;const r=null===(e=this.canvas.element)||void 0===e?void 0:e.getBoundingClientRect(),l={x:n.clientX-(null!==(s=null==r?void 0:r.left)&&void 0!==s?s:0),y:n.clientY-(null!==(a=null==r?void 0:r.top)&&void 0!==a?a:0)};i(t,l,Math.max(n.radiusX,n.radiusY))}o=!1,n=!1}})),e.addEventListener("touchcancel",(()=>{Yi(this)&&(o=!1,n=!1)}))}addPath(t,e,i=!1){return!(!Yi(this)||!i&&this.pathGenerators.has(t))&&(this.pathGenerators.set(t,null!=e?e:Ki),!0)}destroy(){if(!Yi(this))return;this.stop(),this.particles.destroy(),this.canvas.destroy();for(const[,t]of this.drawers)t.destroy&&t.destroy(this);for(const t of this.drawers.keys())this.drawers.delete(t);Xi(this,qi,"f").plugins.destroy(this),this.destroyed=!0;const t=Xi(this,qi,"f").dom(),e=t.findIndex((t=>t===this));e>=0&&t.splice(e,1),Xi(this,qi,"f").dispatchEvent("containerDestroyed",{container:this})}draw(t){if(!Yi(this))return;let e=t;this.drawAnimationFrame=R()((async t=>{e&&(this.lastFrameTime=void 0,e=!1),await this.frameManager.nextFrame(t)}))}exportConfiguration(){return JSON.stringify(this.actualOptions,void 0,2)}exportImage(t,e,i){var o;return null===(o=this.canvas.element)||void 0===o?void 0:o.toBlob(t,null!=e?e:"image/png",i)}exportImg(t){this.exportImage(t)}getAnimationStatus(){return!this.paused&&!this.pageHidden&&Yi(this)}handleClickMode(t){if(Yi(this)){this.particles.handleClickMode(t);for(const[,e]of this.plugins)e.handleClickMode&&e.handleClickMode(t)}}async init(){if(!Yi(this))return;const t=Xi(this,qi,"f").plugins.getSupportedShapes();for(const e of t){const t=Xi(this,qi,"f").plugins.getShapeDrawer(e);t&&this.drawers.set(e,t)}Zi(this,Qi,Ji(Xi(this,qi,"f"),this,this._initialSourceOptions,this.sourceOptions),"f"),this.actualOptions=Ji(Xi(this,qi,"f"),this,Xi(this,Qi,"f")),this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize(),this.zLayers=this.actualOptions.zLayers,this.duration=p(this.actualOptions.duration),this.lifeTime=0,this.fpsLimit=this.actualOptions.fpsLimit>0?this.actualOptions.fpsLimit:120;const e=Xi(this,qi,"f").plugins.getAvailablePlugins(this);for(const[t,i]of e)this.plugins.set(t,i);for(const[,t]of this.drawers)t.init&&await t.init(this);for(const[,t]of this.plugins)t.init?t.init(this.actualOptions):void 0!==t.initAsync&&await t.initAsync(this.actualOptions);Xi(this,qi,"f").dispatchEvent("containerInit",{container:this}),this.particles.init(),this.particles.setDensity();for(const[,t]of this.plugins)void 0!==t.particlesSetup&&t.particlesSetup();Xi(this,qi,"f").dispatchEvent("particlesSetup",{container:this})}async loadTheme(t){Yi(this)&&(this.currentTheme=t,await this.refresh())}pause(){if(Yi(this)&&(void 0!==this.drawAnimationFrame&&(M()(this.drawAnimationFrame),delete this.drawAnimationFrame),!this.paused)){for(const[,t]of this.plugins)t.pause&&t.pause();this.pageHidden||(this.paused=!0),Xi(this,qi,"f").dispatchEvent("containerPaused",{container:this})}}play(t){if(!Yi(this))return;const e=this.paused||t;if(!this.firstStart||this.actualOptions.autoPlay){if(this.paused&&(this.paused=!1),e)for(const[,t]of this.plugins)t.play&&t.play();Xi(this,qi,"f").dispatchEvent("containerPlay",{container:this}),this.draw(e||!1)}else this.firstStart=!1}async refresh(){if(Yi(this))return this.stop(),this.start()}async reset(){if(Yi(this))return Zi(this,Qi,Ji(Xi(this,qi,"f"),this),"f"),this.refresh()}setNoise(t,e,i){Yi(this)&&this.setPath(t,e,i)}setPath(t,e,i){if(!t||!Yi(this))return;const o=Object.assign({},Ki);if("function"==typeof t)o.generate=t,e&&(o.init=e),i&&(o.update=i);else{const e=o;o.generate=t.generate||e.generate,o.init=t.init||e.init,o.update=t.update||e.update}this.addPath("default",o,!0)}async start(){if(!this.started&&Yi(this)){await this.init(),this.started=!0,Xi(this,Ui,"f").addListeners(),this.interactivity.element instanceof HTMLElement&&Xi(this,Wi,"f")&&Xi(this,Wi,"f").observe(this.interactivity.element);for(const[,t]of this.plugins)void 0!==t.startAsync?await t.startAsync():void 0!==t.start&&t.start();Xi(this,qi,"f").dispatchEvent("containerStarted",{container:this}),this.play()}}stop(){var t;if(this.started&&Yi(this)){this.firstStart=!0,this.started=!1,Xi(this,Ui,"f").removeListeners(),this.pause(),this.particles.clear(),this.canvas.clear(),this.interactivity.element instanceof HTMLElement&&Xi(this,Wi,"f")&&Xi(this,Wi,"f").unobserve(this.interactivity.element);for(const[,e]of this.plugins)null===(t=e.stop)||void 0===t||t.call(e);for(const t of this.plugins.keys())this.plugins.delete(t);Zi(this,$i,Xi(this,Qi,"f"),"f"),Xi(this,qi,"f").dispatchEvent("containerStopped",{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];const t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,Xi(this,Qi,"f"));return this.actualOptions.setTheme(this.currentTheme),this.responsiveMaxWidth!=t&&(this.responsiveMaxWidth=t,!0)}intersectionManager(t){if(Yi(this)&&this.actualOptions.pauseOnOutsideViewport)for(const e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play:this.pause)()}}qi=new WeakMap,Ui=new WeakMap,Wi=new WeakMap,Qi=new WeakMap,$i=new WeakMap;var eo,io=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},oo=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};async function no(t,e){const i=t instanceof Array?H(t,e):t;if(!i)return;const o=await fetch(i);if(o.ok)return o.json();var n;n=o.status,console.error(`tsParticles - Error ${n} while retrieving config file`)}class so{constructor(t){eo.set(this,void 0),io(this,eo,t,"f")}load(t,e,i){const o={index:i,remote:!1};return"string"==typeof t?o.tagId=t:o.options=t,"number"==typeof e?o.index=e:o.options=null!=e?e:o.options,this.loadOptions(o)}async loadJSON(t,e,i){let o,n;return"number"==typeof e||void 0===e?o=t:(n=t,o=e),this.loadRemoteOptions({tagId:n,url:o,index:i,remote:!0})}async loadOptions(t){var e,i,o;const n=null!==(e=t.tagId)&&void 0!==e?e:`tsparticles${Math.floor(1e4*c())}`,{index:s,url:a,remote:r}=t,l=r?await no(a,s):t.options;let h=null!==(i=t.element)&&void 0!==i?i:document.getElementById(n);h||(h=document.createElement("div"),h.id=n,null===(o=document.querySelector("body"))||void 0===o||o.append(h));const d=l instanceof Array?H(l,s):l,u=oo(this,eo,"f").dom(),p=u.findIndex((t=>t.id===n));if(p>=0){const t=oo(this,eo,"f").domItem(p);t&&!t.destroyed&&(t.destroy(),u.splice(p,1))}let v;if("canvas"===h.tagName.toLowerCase())v=h,v.dataset[Vt]="false";else{const t=h.getElementsByTagName("canvas");t.length?(v=t[0],v.dataset[Vt]="false"):(v=document.createElement("canvas"),v.dataset[Vt]="true",h.appendChild(v))}v.style.width||(v.style.width="100%"),v.style.height||(v.style.height="100%");const f=new to(oo(this,eo,"f"),n,d);return p>=0?u.splice(p,0,f):u.push(f),f.canvas.loadCanvas(v),await f.start(),f}async loadRemoteOptions(t){return this.loadOptions(t)}async set(t,e,i,o){const n={index:o,remote:!1};return"string"==typeof t?n.tagId=t:n.element=t,e instanceof HTMLElement?n.element=e:n.options=e,"number"==typeof i?n.index=i:n.options=null!=i?i:n.options,this.loadOptions(n)}async setJSON(t,e,i,o){let n,s,a,r;return t instanceof HTMLElement?(r=t,n=e,a=i):(s=t,r=e,n=i,a=o),this.loadRemoteOptions({tagId:s,url:n,index:a,element:r,remote:!0})}}eo=new WeakMap;var ao,ro=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};class lo{constructor(t){ao.set(this,void 0),ro(this,ao,t,"f"),this.plugins=[],this.interactorsInitializers=new Map,this.moversInitializers=new Map,this.updatersInitializers=new Map,this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.drawers=new Map,this.pathGenerators=new Map}addInteractor(t,e){this.interactorsInitializers.set(t,e)}addParticleMover(t,e){this.moversInitializers.set(t,e)}addParticleUpdater(t,e){this.updatersInitializers.set(t,e)}addPathGenerator(t,e){this.getPathGenerator(t)||this.pathGenerators.set(t,e)}addPlugin(t){this.getPlugin(t.id)||this.plugins.push(t)}addPreset(t,e,i=!1){!i&&this.getPreset(t)||this.presets.set(t,e)}addShapeDrawer(t,e){this.getShapeDrawer(t)||this.drawers.set(t,e)}destroy(t){this.updaters.delete(t),this.movers.delete(t),this.interactors.delete(t)}getAvailablePlugins(t){const e=new Map;for(const i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,i.getPlugin(t));return e}getInteractors(t,e=!1){let i=this.interactors.get(t);return i&&!e||(i=[...this.interactorsInitializers.values()].map((e=>e(t))),this.interactors.set(t,i)),i}getMovers(t,e=!1){let i=this.movers.get(t);return i&&!e||(i=[...this.moversInitializers.values()].map((e=>e(t))),this.movers.set(t,i)),i}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.drawers.get(t)}getSupportedShapes(){return this.drawers.keys()}getUpdaters(t,e=!1){let i=this.updaters.get(t);return i&&!e||(i=[...this.updatersInitializers.values()].map((e=>e(t))),this.updaters.set(t,i)),i}loadOptions(t,e){for(const i of this.plugins)i.loadOptions(t,e)}loadParticlesOptions(t,e,...i){const o=this.updaters.get(t);if(o)for(const t of o)t.loadOptions&&t.loadOptions(e,...i)}}ao=new WeakMap;var co,ho,uo,po,vo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},fo=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};co=new WeakMap,ho=new WeakMap,uo=new WeakMap,po=new WeakMap;class wo{constructor(){this.stringPrefix="hsl"}handleColor(t){var e;const i=null!==(e=t.value.hsl)&&void 0!==e?e:t.value;if(void 0!==i.h&&void 0!==i.l)return lt(i)}handleRangeColor(t){var e;const i=null!==(e=t.value.hsl)&&void 0!==e?e:t.value;if(void 0!==i.h&&void 0!==i.l)return lt({h:p(i.h),l:p(i.l),s:p(i.s)})}parseString(t){if(!t.startsWith("hsl"))return;const e=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i.exec(t);return e?ct({a:e.length>4?V(e[5]):1,h:parseInt(e[1],10),l:parseInt(e[3],10),s:parseInt(e[2],10)}):void 0}}class yo{constructor(){this.stringPrefix="rgb"}handleColor(t){var e;const i=null!==(e=t.value.rgb)&&void 0!==e?e:t.value;if(void 0!==i.r)return i}handleRangeColor(t){var e;const i=null!==(e=t.value.rgb)&&void 0!==e?e:t.value;if(void 0!==i.r)return{r:p(i.r),g:p(i.g),b:p(i.b)}}parseString(t){if(!t.startsWith(this.stringPrefix))return;const e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i.exec(t);return e?{a:e.length>4?V(e[5]):1,b:parseInt(e[3],10),g:parseInt(e[2],10),r:parseInt(e[1],10)}:void 0}}class go{constructor(t){this.container=t,this.type=0}}class mo{constructor(t){this.container=t,this.type=1}}const bo=new yo,So=new wo;J("rgb",bo),J("hsl",So);const Po=new class{constructor(){co.set(this,void 0),ho.set(this,void 0),uo.set(this,void 0),po.set(this,void 0),vo(this,co,[],"f"),vo(this,ho,new s,"f"),vo(this,uo,!1,"f"),vo(this,po,new so(this),"f"),this.plugins=new lo(this)}addEventListener(t,e){fo(this,ho,"f").addEventListener(t,e)}async addInteractor(t,e){this.plugins.addInteractor(t,e),await this.refresh()}async addMover(t,e){this.plugins.addParticleMover(t,e),await this.refresh()}async addParticleUpdater(t,e){this.plugins.addParticleUpdater(t,e),await this.refresh()}async addPathGenerator(t,e){this.plugins.addPathGenerator(t,e),await this.refresh()}async addPlugin(t){this.plugins.addPlugin(t),await this.refresh()}async addPreset(t,e,i=!1){this.plugins.addPreset(t,e,i),await this.refresh()}async addShape(t,e,i,o,n){let s;s="function"==typeof e?{afterEffect:o,destroy:n,draw:e,init:i}:e,this.plugins.addShapeDrawer(t,s),await this.refresh()}dispatchEvent(t,e){fo(this,ho,"f").dispatchEvent(t,e)}dom(){return fo(this,co,"f")}domItem(t){const e=this.dom(),i=e[t];if(i&&!i.destroyed)return i;e.splice(t,1)}init(){fo(this,uo,"f")||vo(this,uo,!0,"f")}async load(t,e){return fo(this,po,"f").load(t,e)}async loadFromArray(t,e,i){return fo(this,po,"f").load(t,e,i)}async loadJSON(t,e,i){return fo(this,po,"f").loadJSON(t,e,i)}async refresh(){for(const t of this.dom())await t.refresh()}removeEventListener(t,e){fo(this,ho,"f").removeEventListener(t,e)}async set(t,e,i){return fo(this,po,"f").set(t,e,i)}async setJSON(t,e,i,o){return fo(this,po,"f").setJSON(t,e,i,o)}setOnClickHandler(t){const e=this.dom();if(!e.length)throw new Error("Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()");for(const i of e)i.addClickHandler(t)}};Po.init();class _o{constructor(){this.radius=0,this.mass=0}load(t){t&&(void 0!==t.mass&&(this.mass=t.mass),void 0!==t.radius&&(this.radius=t.radius))}}class xo extends ke{constructor(){super(),this.density=5,this.value=50,this.limit=new _o}load(t){t&&(super.load(t),void 0!==t.density&&(this.density=t.density),"number"==typeof t.limit?this.limit.radius=t.limit:this.limit.load(t.limit))}}class Co{constructor(){this.color=new ee,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.size=new xo}load(t){void 0!==t&&(void 0!==t.color&&(this.color=ee.create(this.color,t.color)),void 0!==t.draggable&&(this.draggable=t.draggable),this.name=t.name,void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=w(t.position.x)),void 0!==t.position.y&&(this.position.y=w(t.position.y))),void 0!==t.size&&this.size.load(t.size),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.orbits&&(this.orbits=t.orbits))}}class Ao{constructor(t,e,i,o){var n,s,r;this.absorbers=t,this.container=e,this.initialPosition=o?a.create(o.x,o.y):void 0,i instanceof Co?this.options=i:(this.options=new Co,this.options.load(i)),this.dragging=!1,this.name=this.options.name,this.opacity=this.options.opacity,this.size=p(this.options.size.value)*e.retina.pixelRatio,this.mass=this.size*this.options.size.density*e.retina.reduceFactor;const l=this.options.size.limit;this.limit={radius:l.radius*e.retina.pixelRatio*e.retina.reduceFactor,mass:l.mass},this.color=null!==(n=et(this.options.color))&&void 0!==n?n:{b:0,g:0,r:0},this.position=null!==(r=null===(s=this.initialPosition)||void 0===s?void 0:s.copy())&&void 0!==r?r:this.calcPosition()}attract(t){const e=this.container,i=this.options;if(i.draggable){const t=e.interactivity.mouse;if(t.clicking&&t.downPosition){m(this.position,t.downPosition)<=this.size&&(this.dragging=!0)}else this.dragging=!1;this.dragging&&t.position&&(this.position.x=t.position.x,this.position.y=t.position.y)}const o=t.getPosition(),{dx:n,dy:s,distance:r}=g(this.position,o),l=a.create(n,s);if(l.length=this.mass/Math.pow(r,2)*e.retina.reduceFactor,r<this.size+t.getRadius()){const o=.033*t.getRadius()*e.retina.pixelRatio;this.size>t.getRadius()&&r<this.size-t.getRadius()||void 0!==t.absorberOrbit&&t.absorberOrbit.length<0?i.destroy?t.destroy():(t.needsNewPosition=!0,this.updateParticlePosition(t,l)):(i.destroy&&(t.size.value-=o),this.updateParticlePosition(t,l)),(this.limit.radius<=0||this.size<this.limit.radius)&&(this.size+=o),(this.limit.mass<=0||this.mass<this.limit.mass)&&(this.mass+=o*this.options.size.density*e.retina.reduceFactor)}else this.updateParticlePosition(t,l)}draw(t){t.translate(this.position.x,this.position.y),t.beginPath(),t.arc(0,0,this.size,0,2*Math.PI,!1),t.closePath(),t.fillStyle=dt(this.color,this.opacity),t.fill()}resize(){const t=this.initialPosition;this.position=t&&D(t,this.container.canvas.size,a.origin)?t:this.calcPosition()}calcPosition(){const t=A({size:this.container.canvas.size,position:this.options.position});return a.create(t.x,t.y)}updateParticlePosition(t,e){var i;if(t.destroyed)return;const o=this.container,n=o.canvas.size;if(t.needsNewPosition){const e=C({size:n});t.position.setTo(e),t.velocity.setTo(t.initialVelocity),t.absorberOrbit=void 0,t.needsNewPosition=!1}if(this.options.orbits){if(void 0===t.absorberOrbit&&(t.absorberOrbit=a.create(0,0),t.absorberOrbit.length=m(t.getPosition(),this.position),t.absorberOrbit.angle=c()*Math.PI*2),t.absorberOrbit.length<=this.size&&!this.options.destroy){const e=Math.min(n.width,n.height);t.absorberOrbit.length=e*(.2*c()-.1+1)}void 0===t.absorberOrbitDirection&&(t.absorberOrbitDirection=t.velocity.x>=0?"clockwise":"counter-clockwise");const s=t.absorberOrbit.length,r=t.absorberOrbit.angle,l=t.absorberOrbitDirection;t.velocity.setTo(a.origin);const h={x:"clockwise"===l?Math.cos:Math.sin,y:"clockwise"===l?Math.sin:Math.cos};t.position.x=this.position.x+s*h.x(r),t.position.y=this.position.y+s*h.y(r),t.absorberOrbit.length-=e.length,t.absorberOrbit.angle+=(null!==(i=t.retina.moveSpeed)&&void 0!==i?i:0)*o.retina.pixelRatio/100*o.retina.reduceFactor}else{const i=a.origin;i.length=e.length,i.angle=e.angle,t.velocity.addTo(i)}}}class Eo{constructor(t){this.container=t,this.array=[],this.absorbers=[],this.interactivityAbsorbers=[],t.getAbsorber=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((e=>e.name===t)),t.addAbsorber=(t,e)=>this.addAbsorber(t,e)}addAbsorber(t,e){const i=new Ao(this,this.container,t,e);return this.array.push(i),i}draw(t){for(const e of this.array)t.save(),e.draw(t),t.restore()}handleClickMode(t){const e=this.absorbers,i=this.interactivityAbsorbers;if("absorber"===t){let t;i instanceof Array?i.length>0&&(t=H(i)):t=i;const o=null!=t?t:e instanceof Array?H(e):e,n=this.container.interactivity.mouse.clickPosition;this.addAbsorber(o,n)}}init(t){var e,i;if(!t)return;t.absorbers&&(t.absorbers instanceof Array?this.absorbers=t.absorbers.map((t=>{const e=new Co;return e.load(t),e})):(this.absorbers instanceof Array&&(this.absorbers=new Co),this.absorbers.load(t.absorbers)));const o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.modes)||void 0===i?void 0:i.absorbers;if(o&&(o instanceof Array?this.interactivityAbsorbers=o.map((t=>{const e=new Co;return e.load(t),e})):(this.interactivityAbsorbers instanceof Array&&(this.interactivityAbsorbers=new Co),this.interactivityAbsorbers.load(o))),this.absorbers instanceof Array)for(const t of this.absorbers)this.addAbsorber(t);else this.addAbsorber(this.absorbers)}particleUpdate(t){for(const e of this.array)if(e.attract(t),t.destroyed)break}removeAbsorber(t){const e=this.array.indexOf(t);e>=0&&this.array.splice(e,1)}resize(){for(const t of this.array)t.resize()}stop(){this.array=[]}}class To{constructor(){this.id="absorbers"}getPlugin(t){return new Eo(t)}loadOptions(t,e){var i,o;if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;const n=t;if(null==e?void 0:e.absorbers)if((null==e?void 0:e.absorbers)instanceof Array)n.absorbers=null==e?void 0:e.absorbers.map((t=>{const e=new Co;return e.load(t),e}));else{let t=n.absorbers;void 0===(null==t?void 0:t.load)&&(n.absorbers=t=new Co),t.load(null==e?void 0:e.absorbers)}const s=null===(o=null===(i=null==e?void 0:e.interactivity)||void 0===i?void 0:i.modes)||void 0===o?void 0:o.absorbers;if(s)if(s instanceof Array)n.interactivity.modes.absorbers=s.map((t=>{const e=new Co;return e.load(t),e}));else{let t=n.interactivity.modes.absorbers;void 0===(null==t?void 0:t.load)&&(n.interactivity.modes.absorbers=t=new Co),t.load(s)}}needsPlugin(t){var e,i,o;if(!t)return!1;const n=t.absorbers;return n instanceof Array?!!n.length:!!n||!(!(null===(o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.events)||void 0===i?void 0:i.onClick)||void 0===o?void 0:o.mode)||!z("absorber",t.interactivity.events.onClick.mode))}}class Vo{randomPosition(t,e,i){const[o,n]=[e.width/2,e.height/2],s=((t,e)=>{const i=c()/4,o=Math.atan(e/t*Math.tan(2*Math.PI*i)),n=c();return n<.25?o:n<.5?Math.PI-o:n<.75?Math.PI+o:-o})(o,n),a=(d=s,(l=o)*(h=n)/Math.sqrt((h*Math.cos(d))**2+(l*Math.sin(d))**2)),r=i?a*Math.sqrt(c()):a;var l,h,d;return{x:t.x+r*Math.cos(s),y:t.y+r*Math.sin(s)}}}class Go{constructor(){this.wait=!1}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=t.delay),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.wait&&(this.wait=t.wait))}}class Oo{constructor(){this.quantity=1,this.delay=.1}load(t){void 0!==t&&(void 0!==t.quantity&&(this.quantity=w(t.quantity)),void 0!==t.delay&&(this.delay=w(t.delay)))}}class ko{constructor(){this.mode="percent",this.height=0,this.width=0}load(t){void 0!==t&&(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}class Ro{constructor(){this.autoPlay=!0,this.fill=!0,this.life=new Go,this.rate=new Oo,this.shape="square",this.startCount=0}load(t){void 0!==t&&(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(void 0===this.size&&(this.size=new ko),this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,void 0!==t.particles&&(t.particles instanceof Array?this.particles=t.particles.map((t=>N({},t))):this.particles=N({},t.particles)),this.rate.load(t.rate),void 0!==t.shape&&(this.shape=t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=w(t.position.x)),void 0!==t.position.y&&(this.position.y=w(t.position.y))),void 0!==t.spawnColor&&(void 0===this.spawnColor&&(this.spawnColor=new Ve),this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}var Mo,zo,Lo,Io=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Ho=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Do{constructor(t,e,i,o,n){var s,a,r,l,c,h,d,u;this.emitters=e,this.container=i,Mo.set(this,void 0),zo.set(this,void 0),Lo.set(this,void 0),Io(this,Mo,t,"f"),this.currentDuration=0,this.currentEmitDelay=0,this.currentSpawnDelay=0,this.initialPosition=n,o instanceof Ro?this.options=o:(this.options=new Ro,this.options.load(o)),this.spawnDelay=1e3*(null!==(s=this.options.life.delay)&&void 0!==s?s:0)/this.container.retina.reduceFactor,this.position=null!==(a=this.initialPosition)&&void 0!==a?a:this.calcPosition(),this.name=this.options.name,this.shape=null===(r=Ho(this,Mo,"f").emitterShapeManager)||void 0===r?void 0:r.getShape(this.options.shape),this.fill=this.options.fill,Io(this,zo,!this.options.life.wait,"f"),Io(this,Lo,!1,"f");let p=N({},this.options.particles);null!=p||(p={}),null!==(l=p.move)&&void 0!==l||(p.move={}),null!==(c=(u=p.move).direction)&&void 0!==c||(u.direction=this.options.direction),this.options.spawnColor&&(this.spawnColor=nt(this.options.spawnColor)),this.paused=!this.options.autoPlay,this.particlesOptions=p,this.size=null!==(h=this.options.size)&&void 0!==h?h:(()=>{const t=new ko;return t.load({height:0,mode:"percent",width:0}),t})(),this.lifeCount=null!==(d=this.options.life.count)&&void 0!==d?d:-1,this.immortal=this.lifeCount<=0,Ho(this,Mo,"f").dispatchEvent("emitterCreated",{container:i,data:{emitter:this}}),this.play()}externalPause(){this.paused=!0,this.pause()}externalPlay(){this.paused=!1,this.play()}getPosition(){if(this.options.domId){const t=this.container,e=document.getElementById(this.options.domId);if(e){const i=e.getBoundingClientRect();return{x:(i.x+i.width/2)*t.retina.pixelRatio,y:(i.y+i.height/2)*t.retina.pixelRatio}}}return this.position}getSize(){const t=this.container;if(this.options.domId){const e=document.getElementById(this.options.domId);if(e){const i=e.getBoundingClientRect();return{width:i.width*t.retina.pixelRatio,height:i.height*t.retina.pixelRatio}}}return{width:"percent"===this.size.mode?t.canvas.size.width*this.size.width/100:this.size.width,height:"percent"===this.size.mode?t.canvas.size.height*this.size.height/100:this.size.height}}pause(){this.paused||delete this.emitDelay}play(){var t;if(!this.paused&&this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal||!this.options.life.count)&&(Ho(this,zo,"f")||this.currentSpawnDelay>=(null!==(t=this.spawnDelay)&&void 0!==t?t:0))){if(void 0===this.emitDelay){const t=p(this.options.rate.delay);this.emitDelay=1e3*t/this.container.retina.reduceFactor}(this.lifeCount>0||this.immortal)&&this.prepareToDie()}}resize(){const t=this.initialPosition;this.position=t&&D(t,this.container.canvas.size,a.origin)?t:this.calcPosition()}update(t){var e,i,o;this.paused||(Ho(this,zo,"f")&&(Io(this,zo,!1,"f"),this.currentSpawnDelay=null!==(e=this.spawnDelay)&&void 0!==e?e:0,this.currentEmitDelay=null!==(i=this.emitDelay)&&void 0!==i?i:0),Ho(this,Lo,"f")||(Io(this,Lo,!0,"f"),this.emitParticles(this.options.startCount)),void 0!==this.duration&&(this.currentDuration+=t.value,this.currentDuration>=this.duration&&(this.pause(),void 0!==this.spawnDelay&&delete this.spawnDelay,this.immortal||this.lifeCount--,this.lifeCount>0||this.immortal?(this.position=this.calcPosition(),this.spawnDelay=1e3*(null!==(o=this.options.life.delay)&&void 0!==o?o:0)/this.container.retina.reduceFactor):this.destroy(),this.currentDuration-=this.duration,delete this.duration)),void 0!==this.spawnDelay&&(this.currentSpawnDelay+=t.value,this.currentSpawnDelay>=this.spawnDelay&&(Ho(this,Mo,"f").dispatchEvent("emitterPlay",{container:this.container}),this.play(),this.currentSpawnDelay-=this.currentSpawnDelay,delete this.spawnDelay)),void 0!==this.emitDelay&&(this.currentEmitDelay+=t.value,this.currentEmitDelay>=this.emitDelay&&(this.emit(),this.currentEmitDelay-=this.emitDelay)))}calcPosition(){return A({size:this.container.canvas.size,position:this.options.position})}destroy(){this.emitters.removeEmitter(this),Ho(this,Mo,"f").dispatchEvent("emitterDestroyed",{container:this.container,data:{emitter:this}})}emit(){if(this.paused)return;const t=p(this.options.rate.quantity);this.emitParticles(t)}emitParticles(t){var e,i,o;const n=this.getPosition(),s=this.getSize(),a=this.particlesOptions instanceof Array?H(this.particlesOptions):this.particlesOptions;for(let r=0;r<t;r++){const t=N({},a);if(this.spawnColor){const i=null===(e=this.options.spawnColor)||void 0===e?void 0:e.animation;i&&(this.spawnColor.h=this.setColorAnimation(i.h,this.spawnColor.h,360),this.spawnColor.s=this.setColorAnimation(i.s,this.spawnColor.s,100),this.spawnColor.l=this.setColorAnimation(i.l,this.spawnColor.l,100)),t.color?t.color.value=this.spawnColor:t.color={value:this.spawnColor}}if(!n)return;const r=null!==(o=null===(i=this.shape)||void 0===i?void 0:i.randomPosition(n,s,this.fill))&&void 0!==o?o:n;this.container.particles.addParticle(r,t)}}prepareToDie(){var t;if(this.paused)return;const e=null===(t=this.options.life)||void 0===t?void 0:t.duration;this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal)&&void 0!==e&&e>0&&(this.duration=1e3*e)}setColorAnimation(t,e,i){var o;const n=this.container;if(!t.enable)return e;const s=u(t.offset),a=1e3*p(this.options.rate.delay)/n.retina.reduceFactor;return(e+p(null!==(o=t.speed)&&void 0!==o?o:0)*n.fpsLimit/a+3.6*s)%i}}Mo=new WeakMap,zo=new WeakMap,Lo=new WeakMap;var jo,Fo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},No=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Bo{constructor(t,e){this.container=e,jo.set(this,void 0),Fo(this,jo,t,"f"),this.array=[],this.emitters=[],this.interactivityEmitters={random:{count:1,enable:!1},value:[]},e.getEmitter=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((e=>e.name===t)),e.addEmitter=(t,e)=>this.addEmitter(t,e),e.removeEmitter=t=>{const i=e.getEmitter(t);i&&this.removeEmitter(i)},e.playEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPlay()},e.pauseEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPause()}}addEmitter(t,e){const i=new Ro;i.load(t);const o=new Do(No(this,jo,"f"),this,this.container,i,e);return this.array.push(o),o}handleClickMode(t){const e=this.emitters,i=this.interactivityEmitters;if("emitter"===t){let t;if(i&&i.value instanceof Array)if(i.value.length>0&&i.random.enable){t=[];const e=[];for(let o=0;o<i.random.count;o++){const n=I(i.value);e.includes(n)&&e.length<i.value.length?o--:(e.push(n),t.push(H(i.value,n)))}}else t=i.value;else t=null==i?void 0:i.value;const o=null!=t?t:e,n=this.container.interactivity.mouse.clickPosition;if(o instanceof Array)for(const t of o)this.addEmitter(t,n);else this.addEmitter(N({},o),n)}}init(t){var e,i,o,n,s,a,r,l;if(!t)return;t.emitters&&(t.emitters instanceof Array?this.emitters=t.emitters.map((t=>{const e=new Ro;return e.load(t),e})):(this.emitters instanceof Array&&(this.emitters=new Ro),this.emitters.load(t.emitters)));const c=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.modes)||void 0===i?void 0:i.emitters;if(c)if(c instanceof Array)this.interactivityEmitters={random:{count:1,enable:!0},value:c.map((t=>{const e=new Ro;return e.load(t),e}))};else{const t=c;if(void 0!==t.value)if(t.value instanceof Array)this.interactivityEmitters={random:{count:null!==(o=this.interactivityEmitters.random.count)&&void 0!==o?o:1,enable:null!==(n=this.interactivityEmitters.random.enable)&&void 0!==n&&n},value:t.value.map((t=>{const e=new Ro;return e.load(t),e}))};else{const e=new Ro;e.load(t.value),this.interactivityEmitters={random:{count:null!==(s=this.interactivityEmitters.random.count)&&void 0!==s?s:1,enable:null!==(a=this.interactivityEmitters.random.enable)&&void 0!==a&&a},value:e}}else{const t=new Ro;t.load(c),this.interactivityEmitters={random:{count:null!==(r=this.interactivityEmitters.random.count)&&void 0!==r?r:1,enable:null!==(l=this.interactivityEmitters.random.enable)&&void 0!==l&&l},value:t}}}if(this.emitters instanceof Array)for(const t of this.emitters)this.addEmitter(t);else this.addEmitter(this.emitters)}pause(){for(const t of this.array)t.pause()}play(){for(const t of this.array)t.play()}removeEmitter(t){const e=this.array.indexOf(t);e>=0&&this.array.splice(e,1)}resize(){for(const t of this.array)t.resize()}stop(){this.array=[]}update(t){for(const e of this.array)e.update(t)}}jo=new WeakMap;var qo,Uo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};const Wo=new Map;class Qo{constructor(t){qo.set(this,void 0),Uo(this,qo,t,"f")}addShape(t,e){this.getShape(t)||Wo.set(t,e)}getShape(t){return Wo.get(t)}getSupportedShapes(){return Wo.keys()}}function $o(t,e){return t+e*(c()-.5)}qo=new WeakMap;class Zo{randomPosition(t,e,i){if(i)return{x:$o(t.x,e.width),y:$o(t.y,e.height)};{const i=e.width/2,o=e.height/2,n=Math.floor(4*c()),s=2*(c()-.5);switch(n){case 0:return{x:t.x+s*i,y:t.y-o};case 1:return{x:t.x-i,y:t.y+s*o};case 2:return{x:t.x+s*i,y:t.y+o};default:return{x:t.x+i,y:t.y+s*o}}}}}var Xo,Yo=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Jo=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ko{constructor(t){Xo.set(this,void 0),Yo(this,Xo,t,"f"),this.id="emitters"}getPlugin(t){return new Bo(Jo(this,Xo,"f"),t)}loadOptions(t,e){var i,o,n,s,a,r;if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;const l=t;if(null==e?void 0:e.emitters)if((null==e?void 0:e.emitters)instanceof Array)l.emitters=null==e?void 0:e.emitters.map((t=>{const e=new Ro;return e.load(t),e}));else{let t=l.emitters;void 0===(null==t?void 0:t.load)&&(l.emitters=t=new Ro),t.load(null==e?void 0:e.emitters)}const c=null===(o=null===(i=null==e?void 0:e.interactivity)||void 0===i?void 0:i.modes)||void 0===o?void 0:o.emitters;if(c)if(c instanceof Array)l.interactivity.modes.emitters={random:{count:1,enable:!0},value:c.map((t=>{const e=new Ro;return e.load(t),e}))};else{const t=c;if(void 0!==t.value)if(t.value instanceof Array)l.interactivity.modes.emitters={random:{count:null!==(n=t.random.count)&&void 0!==n?n:1,enable:null!==(s=t.random.enable)&&void 0!==s&&s},value:t.value.map((t=>{const e=new Ro;return e.load(t),e}))};else{const e=new Ro;e.load(t.value),l.interactivity.modes.emitters={random:{count:null!==(a=t.random.count)&&void 0!==a?a:1,enable:null!==(r=t.random.enable)&&void 0!==r&&r},value:e}}else{(l.interactivity.modes.emitters={random:{count:1,enable:!1},value:new Ro}).value.load(c)}}}needsPlugin(t){var e,i,o;if(!t)return!1;const n=t.emitters;return n instanceof Array&&!!n.length||void 0!==n||!!(null===(o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.events)||void 0===i?void 0:i.onClick)||void 0===o?void 0:o.mode)&&z("emitter",t.interactivity.events.onClick.mode)}}Xo=new WeakMap;class tn{constructor(){this.delay=1,this.pauseOnStop=!1,this.quantity=1}load(t){t&&(void 0!==t.delay&&(this.delay=t.delay),void 0!==t.quantity&&(this.quantity=t.quantity),void 0!==t.particles&&(this.particles=N({},t.particles)),void 0!==t.pauseOnStop&&(this.pauseOnStop=t.pauseOnStop))}}var en,on=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},nn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class sn extends go{constructor(t){super(t),en.set(this,void 0),on(this,en,t,"f"),this.delay=0}clear(){}init(){}async interact(t){var e,i,o,n;if(!this.container.retina.reduceFactor)return;const s=nn(this,en,"f"),a=s.actualOptions.interactivity.modes.trail;if(!a)return;const r=1e3*a.delay/this.container.retina.reduceFactor;if(this.delay<r&&(this.delay+=t.value),this.delay<r)return;let l=!0;a.pauseOnStop&&(s.interactivity.mouse.position===this.lastPosition||(null===(e=s.interactivity.mouse.position)||void 0===e?void 0:e.x)===(null===(i=this.lastPosition)||void 0===i?void 0:i.x)&&(null===(o=s.interactivity.mouse.position)||void 0===o?void 0:o.y)===(null===(n=this.lastPosition)||void 0===n?void 0:n.y))&&(l=!1),s.interactivity.mouse.position?this.lastPosition={x:s.interactivity.mouse.position.x,y:s.interactivity.mouse.position.y}:delete this.lastPosition,l&&s.particles.push(a.quantity,s.interactivity.mouse,a.particles),this.delay-=r}isEnabled(t){var e;const i=this.container,o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events;return n.clicking&&n.inside&&!!n.position&&z("trail",s.onClick.mode)||n.inside&&!!n.position&&z("trail",s.onHover.mode)}loadModeOptions(t,...e){t.trail||(t.trail=new tn);for(const i of e)t.trail.load(null==i?void 0:i.trail)}reset(){}}en=new WeakMap;i(939);class an{constructor(){this.color=new ee,this.width=.5,this.opacity=1}load(t){var e;t&&(this.color=ee.create(this.color,t.color),"string"==typeof this.color.value&&(this.opacity=null!==(e=at(this.color.value))&&void 0!==e?e:this.opacity),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.width&&(this.width=t.width))}}class rn{constructor(){this.enable=!1,this.stroke=new an}get lineColor(){return this.stroke.color}set lineColor(t){this.stroke.color=ee.create(this.stroke.color,t)}get lineWidth(){return this.stroke.width}set lineWidth(t){this.stroke.width=t}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.stroke)&&void 0!==e?e:{color:t.lineColor,width:t.lineWidth};this.stroke.load(i)}}class ln{constructor(){this.arrangement="one-per-point"}load(t){t&&void 0!==t.arrangement&&(this.arrangement=t.arrangement)}}class cn{constructor(){this.path=[],this.size={height:0,width:0}}load(t){t&&(void 0!==t.path&&(this.path=t.path),void 0!==t.size&&(void 0!==t.size.width&&(this.size.width=t.size.width),void 0!==t.size.height&&(this.size.height=t.size.height)))}}class hn{constructor(){this.radius=10,this.type="path"}load(t){t&&(void 0!==t.radius&&(this.radius=t.radius),void 0!==t.type&&(this.type=t.type))}}class dn{constructor(){this.draw=new rn,this.enable=!1,this.inline=new ln,this.move=new hn,this.scale=1,this.type="none"}get inlineArrangement(){return this.inline.arrangement}set inlineArrangement(t){this.inline.arrangement=t}load(t){t&&(this.draw.load(t.draw),this.inline.load(t.inline),this.move.load(t.move),void 0!==t.scale&&(this.scale=t.scale),void 0!==t.type&&(this.type=t.type),void 0!==t.enable?this.enable=t.enable:this.enable="none"!==this.type,void 0!==t.url&&(this.url=t.url),void 0!==t.data&&("string"==typeof t.data?this.data=t.data:(this.data=new cn,this.data.load(t.data))),void 0!==t.position&&(this.position=N({},t.position)))}}function un(t,e,i){const o=et(i.color);if(o){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(const i of e)t.lineTo(i.x,i.y);t.closePath(),t.strokeStyle=dt(o),t.lineWidth=i.width,t.stroke()}}function pn(t,e,i,o){t.translate(o.x,o.y);const n=et(i.color);n&&(t.strokeStyle=dt(n,i.opacity),t.lineWidth=i.width,t.stroke(e))}function vn(t,e,i){const{dx:o,dy:n}=g(i,t),{dx:s,dy:a}=g(e,t),r=(o*s+n*a)/(s**2+a**2),l={x:t.x+s*r,y:t.x+a*r,isOnSegment:r>=0&&r<=1};return r<0?(l.x=t.x,l.y=t.y):r>1&&(l.x=e.x,l.y=e.y),l}function fn(t,e,i){const{dx:o,dy:n}=g(t,e),s=Math.atan2(n,o),r=a.create(Math.sin(s),-Math.cos(s)),l=2*(i.x*r.x+i.y*r.y);r.multTo(l),i.subFrom(r)}var wn,yn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},gn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class mn{constructor(t,e){this.container=t,wn.set(this,void 0),yn(this,wn,e,"f"),this.dimension={height:0,width:0},this.path2DSupported=!!window.Path2D,this.options=new dn,this.polygonMaskMoveRadius=this.options.move.radius*t.retina.pixelRatio}clickPositionValid(t){const e=this.options;return e.enable&&"none"!==e.type&&"inline"!==e.type&&this.checkInsidePolygon(t)}draw(t){var e;if(!(null===(e=this.paths)||void 0===e?void 0:e.length))return;const i=this.options,o=i.draw;if(!i.enable||!o.enable)return;const n=this.raw;for(const e of this.paths){const i=e.path2d,s=this.path2DSupported;t&&(s&&i&&this.offset?pn(t,i,o.stroke,this.offset):n&&un(t,n,o.stroke))}}async initAsync(t){this.options.load(null==t?void 0:t.polygon);const e=this.options;this.polygonMaskMoveRadius=e.move.radius*this.container.retina.pixelRatio,e.enable&&await this.initRawData()}particleBounce(t,e,i){return this.polygonBounce(t,e,i)}particlePosition(t){var e,i;if(this.options.enable&&(null!==(i=null===(e=this.raw)||void 0===e?void 0:e.length)&&void 0!==i?i:0)>0)return N({},t||this.randomPoint())}particlesInitialization(){const t=this.options;return!(!t.enable||"inline"!==t.type||"one-per-point"!==t.inline.arrangement&&"per-point"!==t.inline.arrangement)&&(this.drawPoints(),!0)}resize(){const t=this.container,e=this.options;e.enable&&"none"!==e.type&&(this.redrawTimeout&&clearTimeout(this.redrawTimeout),this.redrawTimeout=window.setTimeout((async()=>{await this.initRawData(!0),await t.particles.redraw()}),250))}stop(){delete this.raw,delete this.paths}checkInsidePolygon(t){var e,i;const o=this.container,n=this.options;if(!n.enable||"none"===n.type||"inline"===n.type)return!0;if(!this.raw)throw new Error(Nt);const s=o.canvas.size,a=null!==(e=null==t?void 0:t.x)&&void 0!==e?e:c()*s.width,r=null!==(i=null==t?void 0:t.y)&&void 0!==i?i:c()*s.height;let l=!1;for(let t=0,e=this.raw.length-1;t<this.raw.length;e=t++){const i=this.raw[t],o=this.raw[e];i.y>r!=o.y>r&&a<(o.x-i.x)*(r-i.y)/(o.y-i.y)+i.x&&(l=!l)}return"inside"===n.type?l:"outside"===n.type&&!l}createPath2D(){var t,e;const i=this.options;if(this.path2DSupported&&(null===(t=this.paths)||void 0===t?void 0:t.length))for(const t of this.paths){const o=null===(e=t.element)||void 0===e?void 0:e.getAttribute("d");if(o){const e=new Path2D(o),n=document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGMatrix(),s=new Path2D,a=n.scale(i.scale);s.addPath?(s.addPath(e,a),t.path2d=s):delete t.path2d}else delete t.path2d;!t.path2d&&this.raw&&(t.path2d=new Path2D,t.path2d.moveTo(this.raw[0].x,this.raw[0].y),this.raw.forEach(((e,i)=>{var o;i>0&&(null===(o=t.path2d)||void 0===o||o.lineTo(e.x,e.y))})),t.path2d.closePath())}}async downloadSvgPath(t,e){const i=this.options,o=t||i.url,n=null!=e&&e;if(!o||void 0!==this.paths&&!n)return this.raw;const s=await fetch(o);if(!s.ok)throw new Error("tsParticles Error - Error occurred during polygon mask download");return this.parseSvgPath(await s.text(),e)}drawPoints(){if(this.raw)for(const t of this.raw)this.container.particles.addParticle({x:t.x,y:t.y})}getEquidistantPointByIndex(t){var e,i,o,n,s,a,r;const l=this.container.actualOptions,c=this.options;if(!this.raw||!this.raw.length||!(null===(e=this.paths)||void 0===e?void 0:e.length))throw new Error(Ft);let h,d=0;const u=this.paths.reduce(((t,e)=>t+e.length),0)/l.particles.number.value;for(const e of this.paths){const i=u*t-d;if(i<=e.length){h=e.element.getPointAtLength(i);break}d+=e.length}return{x:(null!==(i=null==h?void 0:h.x)&&void 0!==i?i:0)*c.scale+(null!==(n=null===(o=this.offset)||void 0===o?void 0:o.x)&&void 0!==n?n:0),y:(null!==(s=null==h?void 0:h.y)&&void 0!==s?s:0)*c.scale+(null!==(r=null===(a=this.offset)||void 0===a?void 0:a.y)&&void 0!==r?r:0)}}getPointByIndex(t){if(!this.raw||!this.raw.length)throw new Error(Ft);const e=this.raw[t%this.raw.length];return{x:e.x,y:e.y}}getRandomPoint(){if(!this.raw||!this.raw.length)throw new Error(Ft);const t=H(this.raw);return{x:t.x,y:t.y}}getRandomPointByLength(){var t,e,i;const o=this.options;if(!this.raw||!this.raw.length||!(null===(t=this.paths)||void 0===t?void 0:t.length))throw new Error(Ft);const n=H(this.paths),s=Math.floor(c()*n.length)+1,a=n.element.getPointAtLength(s);return{x:a.x*o.scale+((null===(e=this.offset)||void 0===e?void 0:e.x)||0),y:a.y*o.scale+((null===(i=this.offset)||void 0===i?void 0:i.y)||0)}}async initRawData(t){const e=this.options;if(e.url)this.raw=await this.downloadSvgPath(e.url,t);else if(e.data){const i=e.data;let o;if("string"!=typeof i){const t=i.path instanceof Array?i.path.map((t=>`<path d="${t}" />`)).join(""):`<path d="${i.path}" />`;o=`<svg ${'xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"'} width="${i.size.width}" height="${i.size.height}">${t}</svg>`}else o=i;this.raw=this.parseSvgPath(o,t)}this.createPath2D(),gn(this,wn,"f").dispatchEvent("polygonMaskLoaded",{container:this.container})}parseSvgPath(t,e){var i,o,n;const s=null!=e&&e;if(void 0!==this.paths&&!s)return this.raw;const a=this.container,r=this.options,l=(new DOMParser).parseFromString(t,"image/svg+xml"),c=l.getElementsByTagName("svg")[0];let h=c.getElementsByTagName("path");h.length||(h=l.getElementsByTagName("path")),this.paths=[];for(let t=0;t<h.length;t++){const e=h.item(t);e&&this.paths.push({element:e,length:e.getTotalLength()})}const d=a.retina.pixelRatio,u=r.scale/d;this.dimension.width=parseFloat(null!==(i=c.getAttribute("width"))&&void 0!==i?i:"0")*u,this.dimension.height=parseFloat(null!==(o=c.getAttribute("height"))&&void 0!==o?o:"0")*u;const p=null!==(n=r.position)&&void 0!==n?n:{x:50,y:50};return this.offset={x:a.canvas.size.width*p.x/(100*d)-this.dimension.width/2,y:a.canvas.size.height*p.y/(100*d)-this.dimension.height/2},function(t,e,i){var o;const n=[];for(const s of t){const t=s.element.pathSegList,a=null!==(o=null==t?void 0:t.numberOfItems)&&void 0!==o?o:0,r={x:0,y:0};for(let o=0;o<a;o++){const s=null==t?void 0:t.getItem(o),a=window.SVGPathSeg;switch(null==s?void 0:s.pathSegType){case a.PATHSEG_MOVETO_ABS:case a.PATHSEG_LINETO_ABS:case a.PATHSEG_CURVETO_CUBIC_ABS:case a.PATHSEG_CURVETO_QUADRATIC_ABS:case a.PATHSEG_ARC_ABS:case a.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:case a.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:{const t=s;r.x=t.x,r.y=t.y;break}case a.PATHSEG_LINETO_HORIZONTAL_ABS:r.x=s.x;break;case a.PATHSEG_LINETO_VERTICAL_ABS:r.y=s.y;break;case a.PATHSEG_LINETO_REL:case a.PATHSEG_MOVETO_REL:case a.PATHSEG_CURVETO_CUBIC_REL:case a.PATHSEG_CURVETO_QUADRATIC_REL:case a.PATHSEG_ARC_REL:case a.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:case a.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:{const t=s;r.x+=t.x,r.y+=t.y;break}case a.PATHSEG_LINETO_HORIZONTAL_REL:r.x+=s.x;break;case a.PATHSEG_LINETO_VERTICAL_REL:r.y+=s.y;break;case a.PATHSEG_UNKNOWN:case a.PATHSEG_CLOSEPATH:continue}n.push({x:r.x*e+i.x,y:r.y*e+i.y})}}return n}(this.paths,u,this.offset)}polygonBounce(t,e,i){const o=this.options;if(!this.raw||!o.enable||"top"!==i)return!1;if("inside"===o.type||"outside"===o.type){let e,i,o;const n=t.getPosition(),s=t.getRadius();for(let a=0,r=this.raw.length-1;a<this.raw.length;r=a++){const l=this.raw[a],c=this.raw[r];e=vn(l,c,n);const h=g(n,e);if([i,o]=[h.dx,h.dy],h.distance<s)return fn(l,c,t.velocity),!0}if(e&&void 0!==i&&void 0!==o&&!this.checkInsidePolygon(n)){const i={x:1,y:1};return t.position.x>=e.x&&(i.x=-1),t.position.y>=e.y&&(i.y=-1),t.position.x=e.x+2*s*i.x,t.position.y=e.y+2*s*i.y,t.velocity.mult(-1),!0}}else if("inline"===o.type&&t.initialPosition){if(m(t.initialPosition,t.getPosition())>this.polygonMaskMoveRadius)return t.velocity.x=t.velocity.y/2-t.velocity.x,t.velocity.y=t.velocity.x/2-t.velocity.y,!0}return!1}randomPoint(){const t=this.container,e=this.options;let i;if("inline"===e.type)switch(e.inline.arrangement){case"random-point":i=this.getRandomPoint();break;case"random-length":i=this.getRandomPointByLength();break;case"equidistant":i=this.getEquidistantPointByIndex(t.particles.count);break;default:i=this.getPointByIndex(t.particles.count)}else i={x:c()*t.canvas.size.width,y:c()*t.canvas.size.height};return this.checkInsidePolygon(i)?i:this.randomPoint()}}wn=new WeakMap;var bn,Sn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Pn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class _n{constructor(t){bn.set(this,void 0),this.id="polygonMask",Sn(this,bn,t,"f")}getPlugin(t){return new mn(t,Pn(this,bn,"f"))}loadOptions(t,e){if(!this.needsPlugin(e))return;const i=t;let o=i.polygon;void 0===(null==o?void 0:o.load)&&(i.polygon=o=new dn),o.load(null==e?void 0:e.polygon)}needsPlugin(t){var e,i,o;return null!==(i=null===(e=null==t?void 0:t.polygon)||void 0===e?void 0:e.enable)&&void 0!==i?i:void 0!==(null===(o=null==t?void 0:t.polygon)||void 0===o?void 0:o.type)&&"none"!==t.polygon.type}}bn=new WeakMap;class xn{constructor(){this.enable=!1,this.value=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.value&&(this.value=w(t.value)))}}class Cn{constructor(){this.darken=new xn,this.enable=!1,this.enlighten=new xn,this.mode="vertical",this.speed=25}load(t){t&&(void 0!==t.backColor&&(this.backColor=ee.create(this.backColor,t.backColor)),this.darken.load(t.darken),void 0!==t.enable&&(this.enable=t.enable),this.enlighten.load(t.enlighten),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.speed&&(this.speed=w(t.speed)))}}class An{getTransformValues(t){var e;const i=(null===(e=t.roll)||void 0===e?void 0:e.enable)&&t.roll,o=i&&i.horizontal,n=i&&i.vertical;return{a:o?Math.cos(i.angle):void 0,d:n?Math.sin(i.angle):void 0}}init(t){const e=t.options.roll;if(null==e?void 0:e.enable)if(t.roll={enable:e.enable,horizontal:"horizontal"===e.mode||"both"===e.mode,vertical:"vertical"===e.mode||"both"===e.mode,angle:c()*Math.PI*2,speed:p(e.speed)/360},e.backColor)t.backColor=nt(e.backColor);else if(e.darken.enable&&e.enlighten.enable){const i=c()>=.5?"darken":"enlighten";t.roll.alter={type:i,value:p("darken"===i?e.darken.value:e.enlighten.value)}}else e.darken.enable?t.roll.alter={type:"darken",value:p(e.darken.value)}:e.enlighten.enable&&(t.roll.alter={type:"enlighten",value:p(e.enlighten.value)});else t.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0}}isEnabled(t){const e=t.options.roll;return!t.destroyed&&!t.spawning&&!!(null==e?void 0:e.enable)}loadOptions(t,...e){t.roll||(t.roll=new Cn);for(const i of e)t.roll.load(null==i?void 0:i.roll)}update(t,e){this.isEnabled(t)&&function(t,e){const i=t.options.roll;if(!t.roll||!(null==i?void 0:i.enable))return;const o=t.roll.speed*e.factor,n=2*Math.PI;t.roll.angle+=o,t.roll.angle>n&&(t.roll.angle-=n)}(t,e)}}class En{constructor(t){this.container=t}init(t){const e=t.options.rotate;t.rotate={enable:e.animation.enable,value:p(e.value)*Math.PI/180};let i=e.direction;if("random"===i){i=Math.floor(2*c())>0?"counter-clockwise":"clockwise"}switch(i){case"counter-clockwise":case"counterClockwise":t.rotate.status=1;break;case"clockwise":t.rotate.status=0}const o=t.options.rotate.animation;o.enable&&(t.rotate.decay=1-p(o.decay),t.rotate.velocity=p(o.speed)/360*this.container.retina.reduceFactor,o.sync||(t.rotate.velocity*=c())),t.rotation=t.rotate.value}isEnabled(t){const e=t.options.rotate,i=e.animation;return!t.destroyed&&!t.spawning&&i.enable&&!e.path}update(t,e){var i,o;this.isEnabled(t)&&(!function(t,e){var i,o;const n=t.rotate;if(!n)return;const s=t.options.rotate.animation,a=(null!==(i=n.velocity)&&void 0!==i?i:0)*e.factor,r=2*Math.PI,l=null!==(o=n.decay)&&void 0!==o?o:1;s.enable&&(0===n.status?(n.value+=a,n.value>r&&(n.value-=r)):(n.value-=a,n.value<0&&(n.value+=r)),n.velocity&&1!==l&&(n.velocity*=l))}(t,e),t.rotation=null!==(o=null===(i=t.rotate)||void 0===i?void 0:i.value)&&void 0!==o?o:0)}}class Tn{init(t){var e;const i=t.container,o=t.options,n=o.move.gravity,s=o.move.spin;if(t.gravity={enable:n.enable,acceleration:p(n.acceleration),inverse:n.inverse},s.enable){const o=null!==(e=s.position)&&void 0!==e?e:{x:50,y:50},n={x:o.x/100*i.canvas.size.width,y:o.y/100*i.canvas.size.height},a=m(t.getPosition(),n),r=p(s.acceleration);t.retina.spinAcceleration=r*i.retina.pixelRatio,t.spin={center:n,direction:t.velocity.x>=0?"clockwise":"counter-clockwise",angle:t.velocity.angle,radius:a,acceleration:t.retina.spinAcceleration}}}isEnabled(t){return!t.destroyed&&t.options.move.enable}move(t,e){var i,o,n,s,a;const r=t.options,l=r.move;if(!l.enable)return;const d=t.container,u=function(t){const e=t.container,i=e.actualOptions;if(!z("slow",i.interactivity.events.onHover.mode))return 1;const o=t.container.interactivity.mouse.position;if(!o)return 1;const n=m(o,t.getPosition()),s=e.retina.slowModeRadius;return n>s?1:(n/s||0)/i.interactivity.modes.slow.factor}(t),v=(null!==(i=(s=t.retina).moveSpeed)&&void 0!==i?i:s.moveSpeed=p(l.speed)*d.retina.pixelRatio)*d.retina.reduceFactor,w=null!==(o=(a=t.retina).moveDrift)&&void 0!==o?o:a.moveDrift=p(t.options.move.drift)*d.retina.pixelRatio,y=f(r.size.value)*d.retina.pixelRatio,b=v*((l.size?t.getRadius()/y:1)*u*(e.factor||1))/2;!function(t,e){var i;const o=t.options.move.path;if(!o.enable)return;if(t.lastPathTime<=t.pathDelay)return void(t.lastPathTime+=e.value);const n=null===(i=t.pathGenerator)||void 0===i?void 0:i.generate(t);n&&t.velocity.addTo(n),o.clamp&&(t.velocity.x=h(t.velocity.x,-1,1),t.velocity.y=h(t.velocity.y,-1,1)),t.lastPathTime-=t.pathDelay}(t,e);const S=t.gravity,P=(null==S?void 0:S.enable)&&S.inverse?-1:1;(null==S?void 0:S.enable)&&b&&(t.velocity.y+=P*(S.acceleration*e.factor)/(60*b)),w&&b&&(t.velocity.x+=w*e.factor/(60*b));const _=t.moveDecay;1!=_&&t.velocity.multTo(_);const x=t.velocity.mult(b),C=null!==(n=t.retina.maxSpeed)&&void 0!==n?n:d.retina.maxSpeed;(null==S?void 0:S.enable)&&C>0&&(!S.inverse&&x.y>=0&&x.y>=C||S.inverse&&x.y<=0&&x.y<=-C)&&(x.y=P*C,b&&(t.velocity.y=x.y/b));const A=t.options.zIndex,E=(1-t.zIndexFactor)**A.velocityRate;l.spin.enable?function(t,e){const i=t.container;if(!t.spin)return;const o={x:"clockwise"===t.spin.direction?Math.cos:Math.sin,y:"clockwise"===t.spin.direction?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*o.x(t.spin.angle),t.position.y=t.spin.center.y+t.spin.radius*o.y(t.spin.angle),t.spin.radius+=t.spin.acceleration;const n=Math.max(i.canvas.size.width,i.canvas.size.height);t.spin.radius>n/2?(t.spin.radius=n/2,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=e/100*(1-t.spin.radius/n)}(t,b):(1!=E&&x.multTo(E),t.position.addTo(x),l.vibrate&&(t.position.x+=Math.sin(t.position.x*Math.cos(t.position.y)),t.position.y+=Math.cos(t.position.y*Math.sin(t.position.x)))),function(t){const e=t.initialPosition,{dx:i,dy:o}=g(e,t.position),n=Math.abs(i),s=Math.abs(o),a=t.retina.maxDistance.horizontal,r=t.retina.maxDistance.vertical;if(a||r)if((a&&n>=a||r&&s>=r)&&!t.misplaced)t.misplaced=!!a&&n>a||!!r&&s>r,a&&(t.velocity.x=t.velocity.y/2-t.velocity.x),r&&(t.velocity.y=t.velocity.x/2-t.velocity.y);else if((!a||n<a)&&(!r||s<r)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){const i=t.position,o=t.velocity;a&&(i.x<e.x&&o.x<0||i.x>e.x&&o.x>0)&&(o.x*=-c()),r&&(i.y<e.y&&o.y<0||i.y>e.y&&o.y>0)&&(o.y*=-c())}}(t)}}class Vn{draw(t,e,i){t.arc(0,0,i,0,2*Math.PI,!1)}getSidesCount(){return 12}}function Gn(t,e,i,o,n){var s,a;const r=e;if(!r||!i.enable)return;const l=u(i.offset),c=(null!==(s=e.velocity)&&void 0!==s?s:0)*t.factor+3.6*l,h=null!==(a=e.decay)&&void 0!==a?a:1;n&&0!==r.status?(r.value-=c,r.value<0&&(r.status=0,r.value+=r.value)):(r.value+=c,n&&r.value>o&&(r.status=1,r.value-=r.value%o)),r.velocity&&1!==h&&(r.velocity*=h),r.value>o&&(r.value%=o)}class On{constructor(t){this.container=t}init(t){const e=nt(t.options.color,t.id,t.options.reduceDuplicates);e&&(t.color=yt(e,t.options.color.animation,this.container.retina.reduceFactor))}isEnabled(t){var e,i,o;const n=t.options.color.animation;return!t.destroyed&&!t.spawning&&(void 0!==(null===(e=t.color)||void 0===e?void 0:e.h.value)&&n.h.enable||void 0!==(null===(i=t.color)||void 0===i?void 0:i.s.value)&&n.s.enable||void 0!==(null===(o=t.color)||void 0===o?void 0:o.l.value)&&n.l.enable)}update(t,e){!function(t,e){var i,o,n;const s=t.options.color.animation;void 0!==(null===(i=t.color)||void 0===i?void 0:i.h)&&Gn(e,t.color.h,s.h,360,!1),void 0!==(null===(o=t.color)||void 0===o?void 0:o.s)&&Gn(e,t.color.s,s.s,100,!0),void 0!==(null===(n=t.color)||void 0===n?void 0:n.l)&&Gn(e,t.color.l,s.l,100,!0)}(t,e)}}class kn{constructor(){this.distance=200,this.duration=.4,this.easing="ease-out-quad",this.factor=1,this.maxSpeed=50,this.speed=1}load(t){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))}}var Rn,Mn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},zn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ln extends go{constructor(t){super(t),Rn.set(this,void 0),Mn(this,Rn,t,"f"),t.attract||(t.attract={particles:[]}),this.handleClickMode=e=>{const i=zn(this,Rn,"f").actualOptions.interactivity.modes.attract;if(i&&"attract"===e){t.attract||(t.attract={particles:[]}),t.attract.clicking=!0,t.attract.count=0;for(const e of t.attract.particles)this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);t.attract.particles=[],t.attract.finish=!1,setTimeout((()=>{t.destroyed||(t.attract||(t.attract={particles:[]}),t.attract.clicking=!1)}),1e3*i.duration)}}}clear(){}init(){const t=zn(this,Rn,"f"),e=t.actualOptions.interactivity.modes.attract;e&&(t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}async interact(){const t=zn(this,Rn,"f"),e=t.actualOptions,i=t.interactivity.status===Rt,o=e.interactivity.events,n=o.onHover.enable,s=o.onHover.mode,a=o.onClick.enable,r=o.onClick.mode;i&&n&&z("attract",s)?this.hoverAttract():a&&z("attract",r)&&this.clickAttract()}isEnabled(t){var e;const i=zn(this,Rn,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events;if(!(n.position&&s.onHover.enable||n.clickPosition&&s.onClick.enable))return!1;const a=s.onHover.mode,r=s.onClick.mode;return z("attract",a)||z("attract",r)}loadModeOptions(t,...e){t.attract||(t.attract=new kn);for(const i of e)t.attract.load(null==i?void 0:i.attract)}reset(){}clickAttract(){const t=zn(this,Rn,"f");if(t.attract||(t.attract={particles:[]}),t.attract.finish||(t.attract.count||(t.attract.count=0),t.attract.count++,t.attract.count===t.particles.count&&(t.attract.finish=!0)),t.attract.clicking){const e=t.interactivity.mouse.clickPosition,i=t.retina.attractModeDistance;if(!i||i<0||!e)return;this.processAttract(e,i,new zi(e.x,e.y,i))}else!1===t.attract.clicking&&(t.attract.particles=[])}hoverAttract(){const t=zn(this,Rn,"f"),e=t.interactivity.mouse.position,i=t.retina.attractModeDistance;!i||i<0||!e||this.processAttract(e,i,new zi(e.x,e.y,i))}processAttract(t,e,i){const o=zn(this,Rn,"f"),n=o.actualOptions.interactivity.modes.attract;if(!n)return;const s=o.particles.quadTree.query(i,(t=>this.isEnabled(t)));for(const i of s){const{dx:o,dy:s,distance:r}=g(i.position,t),l=n.speed*n.factor,c=h(_(1-r/e,n.easing)*l,0,n.maxSpeed),d=a.create(0===r?l:o/r*c,0===r?l:s/r*c);i.position.subFrom(d)}}}Rn=new WeakMap;class In{constructor(){this.distance=200}load(t){t&&void 0!==t.distance&&(this.distance=t.distance)}}var Hn,Dn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},jn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Fn extends go{constructor(t){super(t),Hn.set(this,void 0),Dn(this,Hn,t,"f")}clear(){}init(){const t=jn(this,Hn,"f"),e=t.actualOptions.interactivity.modes.bounce;e&&(t.retina.bounceModeDistance=e.distance*t.retina.pixelRatio)}async interact(){const t=jn(this,Hn,"f"),e=t.actualOptions.interactivity.events,i=t.interactivity.status===Rt,o=e.onHover.enable,n=e.onHover.mode,s=e.onDiv;i&&o&&z("bounce",n)?this.processMouseBounce():q("bounce",s,((t,e)=>this.singleSelectorBounce(t,e)))}isEnabled(t){var e;const i=jn(this,Hn,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events,a=s.onDiv;return n.position&&s.onHover.enable&&z("bounce",s.onHover.mode)||B("bounce",a)}loadModeOptions(t,...e){t.bounce||(t.bounce=new In);for(const i of e)t.bounce.load(null==i?void 0:i.bounce)}reset(){}processBounce(t,e,i){const o=jn(this,Hn,"f").particles.quadTree.query(i,(t=>this.isEnabled(t)));for(const n of o)i instanceof zi?$(Q(n),{position:t,radius:e,mass:e**2*Math.PI/2,velocity:a.origin,factor:a.origin}):i instanceof Li&&Z(n,F(t,e))}processMouseBounce(){const t=jn(this,Hn,"f"),e=10*t.retina.pixelRatio,i=t.interactivity.mouse.position,o=t.retina.bounceModeDistance;!o||o<0||!i||this.processBounce(i,o,new zi(i.x,i.y,o+e))}singleSelectorBounce(t,e){const i=jn(this,Hn,"f"),o=document.querySelectorAll(t);o.length&&o.forEach((t=>{const o=t,n=i.retina.pixelRatio,s={x:(o.offsetLeft+o.offsetWidth/2)*n,y:(o.offsetTop+o.offsetHeight/2)*n},a=o.offsetWidth/2*n,r=10*n,l="circle"===e.type?new zi(s.x,s.y,a+r):new Li(o.offsetLeft*n-r,o.offsetTop*n-r,o.offsetWidth*n+2*r,o.offsetHeight*n+2*r);this.processBounce(s,a,l)}))}}Hn=new WeakMap;class Nn{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){t&&(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&&(t.color instanceof Array?this.color=t.color.map((t=>ee.create(void 0,t))):(this.color instanceof Array&&(this.color=new ee),this.color=ee.create(this.color,t.color))),void 0!==t.size&&(this.size=t.size))}}class Bn extends Nn{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){super.load(t),t&&(void 0!==t.ids&&(this.ids=t.ids),void 0!==t.selectors&&(this.selectors=t.selectors))}}class qn extends Nn{load(t){super.load(t),t&&(t.divs instanceof Array?this.divs=t.divs.map((t=>{const e=new Bn;return e.load(t),e})):((this.divs instanceof Array||!this.divs)&&(this.divs=new Bn),this.divs.load(t.divs)))}}var Un,Wn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Qn=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function $n(t,e,i,o){if(e>=i){return h(t+(e-i)*o,t,e)}if(e<i){return h(t-(i-e)*o,e,t)}}class Zn extends go{constructor(t){super(t),Un.set(this,void 0),Wn(this,Un,t,"f"),t.bubble||(t.bubble={}),this.handleClickMode=e=>{"bubble"===e&&(t.bubble||(t.bubble={}),t.bubble.clicking=!0)}}clear(t,e){t.bubble.inRange&&!e||(delete t.bubble.div,delete t.bubble.opacity,delete t.bubble.radius,delete t.bubble.color)}init(){const t=Qn(this,Un,"f"),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))}async interact(){const t=Qn(this,Un,"f").actualOptions.interactivity.events,e=t.onHover,i=t.onClick,o=e.enable,n=e.mode,s=i.enable,a=i.mode,r=t.onDiv;o&&z("bubble",n)?this.hoverBubble():s&&z("bubble",a)?this.clickBubble():q("bubble",r,((t,e)=>this.singleSelectorHover(t,e)))}isEnabled(t){var e;const i=Qn(this,Un,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events,a=B("bubble",s.onDiv);if(!(a||s.onHover.enable&&n.position||s.onClick.enable&&n.clickPosition))return!1;const r=s.onHover.mode,l=s.onClick.mode;return z("bubble",r)||z("bubble",l)||a}loadModeOptions(t,...e){t.bubble||(t.bubble=new qn);for(const i of e)t.bubble.load(null==i?void 0:i.bubble)}reset(t){t.bubble.inRange=!1}clickBubble(){var t,e;const i=Qn(this,Un,"f"),o=i.actualOptions,n=i.interactivity.mouse.clickPosition,s=o.interactivity.modes.bubble;if(!s||!n)return;i.bubble||(i.bubble={});const a=i.retina.bubbleModeDistance;if(!a||a<0)return;const r=i.particles.quadTree.queryCircle(n,a,(t=>this.isEnabled(t)));for(const o of r){if(!i.bubble.clicking)continue;o.bubble.inRange=!i.bubble.durationEnd;const r=m(o.getPosition(),n),l=((new Date).getTime()-(i.interactivity.mouse.clickTime||0))/1e3;l>s.duration&&(i.bubble.durationEnd=!0),l>2*s.duration&&(i.bubble.clicking=!1,i.bubble.durationEnd=!1);const c={bubbleObj:{optValue:i.retina.bubbleModeSize,value:o.bubble.radius},particlesObj:{optValue:f(o.options.size.value)*i.retina.pixelRatio,value:o.size.value},type:"size"};this.process(o,r,l,c);const h={bubbleObj:{optValue:s.opacity,value:o.bubble.opacity},particlesObj:{optValue:f(o.options.opacity.value),value:null!==(e=null===(t=o.opacity)||void 0===t?void 0:t.value)&&void 0!==e?e:1},type:"opacity"};this.process(o,r,l,h),i.bubble.durationEnd?delete o.bubble.color:r<=a?this.hoverBubbleColor(o,r):delete o.bubble.color}}hoverBubble(){const t=Qn(this,Un,"f"),e=t.interactivity.mouse.position,i=t.retina.bubbleModeDistance;if(!i||i<0||void 0===e)return;const o=t.particles.quadTree.queryCircle(e,i,(t=>this.isEnabled(t)));for(const n of o){n.bubble.inRange=!0;const o=m(n.getPosition(),e),s=1-o/i;o<=i?s>=0&&t.interactivity.status===Rt&&(this.hoverBubbleSize(n,s),this.hoverBubbleOpacity(n,s),this.hoverBubbleColor(n,s)):this.reset(n),t.interactivity.status===Lt&&this.reset(n)}}hoverBubbleColor(t,e,i){const o=Qn(this,Un,"f").actualOptions,n=null!=i?i:o.interactivity.modes.bubble;if(n){if(!t.bubble.finalColor){const e=n.color;if(!e)return;const i=e instanceof Array?H(e):e;t.bubble.finalColor=nt(i)}if(t.bubble.finalColor)if(n.mix){t.bubble.color=void 0;const i=t.getFillColor();t.bubble.color=i?st(pt(i,t.bubble.finalColor,1-e,e)):t.bubble.finalColor}else t.bubble.color=t.bubble.finalColor}}hoverBubbleOpacity(t,e,i){var o,n,s,a;const r=Qn(this,Un,"f").actualOptions,l=null!==(o=null==i?void 0:i.opacity)&&void 0!==o?o:null===(n=r.interactivity.modes.bubble)||void 0===n?void 0:n.opacity;if(!l)return;const c=t.options.opacity.value,h=$n(null!==(a=null===(s=t.opacity)||void 0===s?void 0:s.value)&&void 0!==a?a:1,l,f(c),e);void 0!==h&&(t.bubble.opacity=h)}hoverBubbleSize(t,e,i){const o=Qn(this,Un,"f"),n=(null==i?void 0:i.size)?i.size*o.retina.pixelRatio:o.retina.bubbleModeSize;if(void 0===n)return;const s=f(t.options.size.value)*o.retina.pixelRatio,a=$n(t.size.value,n,s,e);void 0!==a&&(t.bubble.radius=a)}process(t,e,i,o){const n=Qn(this,Un,"f"),s=o.bubbleObj.optValue,a=n.actualOptions.interactivity.modes.bubble;if(!a||void 0===s)return;const r=a.duration,l=n.retina.bubbleModeDistance,c=o.particlesObj.optValue,h=o.bubbleObj.value,d=o.particlesObj.value||0,u=o.type;if(l&&!(l<0)&&s!==c)if(n.bubble||(n.bubble={}),n.bubble.durationEnd)h&&("size"===u&&delete t.bubble.radius,"opacity"===u&&delete t.bubble.opacity);else if(e<=l){if((null!=h?h:d)!==s){const e=d-i*(d-s)/r;"size"===u&&(t.bubble.radius=e),"opacity"===u&&(t.bubble.opacity=e)}}else"size"===u&&delete t.bubble.radius,"opacity"===u&&delete t.bubble.opacity}singleSelectorHover(t,e){const i=Qn(this,Un,"f"),o=document.querySelectorAll(t),n=i.actualOptions.interactivity.modes.bubble;n&&o.length&&o.forEach((t=>{const o=t,s=i.retina.pixelRatio,a={x:(o.offsetLeft+o.offsetWidth/2)*s,y:(o.offsetTop+o.offsetHeight/2)*s},r=o.offsetWidth/2*s,l="circle"===e.type?new zi(a.x,a.y,r):new Li(o.offsetLeft*s,o.offsetTop*s,o.offsetWidth*s,o.offsetHeight*s),c=i.particles.quadTree.query(l,(t=>this.isEnabled(t)));for(const t of c){if(!l.contains(t.getPosition()))continue;t.bubble.inRange=!0;const e=W(n.divs,o);t.bubble.div&&t.bubble.div===o||(this.clear(t,!0),t.bubble.div=o),this.hoverBubbleSize(t,1,e),this.hoverBubbleOpacity(t,1,e),this.hoverBubbleColor(t,1,e)}}))}}Un=new WeakMap;class Xn{constructor(){this.opacity=.5}load(t){t&&void 0!==t.opacity&&(this.opacity=t.opacity)}}class Yn{constructor(){this.distance=80,this.links=new Xn,this.radius=60}get lineLinked(){return this.links}set lineLinked(t){this.links=t}get line_linked(){return this.links}set line_linked(t){this.links=t}load(t){var e,i;t&&(void 0!==t.distance&&(this.distance=t.distance),this.links.load(null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked),void 0!==t.radius&&(this.radius=t.radius))}}var Jn,Kn=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},ts=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function es(t,e,i,o){const n=t.actualOptions.interactivity.modes.connect;if(n)return function(t,e,i,o){const n=Math.floor(i.getRadius()/e.getRadius()),s=e.getFillColor(),a=i.getFillColor();if(!s||!a)return;const r=e.getPosition(),l=i.getPosition(),c=pt(s,a,e.getRadius(),i.getRadius()),h=t.createLinearGradient(r.x,r.y,l.x,l.y);return h.addColorStop(0,ut(s,o)),h.addColorStop(n>1?1:n,dt(c,o)),h.addColorStop(1,ut(a,o)),h}(e,i,o,n.links.opacity)}function is(t,e,i){t.canvas.draw((o=>{var n;const s=es(t,o,e,i);if(!s)return;const a=e.getPosition(),r=i.getPosition();!function(t,e,i,o,n){t.save(),mt(t,o,n),t.lineWidth=e,t.strokeStyle=i,t.stroke(),t.restore()}(o,null!==(n=e.retina.linksWidth)&&void 0!==n?n:0,s,a,r)}))}class os extends go{constructor(t){super(t),Jn.set(this,void 0),Kn(this,Jn,t,"f")}clear(){}init(){const t=ts(this,Jn,"f"),e=t.actualOptions.interactivity.modes.connect;e&&(t.retina.connectModeDistance=e.distance*t.retina.pixelRatio,t.retina.connectModeRadius=e.radius*t.retina.pixelRatio)}async interact(){const t=ts(this,Jn,"f");if(t.actualOptions.interactivity.events.onHover.enable&&"pointermove"===t.interactivity.status){const e=t.interactivity.mouse.position;if(!t.retina.connectModeDistance||t.retina.connectModeDistance<0||!t.retina.connectModeRadius||t.retina.connectModeRadius<0||!e)return;const i=Math.abs(t.retina.connectModeRadius),o=t.particles.quadTree.queryCircle(e,i,(t=>this.isEnabled(t)));let n=0;for(const e of o){const i=e.getPosition();for(const s of o.slice(n+1)){const o=s.getPosition(),n=Math.abs(t.retina.connectModeDistance),a=Math.abs(i.x-o.x),r=Math.abs(i.y-o.y);a<n&&r<n&&is(t,e,s)}++n}}}isEnabled(t){var e;const i=this.container,o=i.interactivity.mouse,n=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:i.actualOptions.interactivity).events;return!(!n.onHover.enable||!o.position)&&z("connect",n.onHover.mode)}loadModeOptions(t,...e){t.connect||(t.connect=new Yn);for(const i of e)t.connect.load(null==i?void 0:i.connect)}reset(){}}Jn=new WeakMap;class ns{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(t){t&&(void 0!==t.blink&&(this.blink=t.blink),void 0!==t.color&&(this.color=ee.create(this.color,t.color)),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.opacity&&(this.opacity=t.opacity))}}class ss{constructor(){this.distance=100,this.links=new ns}get lineLinked(){return this.links}set lineLinked(t){this.links=t}get line_linked(){return this.links}set line_linked(t){this.links=t}load(t){var e,i;t&&(void 0!==t.distance&&(this.distance=t.distance),this.links.load(null!==(i=null!==(e=t.links)&&void 0!==e?e:t.lineLinked)&&void 0!==i?i:t.line_linked))}}var as,rs=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},ls=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};function cs(t,e,i,o,n){t.canvas.draw((t=>{var s;const a=e.getPosition();!function(t,e,i,o,n,s){t.save(),mt(t,i,o),t.strokeStyle=dt(n,s),t.lineWidth=e,t.stroke(),t.restore()}(t,null!==(s=e.retina.linksWidth)&&void 0!==s?s:0,a,n,i,o)}))}class hs extends go{constructor(t){super(t),as.set(this,void 0),rs(this,as,t,"f")}clear(){}init(){const t=ls(this,as,"f"),e=t.actualOptions.interactivity.modes.grab;e&&(t.retina.grabModeDistance=e.distance*t.retina.pixelRatio)}async interact(){var t,e;const i=ls(this,as,"f"),o=i.actualOptions.interactivity;if(!o.modes.grab||!o.events.onHover.enable||i.interactivity.status!==Rt)return;const n=i.interactivity.mouse.position;if(!n)return;const s=i.retina.grabModeDistance;if(!s||s<0)return;const a=i.particles.quadTree.queryCircle(n,s,(t=>this.isEnabled(t)));for(const r of a){const a=m(r.getPosition(),n);if(a>s)continue;const l=o.modes.grab.links,c=l.opacity,h=c-a*c/s;if(h<=0)continue;const d=null!==(t=l.color)&&void 0!==t?t:null===(e=r.options.links)||void 0===e?void 0:e.color;if(!i.particles.grabLineColor&&d){const t=o.modes.grab.links;i.particles.grabLineColor=ft(d,t.blink,t.consent)}const u=vt(r,void 0,i.particles.grabLineColor);if(!u)return;cs(i,r,u,h,n)}}isEnabled(t){var e;const i=this.container,o=i.interactivity.mouse,n=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:i.actualOptions.interactivity).events;return n.onHover.enable&&!!o.position&&z("grab",n.onHover.mode)}loadModeOptions(t,...e){t.grab||(t.grab=new ss);for(const i of e)t.grab.load(null==i?void 0:i.grab)}reset(){}}as=new WeakMap;class ds extends go{constructor(t){super(t),this.handleClickMode=t=>{if("pause"!==t)return;const e=this.container;e.getAnimationStatus()?e.pause():e.play()}}clear(){}init(){}async interact(){}isEnabled(){return!0}reset(){}}class us{constructor(){this.default=!0,this.groups=[],this.quantity=4}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(!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);const i=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==i&&(this.quantity=i)}}var ps,vs=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},fs=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class ws extends go{constructor(t){super(t),ps.set(this,void 0),vs(this,ps,t,"f"),this.handleClickMode=t=>{if("push"!==t)return;const e=fs(this,ps,"f"),i=e.actualOptions.interactivity.modes.push;if(!i)return;const o=i.quantity;if(o<=0)return;const n=H([void 0,...i.groups]),s=void 0!==n?e.actualOptions.particles.groups[n]:void 0;e.particles.push(o,e.interactivity.mouse,s,n)}}clear(){}init(){}async interact(){}isEnabled(){return!0}loadModeOptions(t,...e){t.push||(t.push=new us);for(const i of e)t.push.load(null==i?void 0:i.push)}reset(){}}ps=new WeakMap;class ys{constructor(){this.quantity=2}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(!t)return;const i=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==i&&(this.quantity=i)}}var gs,ms=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},bs=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ss extends go{constructor(t){super(t),gs.set(this,void 0),ms(this,gs,t,"f"),this.handleClickMode=t=>{const e=bs(this,gs,"f"),i=e.actualOptions;if(!i.interactivity.modes.remove||"remove"!==t)return;const o=i.interactivity.modes.remove.quantity;e.particles.removeQuantity(o)}}clear(){}init(){}async interact(){}isEnabled(){return!0}loadModeOptions(t,...e){t.remove||(t.remove=new ys);for(const i of e)t.remove.load(null==i?void 0:i.remove)}reset(){}}gs=new WeakMap;class Ps{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing="ease-out-quad"}load(t){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 _s extends Ps{constructor(){super(),this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace("#",""))):this.selectors.replace("#","")}set ids(t){this.selectors=t instanceof Array?t.map((()=>`#${t}`)):`#${t}`}load(t){super.load(t),t&&(void 0!==t.ids&&(this.ids=t.ids),void 0!==t.selectors&&(this.selectors=t.selectors))}}class xs extends Ps{load(t){super.load(t),t&&(t.divs instanceof Array?this.divs=t.divs.map((t=>{const e=new _s;return e.load(t),e})):((this.divs instanceof Array||!this.divs)&&(this.divs=new _s),this.divs.load(t.divs)))}}var Cs,As=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},Es=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ts extends go{constructor(t){super(t),Cs.set(this,void 0),As(this,Cs,t,"f"),t.repulse||(t.repulse={particles:[]}),this.handleClickMode=e=>{const i=Es(this,Cs,"f").actualOptions.interactivity.modes.repulse;if(i&&"repulse"===e){t.repulse||(t.repulse={particles:[]}),t.repulse.clicking=!0,t.repulse.count=0;for(const e of t.repulse.particles)this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);t.repulse.particles=[],t.repulse.finish=!1,setTimeout((()=>{t.destroyed||(t.repulse||(t.repulse={particles:[]}),t.repulse.clicking=!1)}),1e3*i.duration)}}}clear(){}init(){const t=Es(this,Cs,"f"),e=t.actualOptions.interactivity.modes.repulse;e&&(t.retina.repulseModeDistance=e.distance*t.retina.pixelRatio)}async interact(){const t=Es(this,Cs,"f"),e=t.actualOptions,i=t.interactivity.status===Rt,o=e.interactivity.events,n=o.onHover.enable,s=o.onHover.mode,a=o.onClick.enable,r=o.onClick.mode,l=o.onDiv;i&&n&&z("repulse",s)?this.hoverRepulse():a&&z("repulse",r)?this.clickRepulse():q("repulse",l,((t,e)=>this.singleSelectorRepulse(t,e)))}isEnabled(t){var e;const i=Es(this,Cs,"f"),o=i.actualOptions,n=i.interactivity.mouse,s=(null!==(e=null==t?void 0:t.interactivity)&&void 0!==e?e:o.interactivity).events,a=B("repulse",s.onDiv);if(!(a||s.onHover.enable&&n.position||s.onClick.enable&&n.clickPosition))return!1;const r=s.onHover.mode,l=s.onClick.mode;return z("repulse",r)||z("repulse",l)||a}loadModeOptions(t,...e){t.repulse||(t.repulse=new xs);for(const i of e)t.repulse.load(null==i?void 0:i.repulse)}reset(){}clickRepulse(){const t=Es(this,Cs,"f"),e=t.actualOptions.interactivity.modes.repulse;if(e)if(t.repulse||(t.repulse={particles:[]}),t.repulse.finish||(t.repulse.count||(t.repulse.count=0),t.repulse.count++,t.repulse.count===t.particles.count&&(t.repulse.finish=!0)),t.repulse.clicking){const i=t.retina.repulseModeDistance;if(!i||i<0)return;const o=Math.pow(i/6,3),n=t.interactivity.mouse.clickPosition;if(void 0===n)return;const s=new zi(n.x,n.y,o),r=t.particles.quadTree.query(s,(t=>this.isEnabled(t)));for(const i of r){const{dx:s,dy:r,distance:l}=g(n,i.position),c=l**2,h=e.speed,d=-o*h/c;if(c<=o){t.repulse.particles.push(i);const e=a.create(s,r);e.length=d,i.velocity.setTo(e)}}}else if(!1===t.repulse.clicking){for(const e of t.repulse.particles)e.velocity.setTo(e.initialVelocity);t.repulse.particles=[]}}hoverRepulse(){const t=Es(this,Cs,"f"),e=t.interactivity.mouse.position,i=t.retina.repulseModeDistance;!i||i<0||!e||this.processRepulse(e,i,new zi(e.x,e.y,i))}processRepulse(t,e,i,o){var n;const s=Es(this,Cs,"f"),r=s.particles.quadTree.query(i,(t=>this.isEnabled(t))),l=s.actualOptions.interactivity.modes.repulse;if(l)for(const i of r){const{dx:s,dy:r,distance:c}=g(i.position,t),d=(null!==(n=null==o?void 0:o.speed)&&void 0!==n?n:l.speed)*l.factor,u=h(_(1-c/e,l.easing)*d,0,l.maxSpeed),p=a.create(0===c?d:s/c*u,0===c?d:r/c*u);i.position.addTo(p)}}singleSelectorRepulse(t,e){const i=Es(this,Cs,"f"),o=i.actualOptions.interactivity.modes.repulse;if(!o)return;const n=document.querySelectorAll(t);n.length&&n.forEach((t=>{const n=t,s=i.retina.pixelRatio,a={x:(n.offsetLeft+n.offsetWidth/2)*s,y:(n.offsetTop+n.offsetHeight/2)*s},r=n.offsetWidth/2*s,l="circle"===e.type?new zi(a.x,a.y,r):new Li(n.offsetLeft*s,n.offsetTop*s,n.offsetWidth*s,n.offsetHeight*s),c=W(o.divs,n);this.processRepulse(a,r,l,c)}))}}Cs=new WeakMap;const Vs=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function Gs(t){return new Promise((e=>{t.loading=!0;const 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,console.error(`Error tsParticles - loading image: ${t.source}`),e()})),i.src=t.source}))}async function Os(t){if("svg"!==t.type)return void await Gs(t);t.loading=!0;const e=await fetch(t.source);e.ok||(console.error("Error tsParticles - Image not found"),t.error=!0),t.error||(t.svgData=await e.text()),t.loading=!1}function ks(t,e,i,o){var n,s,a;const r=function(t,e,i){const{svgData:o}=t;if(!o)return"";const n=ut(e,i);if(o.includes("fill"))return o.replace(Vs,(()=>n));const s=o.indexOf(">");return`${o.substring(0,s)} fill="${n}"${o.substring(s)}`}(t,i,null!==(s=null===(n=o.opacity)||void 0===n?void 0:n.value)&&void 0!==s?s:1),l={color:i,data:Object.assign(Object.assign({},t),{svgData:r}),loaded:!1,ratio:e.width/e.height,replaceColor:null!==(a=e.replaceColor)&&void 0!==a?a:e.replace_color,source:e.src};return new Promise((e=>{const i=new Blob([r],{type:"image/svg+xml"}),o=URL||window.URL||window.webkitURL||window,n=o.createObjectURL(i),s=new Image;s.addEventListener("load",(()=>{l.loaded=!0,l.element=s,e(l),o.revokeObjectURL(n)})),s.addEventListener("error",(async()=>{o.revokeObjectURL(n);const i=Object.assign(Object.assign({},t),{error:!1,loading:!0});await Gs(i),l.loaded=!0,l.element=i.element,e(l)})),s.src=n}))}var Rs,Ms=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},zs=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class Ls{constructor(){Rs.set(this,void 0),Ms(this,Rs,[],"f")}addImage(t,e){const i=this.getImages(t);null==i||i.images.push(e)}destroy(){Ms(this,Rs,[],"f")}draw(t,e,i,o){var n;const s=e.image,a=null==s?void 0:s.element;if(!a)return;const r=null!==(n=null==s?void 0:s.ratio)&&void 0!==n?n:1,l={x:-i,y:-i};t.globalAlpha=o,t.drawImage(a,l.x,l.y,2*i,2*i/r),t.globalAlpha=1}getImages(t){const e=zs(this,Rs,"f").find((e=>e.id===t.id));return e||(zs(this,Rs,"f").push({id:t.id,images:[]}),this.getImages(t))}getSidesCount(){return 12}loadShape(t){if("image"!==t.shape&&"images"!==t.shape)return;const e=t.container,i=this.getImages(e).images,o=t.shapeData,n=i.find((t=>t.source===o.src));n?n.error:this.loadImageShape(e,o).then((()=>{this.loadShape(t)}))}particleInit(t,e){var i;if("image"!==e.shape&&"images"!==e.shape)return;const o=this.getImages(t).images,n=e.shapeData,s=e.getFillColor(),a=null!==(i=n.replaceColor)&&void 0!==i?i:n.replace_color,r=o.find((t=>t.source===n.src));r&&(r.loading?setTimeout((()=>{this.particleInit(t,e)})):(async()=>{var t,i;let o;o=r.svgData&&a&&s?await ks(r,n,s,e):{color:s,data:r,element:r.element,loaded:!0,ratio:n.width/n.height,replaceColor:a,source:n.src},o.ratio||(o.ratio=1);const l={image:o,fill:null!==(t=n.fill)&&void 0!==t?t:e.fill,close:null!==(i=n.close)&&void 0!==i?i:e.close};e.image=l.image,e.fill=l.fill,e.close=l.close})())}async loadImageShape(t,e){var i;const o=e.src;if(!o)throw new Error("Error tsParticles - No image.src");try{const n={source:o,type:o.substring(o.length-3),error:!1,loading:!0};this.addImage(t,n);const s=(null!==(i=e.replaceColor)&&void 0!==i?i:e.replace_color)?Os:Gs;await s(n)}catch(t){throw new Error(`tsParticles error - ${e.src} not found`)}}}Rs=new WeakMap;class Is extends ke{constructor(){super(),this.sync=!1}load(t){t&&(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class Hs extends ke{constructor(){super(),this.random.minimumValue=1e-4,this.sync=!1}load(t){t&&(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class Ds{constructor(){this.count=0,this.delay=new Is,this.duration=new Hs}load(t){t&&(void 0!==t.count&&(this.count=t.count),this.delay.load(t.delay),this.duration.load(t.duration))}}class js{constructor(t){this.container=t}init(t){const e=this.container,i=t.options.life;i&&(t.life={delay:e.retina.reduceFactor?p(i.delay.value)*(i.delay.sync?1:c())/e.retina.reduceFactor*1e3:0,delayTime:0,duration:e.retina.reduceFactor?p(i.duration.value)*(i.duration.sync?1:c())/e.retina.reduceFactor*1e3: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){t.life||(t.life=new Ds);for(const i of e)t.life.load(null==i?void 0:i.life)}update(t,e){if(!this.isEnabled(t)||!t.life)return;const i=t.life;let o=!1;if(t.spawning){if(i.delayTime+=e.value,!(i.delayTime>=t.life.delay))return;o=!0,t.spawning=!1,i.delayTime=0,i.time=0}if(-1===i.duration)return;if(t.spawning)return;if(o?i.time=0:i.time+=e.value,i.time<i.duration)return;if(i.time=0,t.life.count>0&&t.life.count--,0===t.life.count)return void t.destroy();const n=this.container.canvas.size,s=w(0,n.width),a=w(0,n.width);t.position.x=u(s),t.position.y=u(a),t.spawning=!0,i.delayTime=0,i.time=0,t.reset();const r=t.options.life;r&&(i.delay=1e3*p(r.delay.value),i.duration=1e3*p(r.duration.value))}}class Fs{draw(t,e,i){t.moveTo(-i/2,0),t.lineTo(i/2,0)}getSidesCount(){return 1}}class Ns{constructor(t){this.container=t}init(t){const e=t.options.opacity;t.opacity={enable:e.animation.enable,max:f(e.value),min:v(e.value),value:p(e.value),loops:0,maxLoops:p(e.animation.count)};const i=e.animation;if(i.enable){t.opacity.decay=1-p(i.decay),t.opacity.status=0;const o=e.value;switch(t.opacity.min=v(o),t.opacity.max=f(o),i.startValue){case"min":t.opacity.value=t.opacity.min,t.opacity.status=0;break;case"random":t.opacity.value=u(t.opacity),t.opacity.status=c()>=.5?0:1;break;default:t.opacity.value=t.opacity.max,t.opacity.status=1}t.opacity.velocity=p(i.speed)/100*this.container.retina.reduceFactor,i.sync||(t.opacity.velocity*=c())}}isEnabled(t){var e,i,o,n;return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((null!==(e=t.opacity.maxLoops)&&void 0!==e?e:0)<=0||(null!==(i=t.opacity.maxLoops)&&void 0!==i?i:0)>0&&(null!==(o=t.opacity.loops)&&void 0!==o?o:0)<(null!==(n=t.opacity.maxLoops)&&void 0!==n?n:0))}update(t,e){this.isEnabled(t)&&function(t,e){var i,o,n,s,a,r;if(!t.opacity)return;const l=t.opacity.min,c=t.opacity.max,d=null!==(i=t.opacity.decay)&&void 0!==i?i:1;if(!(t.destroyed||!t.opacity.enable||(null!==(o=t.opacity.maxLoops)&&void 0!==o?o:0)>0&&(null!==(n=t.opacity.loops)&&void 0!==n?n:0)>(null!==(s=t.opacity.maxLoops)&&void 0!==s?s:0))){switch(t.opacity.status){case 0:t.opacity.value>=c?(t.opacity.status=1,t.opacity.loops||(t.opacity.loops=0),t.opacity.loops++):t.opacity.value+=(null!==(a=t.opacity.velocity)&&void 0!==a?a:0)*e.factor;break;case 1:t.opacity.value<=l?(t.opacity.status=0,t.opacity.loops||(t.opacity.loops=0),t.opacity.loops++):t.opacity.value-=(null!==(r=t.opacity.velocity)&&void 0!==r?r:0)*e.factor}t.opacity.velocity&&1!==t.opacity.decay&&(t.opacity.velocity*=d),function(t,e,i,o){switch(t.options.opacity.animation.destroy){case"max":e>=o&&t.destroy();break;case"min":e<=i&&t.destroy()}}(t,t.opacity.value,l,c),t.destroyed||(t.opacity.value=h(t.opacity.value,l,c))}}(t,e)}}class Bs{constructor(t){this.container=t,this.modes=["bounce","bounce-vertical","bounce-horizontal","bounceVertical","bounceHorizontal","split"]}update(t,e,i,o){if(!this.modes.includes(o))return;const n=this.container;let s=!1;for(const[,o]of n.plugins)if(void 0!==o.particleBounce&&(s=o.particleBounce(t,i,e)),s)break;if(s)return;const a=t.getPosition(),r=t.offset,l=t.getRadius(),c=F(a,l),h=n.canvas.size;!function(t){if("bounce"!==t.outMode&&"bounce-horizontal"!==t.outMode&&"bounceHorizontal"!==t.outMode&&"split"!==t.outMode)return;t.bounds.right<0?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);const e=t.particle.velocity.x;let i=!1;if("right"===t.direction&&t.bounds.right>=t.canvasSize.width&&e>0||"left"===t.direction&&t.bounds.left<=0&&e<0){const e=y(t.particle.options.bounce.horizontal);t.particle.velocity.x*=-e,i=!0}if(!i)return;const o=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width?t.particle.position.x=t.canvasSize.width-o:t.bounds.left<=0&&(t.particle.position.x=o),"split"===t.outMode&&t.particle.destroy()}({particle:t,outMode:o,direction:e,bounds:c,canvasSize:h,offset:r,size:l}),function(t){if("bounce"!==t.outMode&&"bounce-vertical"!==t.outMode&&"bounceVertical"!==t.outMode&&"split"!==t.outMode)return;t.bounds.bottom<0?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);const e=t.particle.velocity.y;let i=!1;if("bottom"===t.direction&&t.bounds.bottom>=t.canvasSize.height&&e>0||"top"===t.direction&&t.bounds.top<=0&&e<0){const e=y(t.particle.options.bounce.vertical);t.particle.velocity.y*=-e,i=!0}if(!i)return;const o=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height?t.particle.position.y=t.canvasSize.height-o:t.bounds.top<=0&&(t.particle.position.y=o),"split"===t.outMode&&t.particle.destroy()}({particle:t,outMode:o,direction:e,bounds:c,canvasSize:h,offset:r,size:l})}}class qs{constructor(t){this.container=t,this.modes=["destroy"]}update(t,e,i,o){if(!this.modes.includes(o))return;const n=this.container;switch(t.outType){case"normal":case"outside":if(D(t.position,n.canvas.size,a.origin,t.getRadius(),e))return;break;case"inside":{const{dx:e,dy:i}=g(t.position,t.moveCenter),{x:o,y:n}=t.velocity;if(o<0&&e>t.moveCenter.radius||n<0&&i>t.moveCenter.radius||o>=0&&e<-t.moveCenter.radius||n>=0&&i<-t.moveCenter.radius)return;break}}n.particles.remove(t,void 0,!0)}}class Us{constructor(t){this.container=t,this.modes=["none"]}update(t,e,i,o){if(!this.modes.includes(o))return;if(t.options.move.distance.horizontal&&("left"===e||"right"===e)||t.options.move.distance.vertical&&("top"===e||"bottom"===e))return;const n=t.options.move.gravity,s=this.container,r=s.canvas.size,l=t.getRadius();if(n.enable){const i=t.position;(!n.inverse&&i.y>r.height+l&&"bottom"===e||n.inverse&&i.y<-l&&"top"===e)&&s.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=r.height+l||t.velocity.y<0&&t.position.y>=-l||t.velocity.x>0&&t.position.x<=r.width+l||t.velocity.x<0&&t.position.x>=-l)return;D(t.position,s.canvas.size,a.origin,l,e)||s.particles.remove(t)}}}class Ws{constructor(t){this.container=t,this.modes=["out"]}update(t,e,i,o){if(!this.modes.includes(o))return;const n=this.container;switch(t.outType){case"inside":{const{x:e,y:i}=t.velocity,o=a.origin;o.length=t.moveCenter.radius,o.angle=t.velocity.angle+Math.PI,o.addTo(a.create(t.moveCenter));const{dx:s,dy:r}=g(t.position,o);if(e<=0&&s>=0||i<=0&&r>=0||e>=0&&s<=0||i>=0&&r<=0)return;t.position.x=Math.floor(u({min:0,max:n.canvas.size.width})),t.position.y=Math.floor(u({min:0,max:n.canvas.size.height}));const{dx:l,dy:c}=g(t.position,t.moveCenter);t.direction=Math.atan2(-c,-l),t.velocity.angle=t.direction;break}default:if(D(t.position,n.canvas.size,a.origin,t.getRadius(),e))return;switch(t.outType){case"outside":{t.position.x=Math.floor(u({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor(u({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;const{dx:e,dy:i}=g(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(i,e),t.velocity.angle=t.direction);break}case"normal":{const i=t.options.move.warp,o=n.canvas.size,s={bottom:o.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:o.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},a=t.getRadius(),r=F(t.position,a);"right"===e&&r.left>o.width+t.offset.x?(t.position.x=s.left,t.initialPosition.x=t.position.x,i||(t.position.y=c()*o.height,t.initialPosition.y=t.position.y)):"left"===e&&r.right<-t.offset.x&&(t.position.x=s.right,t.initialPosition.x=t.position.x,i||(t.position.y=c()*o.height,t.initialPosition.y=t.position.y)),"bottom"===e&&r.top>o.height+t.offset.y?(i||(t.position.x=c()*o.width,t.initialPosition.x=t.position.x),t.position.y=s.top,t.initialPosition.y=t.position.y):"top"===e&&r.bottom<-t.offset.y&&(i||(t.position.x=c()*o.width,t.initialPosition.x=t.position.x),t.position.y=s.bottom,t.initialPosition.y=t.position.y);break}}}}}class Qs{constructor(t){this.container=t,this.updaters=[new Bs(t),new qs(t),new Ws(t),new Us(t)]}init(){}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,e){var i,o,n,s;const a=t.options.move.outModes;this.updateOutMode(t,e,null!==(i=a.bottom)&&void 0!==i?i:a.default,"bottom"),this.updateOutMode(t,e,null!==(o=a.left)&&void 0!==o?o:a.default,"left"),this.updateOutMode(t,e,null!==(n=a.right)&&void 0!==n?n:a.default,"right"),this.updateOutMode(t,e,null!==(s=a.top)&&void 0!==s?s:a.default,"top")}updateOutMode(t,e,i,o){for(const n of this.updaters)n.update(t,o,e,i)}}class $s{init(){}isEnabled(t){return!k()&&!t.destroyed&&t.container.actualOptions.interactivity.events.onHover.parallax.enable}move(t){const e=t.container,i=e.actualOptions;if(k()||!i.interactivity.events.onHover.parallax.enable)return;const o=i.interactivity.events.onHover.parallax.force,n=e.interactivity.mouse.position;if(!n)return;const s=e.canvas.size.width/2,a=e.canvas.size.height/2,r=i.interactivity.events.onHover.parallax.smooth,l=t.getRadius()/o,c=(n.x-s)*l,h=(n.y-a)*l;t.offset.x+=(c-t.offset.x)/r,t.offset.y+=(h-t.offset.y)/r}}class Zs extends mo{constructor(t){super(t)}clear(){}init(){}async interact(t){var e;const i=this.container,o=null!==(e=t.retina.attractDistance)&&void 0!==e?e:i.retina.attractDistance,n=t.getPosition(),s=i.particles.quadTree.queryCircle(n,o);for(const e of s){if(t===e||!e.options.move.attract.enable||e.destroyed||e.spawning)continue;const i=e.getPosition(),{dx:o,dy:s}=g(n,i),a=t.options.move.attract.rotate,r=o/(1e3*a.x),l=s/(1e3*a.y),c=e.size.value/t.size.value,h=1/c;t.velocity.x-=r*c,t.velocity.y-=l*c,e.velocity.x+=r*h,e.velocity.y+=l*h}}isEnabled(t){return t.options.move.attract.enable}reset(){}}function Xs(t,e){$(Q(t),Q(e))}function Ys(t,e,i,o){switch(t.options.collisions.mode){case"absorb":!function(t,e,i,o){if(void 0===t.getRadius()&&void 0!==e.getRadius())t.destroy();else if(void 0!==t.getRadius()&&void 0===e.getRadius())e.destroy();else if(void 0!==t.getRadius()&&void 0!==e.getRadius())if(t.getRadius()>=e.getRadius()){const n=h(t.getRadius()/e.getRadius(),0,e.getRadius())*i;t.size.value+=n,e.size.value-=n,e.getRadius()<=o&&(e.size.value=0,e.destroy())}else{const n=h(e.getRadius()/t.getRadius(),0,t.getRadius())*i;t.size.value-=n,e.size.value+=n,t.getRadius()<=o&&(t.size.value=0,t.destroy())}}(t,e,i,o);break;case"bounce":Xs(t,e);break;case"destroy":!function(t,e){t.unbreakable||e.unbreakable||Xs(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.destroy():t.destroy())}(t,e)}}class Js extends mo{constructor(t){super(t)}clear(){}init(){}async interact(t){const e=this.container,i=t.getPosition(),o=t.getRadius(),n=e.particles.quadTree.queryCircle(i,2*o);for(const s of n){if(t===s||!s.options.collisions.enable||t.options.collisions.mode!==s.options.collisions.mode||s.destroyed||s.spawning)continue;const n=s.getPosition(),a=s.getRadius();if(Math.abs(Math.round(i.z)-Math.round(n.z))>o+a)continue;m(i,n)>o+a||Ys(t,s,e.fpsLimit/1e3,e.retina.pixelRatio)}}isEnabled(t){return t.options.collisions.enable}reset(){}}class Ks{constructor(){this.blur=5,this.color=new ee,this.color.value="#000",this.enable=!1}load(t){t&&(void 0!==t.blur&&(this.blur=t.blur),this.color=ee.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable))}}class ta{constructor(){this.enable=!1,this.frequency=1}load(t){t&&(void 0!==t.color&&(this.color=ee.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 ea{constructor(){this.blink=!1,this.color=new ee,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new Ks,this.triangles=new ta,this.width=1,this.warp=!1}load(t){t&&(void 0!==t.id&&(this.id=t.id),void 0!==t.blink&&(this.blink=t.blink),this.color=ee.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))}}function ia(t,e,i,o,n){let s=m(t,e);if(!n||s<=i)return s;if(s=m(t,{x:e.x-o.width,y:e.y}),s<=i)return s;if(s=m(t,{x:e.x-o.width,y:e.y-o.height}),s<=i)return s;return s=m(t,{x:e.x,y:e.y-o.height}),s}class oa extends mo{constructor(t){super(t),this.linkContainer=t}clear(){}init(){this.linkContainer.particles.linksColors=new Map}async interact(t){var e;if(!t.options.links)return;t.links=[];const i=t.getPosition(),o=this.container,n=o.canvas.size;if(i.x<0||i.y<0||i.x>n.width||i.y>n.height)return;const s=t.options.links,a=s.opacity,r=null!==(e=t.retina.linksDistance)&&void 0!==e?e:0,l=s.warp,c=l?new Ii(i.x,i.y,r,n):new zi(i.x,i.y,r),h=o.particles.quadTree.query(c);for(const e of h){const o=e.options.links;if(t===e||!(null==o?void 0:o.enable)||s.id!==o.id||e.spawning||e.destroyed||!e.links||-1!==t.links.map((t=>t.destination)).indexOf(e)||-1!==e.links.map((t=>t.destination)).indexOf(t))continue;const c=e.getPosition();if(c.x<0||c.y<0||c.x>n.width||c.y>n.height)continue;const h=ia(i,c,r,n,l&&o.warp);if(h>r)return;const d=(1-h/r)*a;this.setColor(t),t.links.push({destination:e,opacity:d})}}isEnabled(t){var e;return!!(null===(e=t.options.links)||void 0===e?void 0:e.enable)}loadParticlesOptions(t,...e){var i,o;t.links||(t.links=new ea);for(const n of e)t.links.load(null!==(o=null!==(i=null==n?void 0:n.links)&&void 0!==i?i:null==n?void 0:n.lineLinked)&&void 0!==o?o:null==n?void 0:n.line_linked)}reset(){}setColor(t){if(!t.options.links)return;const e=this.linkContainer,i=t.options.links;let o=void 0===i.id?e.particles.linksColor:e.particles.linksColors.get(i.id);if(o)return;o=ft(i.color,i.blink,i.consent),void 0===i.id?e.particles.linksColor=o:e.particles.linksColors.set(i.id,o)}}class na{constructor(t){this.container=t}drawParticle(t,e){var i;const o=this.container,n=e.options;if(!e.links||e.links.length<=0)return;t.save();const s=e.links.filter((t=>n.links&&o.particles.getLinkFrequency(e,t.destination)<=n.links.frequency));for(const t of s)this.drawTriangles(o,n,e,t,s),t.opacity>0&&(null!==(i=e.retina.linksWidth)&&void 0!==i?i:0)>0&&this.drawLinkLine(e,t);t.restore()}particleCreated(t){if(t.links=[],!t.options.links)return;const e=this.container.retina.pixelRatio;t.retina.linksDistance=t.options.links.distance*e,t.retina.linksWidth=t.options.links.width*e}particleDestroyed(t){t.links=[]}drawLinkLine(t,e){const i=this.container,o=i.actualOptions,n=e.destination,s=t.getPosition(),a=n.getPosition();let r=e.opacity;i.canvas.draw((e=>{var l,h,d;if(!t.options.links)return;let u;const v=null===(l=t.options.twinkle)||void 0===l?void 0:l.lines;if(null==v?void 0:v.enable){const t=v.frequency,e=et(v.color);c()<t&&e&&(u=e,r=p(v.opacity))}if(!u){const e=t.options.links,o=void 0!==(null==e?void 0:e.id)?i.particles.linksColors.get(e.id):i.particles.linksColor;u=vt(t,n,o)}if(!u)return;const f=null!==(h=t.retina.linksWidth)&&void 0!==h?h:0,w=null!==(d=t.retina.linksDistance)&&void 0!==d?d:0;!function(t,e,i,o,n,s,a,r,l,c,h,d){let u=!1;if(m(i,o)<=n)mt(t,i,o),u=!0;else if(a){let e,a;const r=g(i,{x:o.x-s.width,y:o.y});if(r.distance<=n){const t=i.y-r.dy/r.dx*i.x;e={x:0,y:t},a={x:s.width,y:t}}else{const t=g(i,{x:o.x,y:o.y-s.height});if(t.distance<=n){const o=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);e={x:o,y:0},a={x:o,y:s.height}}else{const t=g(i,{x:o.x-s.width,y:o.y-s.height});if(t.distance<=n){const o=i.y-t.dy/t.dx*i.x;e={x:-o/(t.dy/t.dx),y:o},a={x:e.x+s.width,y:e.y+s.height}}}}e&&a&&(mt(t,i,e),mt(t,o,a),u=!0)}if(u){if(t.lineWidth=e,r&&(t.globalCompositeOperation=l),t.strokeStyle=dt(c,h),d.enable){const e=et(d.color);e&&(t.shadowBlur=d.blur,t.shadowColor=dt(e))}t.stroke()}}(e,f,s,a,w,i.canvas.size,t.options.links.warp,o.backgroundMask.enable,o.backgroundMask.composite,u,r,t.options.links.shadow)}))}drawLinkTriangle(t,e,i){var o;if(!t.options.links)return;const n=this.container,s=n.actualOptions,a=e.destination,r=i.destination,l=t.options.links.triangles,c=null!==(o=l.opacity)&&void 0!==o?o:(e.opacity+i.opacity)/2;c<=0||n.canvas.draw((e=>{var i;const o=t.getPosition(),h=a.getPosition(),d=r.getPosition(),u=null!==(i=t.retina.linksDistance)&&void 0!==i?i:0;if(m(o,h)>u||m(d,h)>u||m(d,o)>u)return;let p=et(l.color);if(!p){const e=t.options.links,i=void 0!==(null==e?void 0:e.id)?n.particles.linksColors.get(e.id):n.particles.linksColor;p=vt(t,a,i)}p&&function(t,e,i,o,n,s,a,r){bt(t,e,i,o),n&&(t.globalCompositeOperation=s),t.fillStyle=dt(a,r),t.fill()}(e,o,h,d,s.backgroundMask.enable,s.backgroundMask.composite,p,c)}))}drawTriangles(t,e,i,o,n){var s,a,r;const l=o.destination,c=t.particles;if(!(null===(s=e.links)||void 0===s?void 0:s.triangles.enable)||!(null===(a=l.options.links)||void 0===a?void 0:a.triangles.enable))return;const h=null===(r=l.links)||void 0===r?void 0:r.filter((e=>{const i=t.particles.getLinkFrequency(l,e.destination);return l.options.links&&i<=l.options.links.frequency&&n.findIndex((t=>t.destination===e.destination))>=0}));if(null==h?void 0:h.length)for(const t of h){const n=t.destination;c.getTriangleFrequency(i,l,n)>e.links.triangles.frequency||this.drawLinkTriangle(i,o,t)}}}class sa{constructor(){this.id="links"}getPlugin(t){return new na(t)}loadOptions(){}needsPlugin(){return!0}}async function aa(t){await async function(t){await t.addInteractor("particlesLinks",(t=>new oa(t)))}(t),await async function(t){const e=new sa;await t.addPlugin(e)}(t)}class ra{draw(t,e,i){const o=this.getCenter(e,i),n=this.getSidesData(e,i),s=n.count.numerator*n.count.denominator,a=n.count.numerator/n.count.denominator,r=180*(a-2)/a,l=Math.PI-Math.PI*r/180;if(t){t.beginPath(),t.translate(o.x,o.y),t.moveTo(0,0);for(let e=0;e<s;e++)t.lineTo(n.length,0),t.translate(n.length,0),t.rotate(l)}}getSidesCount(t){var e,i;const o=t.shapeData;return null!==(i=null!==(e=null==o?void 0:o.sides)&&void 0!==e?e:null==o?void 0:o.nb_sides)&&void 0!==i?i:5}}class la extends ra{getCenter(t,e){return{x:-e/(this.getSidesCount(t)/3.5),y:-e/.76}}getSidesData(t,e){var i,o;const n=t.shapeData,s=null!==(o=null!==(i=null==n?void 0:n.sides)&&void 0!==i?i:null==n?void 0:n.nb_sides)&&void 0!==o?o:5;return{count:{denominator:1,numerator:s},length:2.66*e/(s/3)}}}class ca extends ra{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 ha(t){await async function(t){await t.addShape("polygon",new la)}(t),await async function(t){await t.addShape("triangle",new ca)}(t)}class da{init(){}isEnabled(t){var e,i,o,n;return!t.destroyed&&!t.spawning&&t.size.enable&&((null!==(e=t.size.maxLoops)&&void 0!==e?e:0)<=0||(null!==(i=t.size.maxLoops)&&void 0!==i?i:0)>0&&(null!==(o=t.size.loops)&&void 0!==o?o:0)<(null!==(n=t.size.maxLoops)&&void 0!==n?n:0))}update(t,e){this.isEnabled(t)&&function(t,e){var i,o,n,s,a;const r=(null!==(i=t.size.velocity)&&void 0!==i?i:0)*e.factor,l=t.size.min,c=t.size.max,d=null!==(o=t.size.decay)&&void 0!==o?o:1;if(!(t.destroyed||!t.size.enable||(null!==(n=t.size.maxLoops)&&void 0!==n?n:0)>0&&(null!==(s=t.size.loops)&&void 0!==s?s:0)>(null!==(a=t.size.maxLoops)&&void 0!==a?a:0))){switch(t.size.status){case 0:t.size.value>=c?(t.size.status=1,t.size.loops||(t.size.loops=0),t.size.loops++):t.size.value+=r;break;case 1:t.size.value<=l?(t.size.status=0,t.size.loops||(t.size.loops=0),t.size.loops++):t.size.value-=r}t.size.velocity&&1!==d&&(t.size.velocity*=d),function(t,e,i,o){switch(t.options.size.animation.destroy){case"max":e>=o&&t.destroy();break;case"min":e<=i&&t.destroy()}}(t,t.size.value,l,c),t.destroyed||(t.size.value=h(t.size.value,l,c))}}(t,e)}}const ua=Math.sqrt(2);class pa{draw(t,e,i){t.rect(-i/ua,-i/ua,2*i/ua,2*i/ua)}getSidesCount(){return 4}}class va{draw(t,e,i){var o;const n=e.shapeData,s=this.getSidesCount(e),a=null!==(o=null==n?void 0:n.inset)&&void 0!==o?o:2;t.moveTo(0,0-i);for(let e=0;e<s;e++)t.rotate(Math.PI/s),t.lineTo(0,0-i*a),t.rotate(Math.PI/s),t.lineTo(0,0-i)}getSidesCount(t){var e,i;const o=t.shapeData;return null!==(i=null!==(e=null==o?void 0:o.sides)&&void 0!==e?e:null==o?void 0:o.nb_sides)&&void 0!==i?i:5}}function fa(t,e,i,o,n){var s,a;const r=e;if(!r||!r.enable)return;const l=u(i.offset),c=(null!==(s=e.velocity)&&void 0!==s?s:0)*t.factor+3.6*l,h=null!==(a=e.decay)&&void 0!==a?a:1;n&&0!==r.status?(r.value-=c,r.value<0&&(r.status=0,r.value+=r.value)):(r.value+=c,n&&r.value>o&&(r.status=1,r.value-=r.value%o)),r.velocity&&1!==h&&(r.velocity*=h),r.value>o&&(r.value%=o)}class wa{constructor(t){this.container=t}init(t){var e,i;const o=this.container;t.stroke=t.options.stroke instanceof Array?H(t.options.stroke,t.id,t.options.reduceDuplicates):t.options.stroke,t.strokeWidth=t.stroke.width*o.retina.pixelRatio;const n=null!==(e=nt(t.stroke.color))&&void 0!==e?e:t.getFillColor();n&&(t.strokeColor=yt(n,null===(i=t.stroke.color)||void 0===i?void 0:i.animation,o.retina.reduceFactor))}isEnabled(t){var e,i,o,n;const s=null===(e=t.stroke)||void 0===e?void 0:e.color;return!t.destroyed&&!t.spawning&&!!s&&(void 0!==(null===(i=t.strokeColor)||void 0===i?void 0:i.h.value)&&s.animation.h.enable||void 0!==(null===(o=t.strokeColor)||void 0===o?void 0:o.s.value)&&s.animation.s.enable||void 0!==(null===(n=t.strokeColor)||void 0===n?void 0:n.l.value)&&s.animation.l.enable)}update(t,e){this.isEnabled(t)&&function(t,e){var i,o,n,s,a,r,l,c,h,d;if(!(null===(i=t.stroke)||void 0===i?void 0:i.color))return;const u=t.stroke.color.animation,p=null!==(n=null===(o=t.strokeColor)||void 0===o?void 0:o.h)&&void 0!==n?n:null===(s=t.color)||void 0===s?void 0:s.h;p&&fa(e,p,u.h,360,!1);const v=null!==(r=null===(a=t.strokeColor)||void 0===a?void 0:a.s)&&void 0!==r?r:null===(l=t.color)||void 0===l?void 0:l.s;v&&fa(e,v,u.s,100,!0);const f=null!==(h=null===(c=t.strokeColor)||void 0===c?void 0:c.l)&&void 0!==h?h:null===(d=t.color)||void 0===d?void 0:d.l;f&&fa(e,f,u.l,100,!0)}(t,e)}}const ya=["text","character","char"];class ga{draw(t,e,i,o){var n,s,a;const r=e.shapeData;if(void 0===r)return;const l=r.value;if(void 0===l)return;const c=e;void 0===c.text&&(c.text=l instanceof Array?H(l,e.randomIndexData):l);const h=c.text,d=null!==(n=r.style)&&void 0!==n?n:"",u=null!==(s=r.weight)&&void 0!==s?s:"400",p=2*Math.round(i),v=null!==(a=r.font)&&void 0!==a?a:"Verdana",f=e.fill,w=h.length*i/2;t.font=`${d} ${u} ${p}px "${v}"`;const y={x:-w,y:i/2};t.globalAlpha=o,f?t.fillText(h,y.x,y.y):t.strokeText(h,y.x,y.y),t.globalAlpha=1}getSidesCount(){return 12}async init(t){const e=t.actualOptions;if(ya.find((t=>z(t,e.particles.shape.type)))){const t=ya.map((t=>e.particles.shape.options[t])).find((t=>!!t));if(t instanceof Array){const e=[];for(const i of t){const t=i;e.push(L(t.font,t.weight))}await Promise.allSettled(e)}else if(void 0!==t){const e=t;await L(e.font,e.weight)}}}}async function ma(t){await async function(t){t.addMover("base",(()=>new Tn))}(t),await async function(t){t.addMover("parallax",(()=>new $s))}(t),await async function(t){await t.addInteractor("externalAttract",(t=>new Ln(t)))}(t),await async function(t){await t.addInteractor("externalBounce",(t=>new Fn(t)))}(t),await async function(t){await t.addInteractor("externalBubble",(t=>new Zn(t)))}(t),await async function(t){await t.addInteractor("externalConnect",(t=>new os(t)))}(t),await async function(t){await t.addInteractor("externalGrab",(t=>new hs(t)))}(t),await function(t){t.addInteractor("externalPause",(t=>new ds(t)))}(t),await async function(t){await t.addInteractor("externalPush",(t=>new ws(t)))}(t),await function(t){t.addInteractor("externalRemove",(t=>new Ss(t)))}(t),await async function(t){await t.addInteractor("externalRepulse",(t=>new Ts(t)))}(t),await async function(t){await t.addInteractor("particlesAttract",(t=>new Zs(t)))}(t),await async function(t){await t.addInteractor("particlesCollisions",(t=>new Js(t)))}(t),await aa(t),await async function(t){await t.addShape("circle",new Vn)}(t),await async function(t){const e=new Ls;await t.addShape("image",e),await t.addShape("images",e)}(t),await async function(t){await t.addShape("line",new Fs)}(t),await ha(t),await async function(t){const e=new pa;await t.addShape("edge",e),await t.addShape("square",e)}(t),await async function(t){await t.addShape("star",new va)}(t),await async function(t){const e=new ga;for(const i of ya)await t.addShape(i,e)}(t),await async function(t){await t.addParticleUpdater("life",(t=>new js(t)))}(t),await async function(t){await t.addParticleUpdater("opacity",(t=>new Ns(t)))}(t),await async function(t){await t.addParticleUpdater("size",(()=>new da))}(t),await async function(t){await t.addParticleUpdater("angle",(t=>new En(t)))}(t),await async function(t){await t.addParticleUpdater("color",(t=>new On(t)))}(t),await async function(t){await t.addParticleUpdater("strokeColor",(t=>new wa(t)))}(t),await async function(t){await t.addParticleUpdater("outModes",(t=>new Qs(t)))}(t),await(t=>{const e=(e,i)=>t.load(e,i);return e.load=(e,i,o)=>{t.loadJSON(e,i).then((t=>{t&&o(t)})).catch((()=>{o(void 0)}))},e.setOnClickHandler=e=>{t.setOnClickHandler(e)},{particlesJS:e,pJSDom:t.dom()}})(t)}class ba{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=w(t.speed)),void 0!==t.decay&&(this.decay=w(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class Sa extends ke{constructor(){super(),this.animation=new ba,this.direction="clockwise",this.enable=!1,this.value=0}load(t){super.load(t),t&&(this.animation.load(t.animation),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.enable&&(this.enable=t.enable))}}class Pa{constructor(t){this.container=t}getTransformValues(t){var e;const i=(null===(e=t.tilt)||void 0===e?void 0:e.enable)&&t.tilt;return{b:i?Math.cos(i.value)*i.cosDirection:void 0,c:i?Math.sin(i.value)*i.sinDirection:void 0}}init(t){var e;const i=t.options.tilt;if(!i)return;t.tilt={enable:i.enable,value:p(i.value)*Math.PI/180,sinDirection:c()>=.5?1:-1,cosDirection:c()>=.5?1:-1};let o=i.direction;if("random"===o){o=Math.floor(2*c())>0?"counter-clockwise":"clockwise"}switch(o){case"counter-clockwise":case"counterClockwise":t.tilt.status=1;break;case"clockwise":t.tilt.status=0}const n=null===(e=t.options.tilt)||void 0===e?void 0:e.animation;(null==n?void 0:n.enable)&&(t.tilt.decay=1-p(n.decay),t.tilt.velocity=p(n.speed)/360*this.container.retina.reduceFactor,n.sync||(t.tilt.velocity*=c()))}isEnabled(t){var e;const i=null===(e=t.options.tilt)||void 0===e?void 0:e.animation;return!t.destroyed&&!t.spawning&&!!(null==i?void 0:i.enable)}loadOptions(t,...e){t.tilt||(t.tilt=new Sa);for(const i of e)t.tilt.load(null==i?void 0:i.tilt)}update(t,e){this.isEnabled(t)&&function(t,e){var i,o;if(!t.tilt||!t.options.tilt)return;const n=t.options.tilt.animation,s=(null!==(i=t.tilt.velocity)&&void 0!==i?i:0)*e.factor,a=2*Math.PI,r=null!==(o=t.tilt.decay)&&void 0!==o?o:1;n.enable&&(0===t.tilt.status?(t.tilt.value+=s,t.tilt.value>a&&(t.tilt.value-=a)):(t.tilt.value-=s,t.tilt.value<0&&(t.tilt.value+=a)),t.tilt.velocity&&1!==r&&(t.tilt.velocity*=r))}(t,e)}}class _a{constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(t){t&&(void 0!==t.color&&(this.color=ee.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=w(t.opacity)))}}class xa{constructor(){this.lines=new _a,this.particles=new _a}load(t){t&&(this.lines.load(t.lines),this.particles.load(t.particles))}}class Ca{getColorStyles(t,e,i,o){const n=t.options.twinkle;if(!n)return{};const s=n.particles,a=s.enable&&c()<s.frequency,r=t.options.zIndex,l=(1-t.zIndexFactor)**r.opacityRate,h=a?p(s.opacity)*l:o,d=nt(s.color),u=d?ut(d,h):void 0,v={},f=a&&u;return v.fill=f?u:void 0,v.stroke=f?u:void 0,v}init(){}isEnabled(t){const e=t.options.twinkle;return!!e&&e.particles.enable}loadOptions(t,...e){t.twinkle||(t.twinkle=new xa);for(const i of e)t.twinkle.load(null==i?void 0:i.twinkle)}update(){}}class Aa{constructor(){this.angle=50,this.move=10}load(t){t&&(void 0!==t.angle&&(this.angle=w(t.angle)),void 0!==t.move&&(this.move=w(t.move)))}}class Ea{constructor(){this.distance=5,this.enable=!1,this.speed=new Aa}load(t){if(t&&(void 0!==t.distance&&(this.distance=w(t.distance)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed))if("number"==typeof t.speed)this.speed.load({angle:t.speed});else{const e=t.speed;void 0!==e.min?this.speed.load({angle:e}):this.speed.load(t.speed)}}}class Ta{constructor(t){this.container=t}init(t){var e;const i=t.options.wobble;(null==i?void 0:i.enable)?t.wobble={angle:c()*Math.PI*2,angleSpeed:p(i.speed.angle)/360,moveSpeed:p(i.speed.move)/10}:t.wobble={angle:0,angleSpeed:0,moveSpeed:0},t.retina.wobbleDistance=p(null!==(e=null==i?void 0:i.distance)&&void 0!==e?e:0)*this.container.retina.pixelRatio}isEnabled(t){var e;return!t.destroyed&&!t.spawning&&!!(null===(e=t.options.wobble)||void 0===e?void 0:e.enable)}loadOptions(t,...e){t.wobble||(t.wobble=new Ea);for(const i of e)t.wobble.load(null==i?void 0:i.wobble)}update(t,e){this.isEnabled(t)&&function(t,e){var i;const o=t.options.wobble;if(!(null==o?void 0:o.enable)||!t.wobble)return;const n=t.wobble.angleSpeed*e.factor,s=t.wobble.moveSpeed*e.factor*((null!==(i=t.retina.wobbleDistance)&&void 0!==i?i:0)*e.factor)/(1e3/60),a=2*Math.PI;t.wobble.angle+=n,t.wobble.angle>a&&(t.wobble.angle-=a),t.position.x+=s*Math.cos(t.wobble.angle),t.position.y+=s*Math.abs(Math.sin(t.wobble.angle))}(t,e)}}async function Va(t){await ma(t),await async function(t){await t.addParticleUpdater("roll",(()=>new An))}(t),await async function(t){await t.addParticleUpdater("tilt",(t=>new Pa(t)))}(t),await async function(t){await t.addParticleUpdater("twinkle",(()=>new Ca))}(t),await async function(t){await t.addParticleUpdater("wobble",(t=>new Ta(t)))}(t),await async function(t){await t.addInteractor("externalTrail",(t=>new sn(t)))}(t),await async function(t){const e=new To;await t.addPlugin(e)}(t),await async function(t){t.emitterShapeManager||(t.emitterShapeManager=new Qo(t)),t.addEmitterShape||(t.addEmitterShape=(e,i)=>{var o;null===(o=t.emitterShapeManager)||void 0===o||o.addShape(e,i)});const e=new Ko(t);await t.addPlugin(e),t.addEmitterShape("circle",new Vo),t.addEmitterShape("square",new Zo)}(t),await async function(t){const e=new _n(t);await t.addPlugin(e)}(t)}Va(Po)})(),o})()));
|