mirage2d 1.2.58 → 1.2.59
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/dist/Layer/XMap.d.ts +4 -0
- package/dist/mirage2d.cjs.js +1 -1
- package/dist/mirage2d.umd.js +1 -1
- package/package.json +1 -1
package/dist/mirage2d.cjs.js
CHANGED
|
@@ -485,4 +485,4 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
485
485
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
486
486
|
PERFORMANCE OF THIS SOFTWARE.
|
|
487
487
|
***************************************************************************** */
|
|
488
|
-
var Iwt=function(t,e){return(Iwt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function Pwt(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}Iwt(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function Fwt(t,e){var r=t[0],n=t[1];return[r*Math.cos(e)-n*Math.sin(e),r*Math.sin(e)+n*Math.cos(e)]}function Twt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=0;r<t.length;r++)if("number"!=typeof t[r])throw new Error("assertNumbers arguments["+r+"] is not a number. "+typeof t[r]+" == typeof "+t[r]);return!0}var Mwt=Math.PI;function Lwt(t,e,r){t.lArcFlag=0===t.lArcFlag?0:1,t.sweepFlag=0===t.sweepFlag?0:1;var n=t.rX,i=t.rY,o=t.x,s=t.y;n=Math.abs(t.rX),i=Math.abs(t.rY);var a=Fwt([(e-o)/2,(r-s)/2],-t.xRot/180*Mwt),l=a[0],u=a[1],h=Math.pow(l,2)/Math.pow(n,2)+Math.pow(u,2)/Math.pow(i,2);1<h&&(n*=Math.sqrt(h),i*=Math.sqrt(h)),t.rX=n,t.rY=i;var c=Math.pow(n,2)*Math.pow(u,2)+Math.pow(i,2)*Math.pow(l,2),A=(t.lArcFlag!==t.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(n,2)*Math.pow(i,2)-c)/c)),f=n*u/i*A,p=-i*l/n*A,d=Fwt([f,p],t.xRot/180*Mwt);t.cX=d[0]+(e+o)/2,t.cY=d[1]+(r+s)/2,t.phi1=Math.atan2((u-p)/i,(l-f)/n),t.phi2=Math.atan2((-u-p)/i,(-l-f)/n),0===t.sweepFlag&&t.phi2>t.phi1&&(t.phi2-=2*Mwt),1===t.sweepFlag&&t.phi2<t.phi1&&(t.phi2+=2*Mwt),t.phi1*=180/Mwt,t.phi2*=180/Mwt}function kwt(t,e,r){Twt(t,e,r);var n=t*t+e*e-r*r;if(0>n)return[];if(0===n)return[[t*r/(t*t+e*e),e*r/(t*t+e*e)]];var i=Math.sqrt(n);return[[(t*r+e*i)/(t*t+e*e),(e*r-t*i)/(t*t+e*e)],[(t*r-e*i)/(t*t+e*e),(e*r+t*i)/(t*t+e*e)]]}var Owt,Nwt=Math.PI/180;function Rwt(t,e,r){return(1-r)*t+r*e}function Uwt(t,e,r,n){return t+Math.cos(n/180*Mwt)*e+Math.sin(n/180*Mwt)*r}function Dwt(t,e,r,n){var i=1e-6,o=e-t,s=r-e,a=3*o+3*(n-r)-6*s,l=6*(s-o),u=3*o;return Math.abs(a)<i?[-u/l]:function(t,e,r){var n=t*t/4-e;if(n<-r)return[];if(n<=r)return[-t/2];var i=Math.sqrt(n);return[-t/2-i,-t/2+i]}(l/a,u/a,i)}function Qwt(t,e,r,n,i){var o=1-i;return t*(o*o*o)+e*(3*o*o*i)+r*(3*o*i*i)+n*(i*i*i)}!function(t){function e(){return i((function(t,e,r){return t.relative&&(void 0!==t.x1&&(t.x1+=e),void 0!==t.y1&&(t.y1+=r),void 0!==t.x2&&(t.x2+=e),void 0!==t.y2&&(t.y2+=r),void 0!==t.x&&(t.x+=e),void 0!==t.y&&(t.y+=r),t.relative=!1),t}))}function r(){var t=NaN,e=NaN,r=NaN,n=NaN;return i((function(i,o,s){return i.type&Kwt.SMOOTH_CURVE_TO&&(i.type=Kwt.CURVE_TO,t=isNaN(t)?o:t,e=isNaN(e)?s:e,i.x1=i.relative?o-t:2*o-t,i.y1=i.relative?s-e:2*s-e),i.type&Kwt.CURVE_TO?(t=i.relative?o+i.x2:i.x2,e=i.relative?s+i.y2:i.y2):(t=NaN,e=NaN),i.type&Kwt.SMOOTH_QUAD_TO&&(i.type=Kwt.QUAD_TO,r=isNaN(r)?o:r,n=isNaN(n)?s:n,i.x1=i.relative?o-r:2*o-r,i.y1=i.relative?s-n:2*s-n),i.type&Kwt.QUAD_TO?(r=i.relative?o+i.x1:i.x1,n=i.relative?s+i.y1:i.y1):(r=NaN,n=NaN),i}))}function n(){var t=NaN,e=NaN;return i((function(r,n,i){if(r.type&Kwt.SMOOTH_QUAD_TO&&(r.type=Kwt.QUAD_TO,t=isNaN(t)?n:t,e=isNaN(e)?i:e,r.x1=r.relative?n-t:2*n-t,r.y1=r.relative?i-e:2*i-e),r.type&Kwt.QUAD_TO){t=r.relative?n+r.x1:r.x1,e=r.relative?i+r.y1:r.y1;var o=r.x1,s=r.y1;r.type=Kwt.CURVE_TO,r.x1=((r.relative?0:n)+2*o)/3,r.y1=((r.relative?0:i)+2*s)/3,r.x2=(r.x+2*o)/3,r.y2=(r.y+2*s)/3}else t=NaN,e=NaN;return r}))}function i(t){var e=0,r=0,n=NaN,i=NaN;return function(o){if(isNaN(n)&&!(o.type&Kwt.MOVE_TO))throw new Error("path must start with moveto");var s=t(o,e,r,n,i);return o.type&Kwt.CLOSE_PATH&&(e=n,r=i),void 0!==o.x&&(e=o.relative?e+o.x:o.x),void 0!==o.y&&(r=o.relative?r+o.y:o.y),o.type&Kwt.MOVE_TO&&(n=e,i=r),s}}function o(t,e,r,n,o,s){return Twt(t,e,r,n,o,s),i((function(i,a,l,u){var h=i.x1,c=i.x2,A=i.relative&&!isNaN(u),f=void 0!==i.x?i.x:A?0:a,p=void 0!==i.y?i.y:A?0:l;function d(t){return t*t}i.type&Kwt.HORIZ_LINE_TO&&0!==e&&(i.type=Kwt.LINE_TO,i.y=i.relative?0:l),i.type&Kwt.VERT_LINE_TO&&0!==r&&(i.type=Kwt.LINE_TO,i.x=i.relative?0:a),void 0!==i.x&&(i.x=i.x*t+p*r+(A?0:o)),void 0!==i.y&&(i.y=f*e+i.y*n+(A?0:s)),void 0!==i.x1&&(i.x1=i.x1*t+i.y1*r+(A?0:o)),void 0!==i.y1&&(i.y1=h*e+i.y1*n+(A?0:s)),void 0!==i.x2&&(i.x2=i.x2*t+i.y2*r+(A?0:o)),void 0!==i.y2&&(i.y2=c*e+i.y2*n+(A?0:s));var g=t*n-e*r;if(void 0!==i.xRot&&(1!==t||0!==e||0!==r||1!==n))if(0===g)delete i.rX,delete i.rY,delete i.xRot,delete i.lArcFlag,delete i.sweepFlag,i.type=Kwt.LINE_TO;else{var y=i.xRot*Math.PI/180,m=Math.sin(y),v=Math.cos(y),_=1/d(i.rX),w=1/d(i.rY),b=d(v)*_+d(m)*w,x=2*m*v*(_-w),C=d(m)*_+d(v)*w,S=b*n*n-x*e*n+C*e*e,E=x*(t*n+e*r)-2*(b*r*n+C*t*e),B=b*r*r-x*t*r+C*t*t,I=(Math.atan2(E,S-B)+Math.PI)%Math.PI/2,P=Math.sin(I),F=Math.cos(I);i.rX=Math.abs(g)/Math.sqrt(S*d(F)+E*P*F+B*d(P)),i.rY=Math.abs(g)/Math.sqrt(S*d(P)-E*P*F+B*d(F)),i.xRot=180*I/Math.PI}return void 0!==i.sweepFlag&&0>g&&(i.sweepFlag=+!i.sweepFlag),i}))}t.ROUND=function(t){function e(e){return Math.round(e*t)/t}return void 0===t&&(t=1e13),Twt(t),function(t){return void 0!==t.x1&&(t.x1=e(t.x1)),void 0!==t.y1&&(t.y1=e(t.y1)),void 0!==t.x2&&(t.x2=e(t.x2)),void 0!==t.y2&&(t.y2=e(t.y2)),void 0!==t.x&&(t.x=e(t.x)),void 0!==t.y&&(t.y=e(t.y)),void 0!==t.rX&&(t.rX=e(t.rX)),void 0!==t.rY&&(t.rY=e(t.rY)),t}},t.TO_ABS=e,t.TO_REL=function(){return i((function(t,e,r){return t.relative||(void 0!==t.x1&&(t.x1-=e),void 0!==t.y1&&(t.y1-=r),void 0!==t.x2&&(t.x2-=e),void 0!==t.y2&&(t.y2-=r),void 0!==t.x&&(t.x-=e),void 0!==t.y&&(t.y-=r),t.relative=!0),t}))},t.NORMALIZE_HVZ=function(t,e,r){return void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),i((function(n,i,o,s,a){if(isNaN(s)&&!(n.type&Kwt.MOVE_TO))throw new Error("path must start with moveto");return e&&n.type&Kwt.HORIZ_LINE_TO&&(n.type=Kwt.LINE_TO,n.y=n.relative?0:o),r&&n.type&Kwt.VERT_LINE_TO&&(n.type=Kwt.LINE_TO,n.x=n.relative?0:i),t&&n.type&Kwt.CLOSE_PATH&&(n.type=Kwt.LINE_TO,n.x=n.relative?s-i:s,n.y=n.relative?a-o:a),n.type&Kwt.ARC&&(0===n.rX||0===n.rY)&&(n.type=Kwt.LINE_TO,delete n.rX,delete n.rY,delete n.xRot,delete n.lArcFlag,delete n.sweepFlag),n}))},t.NORMALIZE_ST=r,t.QT_TO_C=n,t.INFO=i,t.SANITIZE=function(t){void 0===t&&(t=0),Twt(t);var e=NaN,r=NaN,n=NaN,o=NaN;return i((function(i,s,a,l,u){var h=Math.abs,c=!1,A=0,f=0;if(i.type&Kwt.SMOOTH_CURVE_TO&&(A=isNaN(e)?0:s-e,f=isNaN(r)?0:a-r),i.type&(Kwt.CURVE_TO|Kwt.SMOOTH_CURVE_TO)?(e=i.relative?s+i.x2:i.x2,r=i.relative?a+i.y2:i.y2):(e=NaN,r=NaN),i.type&Kwt.SMOOTH_QUAD_TO?(n=isNaN(n)?s:2*s-n,o=isNaN(o)?a:2*a-o):i.type&Kwt.QUAD_TO?(n=i.relative?s+i.x1:i.x1,o=i.relative?a+i.y1:i.y2):(n=NaN,o=NaN),i.type&Kwt.LINE_COMMANDS||i.type&Kwt.ARC&&(0===i.rX||0===i.rY||!i.lArcFlag)||i.type&Kwt.CURVE_TO||i.type&Kwt.SMOOTH_CURVE_TO||i.type&Kwt.QUAD_TO||i.type&Kwt.SMOOTH_QUAD_TO){var p=void 0===i.x?0:i.relative?i.x:i.x-s,d=void 0===i.y?0:i.relative?i.y:i.y-a;A=isNaN(n)?void 0===i.x1?A:i.relative?i.x:i.x1-s:n-s,f=isNaN(o)?void 0===i.y1?f:i.relative?i.y:i.y1-a:o-a;var g=void 0===i.x2?0:i.relative?i.x:i.x2-s,y=void 0===i.y2?0:i.relative?i.y:i.y2-a;h(p)<=t&&h(d)<=t&&h(A)<=t&&h(f)<=t&&h(g)<=t&&h(y)<=t&&(c=!0)}return i.type&Kwt.CLOSE_PATH&&h(s-l)<=t&&h(a-u)<=t&&(c=!0),c?[]:i}))},t.MATRIX=o,t.ROTATE=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=0),Twt(t,e,r);var n=Math.sin(t),i=Math.cos(t);return o(i,n,-n,i,e-e*i+r*n,r-e*n-r*i)},t.TRANSLATE=function(t,e){return void 0===e&&(e=0),Twt(t,e),o(1,0,0,1,t,e)},t.SCALE=function(t,e){return void 0===e&&(e=t),Twt(t,e),o(t,0,0,e,0,0)},t.SKEW_X=function(t){return Twt(t),o(1,0,Math.atan(t),1,0,0)},t.SKEW_Y=function(t){return Twt(t),o(1,Math.atan(t),0,1,0,0)},t.X_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),Twt(t),o(-1,0,0,1,t,0)},t.Y_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),Twt(t),o(1,0,0,-1,0,t)},t.A_TO_C=function(){return i((function(t,e,r){return Kwt.ARC===t.type?function(t,e,r){var n,i,o,s;t.cX||Lwt(t,e,r);for(var a=Math.min(t.phi1,t.phi2),l=Math.max(t.phi1,t.phi2)-a,u=Math.ceil(l/90),h=new Array(u),c=e,A=r,f=0;f<u;f++){var p=Rwt(t.phi1,t.phi2,f/u),d=Rwt(t.phi1,t.phi2,(f+1)/u),g=d-p,y=4/3*Math.tan(g*Nwt/4),m=[Math.cos(p*Nwt)-y*Math.sin(p*Nwt),Math.sin(p*Nwt)+y*Math.cos(p*Nwt)],v=m[0],_=m[1],w=[Math.cos(d*Nwt),Math.sin(d*Nwt)],b=w[0],x=w[1],C=[b+y*Math.sin(d*Nwt),x-y*Math.cos(d*Nwt)],S=C[0],E=C[1];h[f]={relative:t.relative,type:Kwt.CURVE_TO};var B=function(e,r){var n=Fwt([e*t.rX,r*t.rY],t.xRot),i=n[0],o=n[1];return[t.cX+i,t.cY+o]};n=B(v,_),h[f].x1=n[0],h[f].y1=n[1],i=B(S,E),h[f].x2=i[0],h[f].y2=i[1],o=B(b,x),h[f].x=o[0],h[f].y=o[1],t.relative&&(h[f].x1-=c,h[f].y1-=A,h[f].x2-=c,h[f].y2-=A,h[f].x-=c,h[f].y-=A),c=(s=[h[f].x,h[f].y])[0],A=s[1]}return h}(t,t.relative?0:e,t.relative?0:r):t}))},t.ANNOTATE_ARCS=function(){return i((function(t,e,r){return t.relative&&(e=0,r=0),Kwt.ARC===t.type&&Lwt(t,e,r),t}))},t.CLONE=function(){return function(t){var e={};for(var r in t)e[r]=t[r];return e}},t.CALCULATE_BOUNDS=function(){var t=e(),o=n(),s=r(),a=i((function(e,r,n){var i=s(o(t(function(t){var e={};for(var r in t)e[r]=t[r];return e}(e))));function l(t){t>a.maxX&&(a.maxX=t),t<a.minX&&(a.minX=t)}function u(t){t>a.maxY&&(a.maxY=t),t<a.minY&&(a.minY=t)}if(i.type&Kwt.DRAWING_COMMANDS&&(l(r),u(n)),i.type&Kwt.HORIZ_LINE_TO&&l(i.x),i.type&Kwt.VERT_LINE_TO&&u(i.y),i.type&Kwt.LINE_TO&&(l(i.x),u(i.y)),i.type&Kwt.CURVE_TO){l(i.x),u(i.y);for(var h=0,c=Dwt(r,i.x1,i.x2,i.x);h<c.length;h++)0<(B=c[h])&&1>B&&l(Qwt(r,i.x1,i.x2,i.x,B));for(var A=0,f=Dwt(n,i.y1,i.y2,i.y);A<f.length;A++)0<(B=f[A])&&1>B&&u(Qwt(n,i.y1,i.y2,i.y,B))}if(i.type&Kwt.ARC){l(i.x),u(i.y),Lwt(i,r,n);for(var p=i.xRot/180*Math.PI,d=Math.cos(p)*i.rX,g=Math.sin(p)*i.rX,y=-Math.sin(p)*i.rY,m=Math.cos(p)*i.rY,v=i.phi1<i.phi2?[i.phi1,i.phi2]:-180>i.phi2?[i.phi2+360,i.phi1+360]:[i.phi2,i.phi1],_=v[0],w=v[1],b=function(t){var e=t[0],r=t[1],n=180*Math.atan2(r,e)/Math.PI;return n<_?n+360:n},x=0,C=kwt(y,-d,0).map(b);x<C.length;x++)(B=C[x])>_&&B<w&&l(Uwt(i.cX,d,y,B));for(var S=0,E=kwt(m,-g,0).map(b);S<E.length;S++){var B;(B=E[S])>_&&B<w&&u(Uwt(i.cY,g,m,B))}}return e}));return a.minX=1/0,a.maxX=-1/0,a.minY=1/0,a.maxY=-1/0,a}}(Owt||(Owt={}));var Gwt,jwt=function(){function t(){}return t.prototype.round=function(t){return this.transform(Owt.ROUND(t))},t.prototype.toAbs=function(){return this.transform(Owt.TO_ABS())},t.prototype.toRel=function(){return this.transform(Owt.TO_REL())},t.prototype.normalizeHVZ=function(t,e,r){return this.transform(Owt.NORMALIZE_HVZ(t,e,r))},t.prototype.normalizeST=function(){return this.transform(Owt.NORMALIZE_ST())},t.prototype.qtToC=function(){return this.transform(Owt.QT_TO_C())},t.prototype.aToC=function(){return this.transform(Owt.A_TO_C())},t.prototype.sanitize=function(t){return this.transform(Owt.SANITIZE(t))},t.prototype.translate=function(t,e){return this.transform(Owt.TRANSLATE(t,e))},t.prototype.scale=function(t,e){return this.transform(Owt.SCALE(t,e))},t.prototype.rotate=function(t,e,r){return this.transform(Owt.ROTATE(t,e,r))},t.prototype.matrix=function(t,e,r,n,i,o){return this.transform(Owt.MATRIX(t,e,r,n,i,o))},t.prototype.skewX=function(t){return this.transform(Owt.SKEW_X(t))},t.prototype.skewY=function(t){return this.transform(Owt.SKEW_Y(t))},t.prototype.xSymmetry=function(t){return this.transform(Owt.X_AXIS_SYMMETRY(t))},t.prototype.ySymmetry=function(t){return this.transform(Owt.Y_AXIS_SYMMETRY(t))},t.prototype.annotateArcs=function(){return this.transform(Owt.ANNOTATE_ARCS())},t}(),Hwt=function(t){return" "===t||"\t"===t||"\r"===t||"\n"===t},zwt=function(t){return"0".charCodeAt(0)<=t.charCodeAt(0)&&t.charCodeAt(0)<="9".charCodeAt(0)},Vwt=function(t){function e(){var e=t.call(this)||this;return e.curNumber="",e.curCommandType=-1,e.curCommandRelative=!1,e.canParseCommandOrComma=!0,e.curNumberHasExp=!1,e.curNumberHasExpDigits=!1,e.curNumberHasDecimal=!1,e.curArgs=[],e}return Pwt(e,t),e.prototype.finish=function(t){if(void 0===t&&(t=[]),this.parse(" ",t),0!==this.curArgs.length||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return t},e.prototype.parse=function(t,e){var r=this;void 0===e&&(e=[]);for(var n=function(t){e.push(t),r.curArgs.length=0,r.canParseCommandOrComma=!0},i=0;i<t.length;i++){var o=t[i],s=!(this.curCommandType!==Kwt.ARC||3!==this.curArgs.length&&4!==this.curArgs.length||1!==this.curNumber.length||"0"!==this.curNumber&&"1"!==this.curNumber),a=zwt(o)&&("0"===this.curNumber&&"0"===o||s);if(!zwt(o)||a)if("e"!==o&&"E"!==o)if("-"!==o&&"+"!==o||!this.curNumberHasExp||this.curNumberHasExpDigits)if("."!==o||this.curNumberHasExp||this.curNumberHasDecimal||s){if(this.curNumber&&-1!==this.curCommandType){var l=Number(this.curNumber);if(isNaN(l))throw new SyntaxError("Invalid number ending at "+i);if(this.curCommandType===Kwt.ARC)if(0===this.curArgs.length||1===this.curArgs.length){if(0>l)throw new SyntaxError('Expected positive number, got "'+l+'" at index "'+i+'"')}else if((3===this.curArgs.length||4===this.curArgs.length)&&"0"!==this.curNumber&&"1"!==this.curNumber)throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+i+'"');this.curArgs.push(l),this.curArgs.length===qwt[this.curCommandType]&&(Kwt.HORIZ_LINE_TO===this.curCommandType?n({type:Kwt.HORIZ_LINE_TO,relative:this.curCommandRelative,x:l}):Kwt.VERT_LINE_TO===this.curCommandType?n({type:Kwt.VERT_LINE_TO,relative:this.curCommandRelative,y:l}):this.curCommandType===Kwt.MOVE_TO||this.curCommandType===Kwt.LINE_TO||this.curCommandType===Kwt.SMOOTH_QUAD_TO?(n({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),Kwt.MOVE_TO===this.curCommandType&&(this.curCommandType=Kwt.LINE_TO)):this.curCommandType===Kwt.CURVE_TO?n({type:Kwt.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===Kwt.SMOOTH_CURVE_TO?n({type:Kwt.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===Kwt.QUAD_TO?n({type:Kwt.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===Kwt.ARC&&n({type:Kwt.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!Hwt(o))if(","===o&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if("+"!==o&&"-"!==o&&"."!==o)if(a)this.curNumber=o,this.curNumberHasDecimal=!1;else{if(0!==this.curArgs.length)throw new SyntaxError("Unterminated command at index "+i+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+o+'" at index '+i+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,"z"!==o&&"Z"!==o)if("h"===o||"H"===o)this.curCommandType=Kwt.HORIZ_LINE_TO,this.curCommandRelative="h"===o;else if("v"===o||"V"===o)this.curCommandType=Kwt.VERT_LINE_TO,this.curCommandRelative="v"===o;else if("m"===o||"M"===o)this.curCommandType=Kwt.MOVE_TO,this.curCommandRelative="m"===o;else if("l"===o||"L"===o)this.curCommandType=Kwt.LINE_TO,this.curCommandRelative="l"===o;else if("c"===o||"C"===o)this.curCommandType=Kwt.CURVE_TO,this.curCommandRelative="c"===o;else if("s"===o||"S"===o)this.curCommandType=Kwt.SMOOTH_CURVE_TO,this.curCommandRelative="s"===o;else if("q"===o||"Q"===o)this.curCommandType=Kwt.QUAD_TO,this.curCommandRelative="q"===o;else if("t"===o||"T"===o)this.curCommandType=Kwt.SMOOTH_QUAD_TO,this.curCommandRelative="t"===o;else{if("a"!==o&&"A"!==o)throw new SyntaxError('Unexpected character "'+o+'" at index '+i+".");this.curCommandType=Kwt.ARC,this.curCommandRelative="a"===o}else e.push({type:Kwt.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=o,this.curNumberHasDecimal="."===o}else this.curNumber+=o,this.curNumberHasDecimal=!0;else this.curNumber+=o;else this.curNumber+=o,this.curNumberHasExp=!0;else this.curNumber+=o,this.curNumberHasExpDigits=this.curNumberHasExp}return e},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(e,r){void 0===r&&(r=[]);for(var n=0,i=Object.getPrototypeOf(this).parse.call(this,e);n<i.length;n++){var o=i[n],s=t(o);Array.isArray(s)?r.push.apply(r,s):r.push(s)}return r}}})},e}(jwt),Kwt=function(t){function e(r){var n=t.call(this)||this;return n.commands="string"==typeof r?e.parse(r):r,n}return Pwt(e,t),e.prototype.encode=function(){return e.encode(this.commands)},e.prototype.getBounds=function(){var t=Owt.CALCULATE_BOUNDS();return this.transform(t),t},e.prototype.transform=function(t){for(var e=[],r=0,n=this.commands;r<n.length;r++){var i=t(n[r]);Array.isArray(i)?e.push.apply(e,i):e.push(i)}return this.commands=e,this},e.encode=function(t){return function(t){var e="";Array.isArray(t)||(t=[t]);for(var r=0;r<t.length;r++){var n=t[r];if(n.type===Kwt.CLOSE_PATH)e+="z";else if(n.type===Kwt.HORIZ_LINE_TO)e+=(n.relative?"h":"H")+n.x;else if(n.type===Kwt.VERT_LINE_TO)e+=(n.relative?"v":"V")+n.y;else if(n.type===Kwt.MOVE_TO)e+=(n.relative?"m":"M")+n.x+" "+n.y;else if(n.type===Kwt.LINE_TO)e+=(n.relative?"l":"L")+n.x+" "+n.y;else if(n.type===Kwt.CURVE_TO)e+=(n.relative?"c":"C")+n.x1+" "+n.y1+" "+n.x2+" "+n.y2+" "+n.x+" "+n.y;else if(n.type===Kwt.SMOOTH_CURVE_TO)e+=(n.relative?"s":"S")+n.x2+" "+n.y2+" "+n.x+" "+n.y;else if(n.type===Kwt.QUAD_TO)e+=(n.relative?"q":"Q")+n.x1+" "+n.y1+" "+n.x+" "+n.y;else if(n.type===Kwt.SMOOTH_QUAD_TO)e+=(n.relative?"t":"T")+n.x+" "+n.y;else{if(n.type!==Kwt.ARC)throw new Error('Unexpected command type "'+n.type+'" at index '+r+".");e+=(n.relative?"a":"A")+n.rX+" "+n.rY+" "+n.xRot+" "+ +n.lArcFlag+" "+ +n.sweepFlag+" "+n.x+" "+n.y}}return e}(t)},e.parse=function(t){var e=new Vwt,r=[];return e.parse(t,r),e.finish(r),r},e.CLOSE_PATH=1,e.MOVE_TO=2,e.HORIZ_LINE_TO=4,e.VERT_LINE_TO=8,e.LINE_TO=16,e.CURVE_TO=32,e.SMOOTH_CURVE_TO=64,e.QUAD_TO=128,e.SMOOTH_QUAD_TO=256,e.ARC=512,e.LINE_COMMANDS=e.LINE_TO|e.HORIZ_LINE_TO|e.VERT_LINE_TO,e.DRAWING_COMMANDS=e.HORIZ_LINE_TO|e.VERT_LINE_TO|e.LINE_TO|e.CURVE_TO|e.SMOOTH_CURVE_TO|e.QUAD_TO|e.SMOOTH_QUAD_TO|e.ARC,e}(jwt),qwt=((Gwt={})[Kwt.MOVE_TO]=2,Gwt[Kwt.LINE_TO]=2,Gwt[Kwt.HORIZ_LINE_TO]=1,Gwt[Kwt.VERT_LINE_TO]=1,Gwt[Kwt.CLOSE_PATH]=0,Gwt[Kwt.QUAD_TO]=4,Gwt[Kwt.SMOOTH_QUAD_TO]=2,Gwt[Kwt.CURVE_TO]=6,Gwt[Kwt.SMOOTH_CURVE_TO]=4,Gwt[Kwt.ARC]=7,Gwt),Wwt=eZ,Xwt=LJ,Ywt=RZ,Zwt=emt,Jwt=RegExp.prototype,$wt=V$.PROPER,tbt=j0,ebt=C$,rbt=K5,nbt=YY,ibt="toString",obt=RegExp.prototype,sbt=obt[ibt],abt=nbt((function(){return"/a/b"!==sbt.call({source:"a",flags:"b"})})),lbt=$wt&&sbt.name!==ibt;function ubt(t){return(ubt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}(abt||lbt)&&tbt(obt,ibt,(function(){var t=ebt(this);return"/"+rbt(t.source)+"/"+rbt(function(t){var e=t.flags;return void 0!==e||"flags"in Jwt||Xwt(t,"flags")||!Ywt(Jwt,t)?e:Wwt(Zwt,t)}(t))}),{unsafe:!0});var hbt=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],cbt=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24],Abt=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.r=0,this.g=0,this.b=0,this.a=0,this.next=null},fbt=Object.freeze({__proto__:null,offscreen:function(){var{DOMParser:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:t,createCanvas:(t,e)=>new OffscreenCanvas(t,e),createImage:t=>Zyt((function*(){var e=yield fetch(t),r=yield e.blob();return yield createImageBitmap(r)}))()};return"undefined"==typeof DOMParser&&void 0!==t||Reflect.deleteProperty(e,"DOMParser"),e},node:function(t){var{DOMParser:e,canvas:r,fetch:n}=t;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:e,fetch:n,createCanvas:r.createCanvas,createImage:r.loadImage}}});function pbt(t){return t.replace(/(?!\u3000)\s+/gm," ")}function dbt(t){return t.replace(/^[\n \t]+/,"")}function gbt(t){return t.replace(/[\n \t]+$/,"")}function ybt(t){return((t||"").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm)||[]).map(parseFloat)}var mbt=/^[A-Z-]+$/;function vbt(t){return mbt.test(t)?t.toLowerCase():t}function _bt(t){var e=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(t)||[];return e[2]||e[3]||e[4]}function wbt(t){if(!t.startsWith("rgb"))return t;var e=3;return t.replace(/\d+(\.\d+)?/g,((t,r)=>e--&&r?String(Math.round(parseFloat(t))):t))}var bbt=/(\[[^\]]+\])/g,xbt=/(#[^\s+>~.[:]+)/g,Cbt=/(\.[^\s+>~.[:]+)/g,Sbt=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,Ebt=/(:[\w-]+\([^)]*\))/gi,Bbt=/(:[^\s+>~.[:]+)/g,Ibt=/([^\s+>~.[:]+)/g;function Pbt(t,e){var r=e.exec(t);return r?[t.replace(e," "),r.length]:[t,0]}function Fbt(t){var e=[0,0,0],r=t.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),n=0;return[r,n]=Pbt(r,bbt),e[1]+=n,[r,n]=Pbt(r,xbt),e[0]+=n,[r,n]=Pbt(r,Cbt),e[1]+=n,[r,n]=Pbt(r,Sbt),e[2]+=n,[r,n]=Pbt(r,Ebt),e[1]+=n,[r,n]=Pbt(r,Bbt),e[1]+=n,r=r.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[r,n]=Pbt(r,Ibt),e[2]+=n,e.join("")}var Tbt=1e-8;function Mbt(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))}function Lbt(t,e){return(t[0]*e[0]+t[1]*e[1])/(Mbt(t)*Mbt(e))}function kbt(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(Lbt(t,e))}function Obt(t){return t*t*t}function Nbt(t){return 3*t*t*(1-t)}function Rbt(t){return 3*t*(1-t)*(1-t)}function Ubt(t){return(1-t)*(1-t)*(1-t)}function Dbt(t){return t*t}function Qbt(t){return 2*t*(1-t)}function Gbt(t){return(1-t)*(1-t)}class jbt{constructor(t,e,r){this.document=t,this.name=e,this.value=r,this.isNormalizedColor=!1}static empty(t){return new jbt(t,"EMPTY","")}split(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:" ",{document:e,name:r}=this;return pbt(this.getString()).trim().split(t).map((t=>new jbt(e,r,t)))}hasValue(t){var{value:e}=this;return null!==e&&""!==e&&(t||0!==e)&&void 0!==e}isString(t){var{value:e}=this,r="string"==typeof e;return r&&t?t.test(e):r}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;var t=this.getString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}setValue(t){return this.value=t,this}getValue(t){return void 0===t||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return void 0===t?0:parseFloat(t);var{value:e}=this,r=parseFloat(e);return this.isString(/%$/)&&(r/=100),r}getString(t){return void 0===t||this.hasValue()?void 0===this.value?"":String(this.value):String(t)}getColor(t){var e=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,e=wbt(e),this.value=e),e}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasValue())return 0;var[r,n]="boolean"==typeof t?[void 0,t]:[t],{viewPort:i}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(i.computeSize("x"),i.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(i.computeSize("x"),i.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*i.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*i.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return 15*this.getNumber();case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case this.isString(/%$/)&&n:return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*i.computeSize(r);default:var o=this.getNumber();return e&&o<1?o*i.computeSize(r):o}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():1e3*this.getNumber():0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){var t=this.getString(),e=/#([^)'"]+)/.exec(t);return e&&(e=e[1]),e||(e=t),this.document.definitions[e]}getFillStyleDefinition(t,e){var r=this.getDefinition();if(!r)return null;if("function"==typeof r.createGradient)return r.createGradient(this.document.ctx,t,e);if("function"==typeof r.createPattern){if(r.getHrefAttribute().hasValue()){var n=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),n.hasValue()&&r.getAttribute("patternTransform",!0).setValue(n.value)}return r.createPattern(this.document.ctx,t,e)}return null}getTextBaseline(){return this.hasValue()?jbt.textBaselineMapping[this.getString()]:null}addOpacity(t){for(var e=this.getColor(),r=e.length,n=0,i=0;i<r&&(","===e[i]&&n++,3!==n);i++);if(t.hasValue()&&this.isString()&&3!==n){var o=new Awt(e);o.ok&&(o.alpha=t.getNumber(),e=o.toRGBA())}return new jbt(this.document,this.name,e)}}jbt.textBaselineMapping={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};class Hbt{constructor(){this.viewPorts=[]}clear(){this.viewPorts=[]}setCurrent(t,e){this.viewPorts.push({width:t,height:e})}removeCurrent(){this.viewPorts.pop()}getCurrent(){var{viewPorts:t}=this;return t[t.length-1]}get width(){return this.getCurrent().width}get height(){return this.getCurrent().height}computeSize(t){return"number"==typeof t?t:"x"===t?this.width:"y"===t?this.height:Math.sqrt(Math.pow(this.width,2)+Math.pow(this.height,2))/Math.sqrt(2)}}class zbt{constructor(t,e){this.x=t,this.y=e}static parse(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,[r=e,n=e]=ybt(t);return new zbt(r,n)}static parseScale(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,[r=e,n=r]=ybt(t);return new zbt(r,n)}static parsePath(t){for(var e=ybt(t),r=e.length,n=[],i=0;i<r;i+=2)n.push(new zbt(e[i],e[i+1]));return n}angleTo(t){return Math.atan2(t.y-this.y,t.x-this.x)}applyTransform(t){var{x:e,y:r}=this,n=e*t[0]+r*t[2]+t[4],i=e*t[1]+r*t[3]+t[5];this.x=n,this.y=i}}class Vbt{constructor(t){this.screen=t,this.working=!1,this.events=[],this.eventElements=[],this.onClick=this.onClick.bind(this),this.onMouseMove=this.onMouseMove.bind(this)}isWorking(){return this.working}start(){if(!this.working){var{screen:t,onClick:e,onMouseMove:r}=this,n=t.ctx.canvas;n.onclick=e,n.onmousemove=r,this.working=!0}}stop(){if(this.working){var t=this.screen.ctx.canvas;this.working=!1,t.onclick=null,t.onmousemove=null}}hasEvents(){return this.working&&this.events.length>0}runEvents(){if(this.working){var{screen:t,events:e,eventElements:r}=this,{style:n}=t.ctx.canvas;n&&(n.cursor=""),e.forEach(((t,e)=>{for(var{run:n}=t,i=r[e];i;)n(i),i=i.parent})),this.events=[],this.eventElements=[]}}checkPath(t,e){if(this.working&&e){var{events:r,eventElements:n}=this;r.forEach(((r,i)=>{var{x:o,y:s}=r;!n[i]&&e.isPointInPath&&e.isPointInPath(o,s)&&(n[i]=t)}))}}checkBoundingBox(t,e){if(this.working&&e){var{events:r,eventElements:n}=this;r.forEach(((r,i)=>{var{x:o,y:s}=r;!n[i]&&e.isPointInBox(o,s)&&(n[i]=t)}))}}mapXY(t,e){for(var{window:r,ctx:n}=this.screen,i=new zbt(t,e),o=n.canvas;o;)i.x-=o.offsetLeft,i.y-=o.offsetTop,o=o.offsetParent;return r.scrollX&&(i.x+=r.scrollX),r.scrollY&&(i.y+=r.scrollY),i}onClick(t){var{x:e,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onclick",x:e,y:r,run(t){t.onClick&&t.onClick()}})}onMouseMove(t){var{x:e,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onmousemove",x:e,y:r,run(t){t.onMouseMove&&t.onMouseMove()}})}}var Kbt="undefined"!=typeof window?window:null,qbt="undefined"!=typeof fetch?fetch.bind(void 0):null;class Wbt{constructor(t){var{fetch:e=qbt,window:r=Kbt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.ctx=t,this.FRAMERATE=30,this.MAX_VIRTUAL_PIXELS=3e4,this.CLIENT_WIDTH=800,this.CLIENT_HEIGHT=600,this.viewPort=new Hbt,this.mouse=new Vbt(this),this.animations=[],this.waits=[],this.frameDuration=0,this.isReadyLock=!1,this.isFirstRender=!0,this.intervalId=null,this.window=r,this.fetch=e}wait(t){this.waits.push(t)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;var t=this.waits.every((t=>t()));return t&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=t,t}setDefaults(t){t.strokeStyle="rgba(0,0,0,0)",t.lineCap="butt",t.lineJoin="miter",t.miterLimit=4}setViewBox(t){var{document:e,ctx:r,aspectRatio:n,width:i,desiredWidth:o,height:s,desiredHeight:a,minX:l=0,minY:u=0,refX:h,refY:c,clip:A=!1,clipX:f=0,clipY:p=0}=t,d=pbt(n).replace(/^defer\s/,""),[g,y]=d.split(" "),m=g||"xMidYMid",v=y||"meet",_=i/o,w=s/a,b=Math.min(_,w),x=Math.max(_,w),C=o,S=a;"meet"===v&&(C*=b,S*=b),"slice"===v&&(C*=x,S*=x);var E=new jbt(e,"refX",h),B=new jbt(e,"refY",c),I=E.hasValue()&&B.hasValue();if(I&&r.translate(-b*E.getPixels("x"),-b*B.getPixels("y")),A){var P=b*f,F=b*p;r.beginPath(),r.moveTo(P,F),r.lineTo(i,F),r.lineTo(i,s),r.lineTo(P,s),r.closePath(),r.clip()}if(!I){var T="meet"===v&&b===w,M="slice"===v&&x===w,L="meet"===v&&b===_,k="slice"===v&&x===_;m.startsWith("xMid")&&(T||M)&&r.translate(i/2-C/2,0),m.endsWith("YMid")&&(L||k)&&r.translate(0,s/2-S/2),m.startsWith("xMax")&&(T||M)&&r.translate(i-C,0),m.endsWith("YMax")&&(L||k)&&r.translate(0,s-S)}switch(!0){case"none"===m:r.scale(_,w);break;case"meet"===v:r.scale(b,b);break;case"slice"===v:r.scale(x,x)}r.translate(-l,-u)}start(t){var{enableRedraw:e=!1,ignoreMouse:r=!1,ignoreAnimation:n=!1,ignoreDimensions:i=!1,ignoreClear:o=!1,forceRedraw:s,scaleWidth:a,scaleHeight:l,offsetX:u,offsetY:h}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{FRAMERATE:c,mouse:A}=this,f=1e3/c;if(this.frameDuration=f,this.readyPromise=new Promise((t=>{this.resolveReady=t})),this.isReady()&&this.render(t,i,o,a,l,u,h),e){var p=Date.now(),d=p,g=0,y=()=>{p=Date.now(),(g=p-d)>=f&&(d=p-g%f,this.shouldUpdate(n,s)&&(this.render(t,i,o,a,l,u,h),A.runEvents())),this.intervalId=hwt(y)};r||A.start(),this.intervalId=hwt(y)}}stop(){this.intervalId&&(hwt.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,e){if(!t){var{frameDuration:r}=this;if(this.animations.reduce(((t,e)=>e.update(r)||t),!1))return!0}return!("function"!=typeof e||!e())||!(this.isReadyLock||!this.isReady())||!!this.mouse.hasEvents()}render(t,e,r,n,i,o,s){var{CLIENT_WIDTH:a,CLIENT_HEIGHT:l,viewPort:u,ctx:h,isFirstRender:c}=this,A=h.canvas;u.clear(),A.width&&A.height?u.setCurrent(A.width,A.height):u.setCurrent(a,l);var f=t.getStyle("width"),p=t.getStyle("height");!e&&(c||"number"!=typeof n&&"number"!=typeof i)&&(f.hasValue()&&(A.width=f.getPixels("x"),A.style&&(A.style.width="".concat(A.width,"px"))),p.hasValue()&&(A.height=p.getPixels("y"),A.style&&(A.style.height="".concat(A.height,"px"))));var d=A.clientWidth||A.width,g=A.clientHeight||A.height;if(e&&f.hasValue()&&p.hasValue()&&(d=f.getPixels("x"),g=p.getPixels("y")),u.setCurrent(d,g),"number"==typeof o&&t.getAttribute("x",!0).setValue(o),"number"==typeof s&&t.getAttribute("y",!0).setValue(s),"number"==typeof n||"number"==typeof i){var y=ybt(t.getAttribute("viewBox").getString()),m=0,v=0;if("number"==typeof n){var _=t.getStyle("width");_.hasValue()?m=_.getPixels("x")/n:isNaN(y[2])||(m=y[2]/n)}if("number"==typeof i){var w=t.getStyle("height");w.hasValue()?v=w.getPixels("y")/i:isNaN(y[3])||(v=y[3]/i)}m||(m=v),v||(v=m),t.getAttribute("width",!0).setValue(n),t.getAttribute("height",!0).setValue(i);var b=t.getStyle("transform",!0,!0);b.setValue("".concat(b.getString()," scale(").concat(1/m,", ").concat(1/v,")"))}r||h.clearRect(0,0,d,g),t.render(h),c&&(this.isFirstRender=!1)}}Wbt.defaultWindow=Kbt,Wbt.defaultFetch=qbt;var{defaultFetch:Xbt}=Wbt,Ybt="undefined"!=typeof DOMParser?DOMParser:null;class Zbt{constructor(){var{fetch:t=Xbt,DOMParser:e=Ybt}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fetch=t,this.DOMParser=e}parse(t){var e=this;return Zyt((function*(){return t.startsWith("<")?e.parseFromString(t):e.load(t)}))()}parseFromString(t){var e=new this.DOMParser;try{return this.checkDocument(e.parseFromString(t,"image/svg+xml"))}catch(r){return this.checkDocument(e.parseFromString(t,"text/xml"))}}checkDocument(t){var e=t.getElementsByTagName("parsererror")[0];if(e)throw new Error(e.textContent);return t}load(t){var e=this;return Zyt((function*(){var r=yield e.fetch(t),n=yield r.text();return e.parseFromString(n)}))()}}class Jbt{constructor(t,e){this.type="translate",this.point=null,this.point=zbt.parse(e)}apply(t){var{x:e,y:r}=this.point;t.translate(e||0,r||0)}unapply(t){var{x:e,y:r}=this.point;t.translate(-1*e||0,-1*r||0)}applyToPoint(t){var{x:e,y:r}=this.point;t.applyTransform([1,0,0,1,e||0,r||0])}}class $bt{constructor(t,e,r){this.type="rotate",this.angle=null,this.originX=null,this.originY=null,this.cx=0,this.cy=0;var n=ybt(e);this.angle=new jbt(t,"angle",n[0]),this.originX=r[0],this.originY=r[1],this.cx=n[1]||0,this.cy=n[2]||0}apply(t){var{cx:e,cy:r,originX:n,originY:i,angle:o}=this,s=e+n.getPixels("x"),a=r+i.getPixels("y");t.translate(s,a),t.rotate(o.getRadians()),t.translate(-s,-a)}unapply(t){var{cx:e,cy:r,originX:n,originY:i,angle:o}=this,s=e+n.getPixels("x"),a=r+i.getPixels("y");t.translate(s,a),t.rotate(-1*o.getRadians()),t.translate(-s,-a)}applyToPoint(t){var{cx:e,cy:r,angle:n}=this,i=n.getRadians();t.applyTransform([1,0,0,1,e||0,r||0]),t.applyTransform([Math.cos(i),Math.sin(i),-Math.sin(i),Math.cos(i),0,0]),t.applyTransform([1,0,0,1,-e||0,-r||0])}}class txt{constructor(t,e,r){this.type="scale",this.scale=null,this.originX=null,this.originY=null;var n=zbt.parseScale(e);0!==n.x&&0!==n.y||(n.x=Tbt,n.y=Tbt),this.scale=n,this.originX=r[0],this.originY=r[1]}apply(t){var{scale:{x:e,y:r},originX:n,originY:i}=this,o=n.getPixels("x"),s=i.getPixels("y");t.translate(o,s),t.scale(e,r||e),t.translate(-o,-s)}unapply(t){var{scale:{x:e,y:r},originX:n,originY:i}=this,o=n.getPixels("x"),s=i.getPixels("y");t.translate(o,s),t.scale(1/e,1/r||e),t.translate(-o,-s)}applyToPoint(t){var{x:e,y:r}=this.scale;t.applyTransform([e||0,0,0,r||0,0,0])}}class ext{constructor(t,e,r){this.type="matrix",this.matrix=[],this.originX=null,this.originY=null,this.matrix=ybt(e),this.originX=r[0],this.originY=r[1]}apply(t){var{originX:e,originY:r,matrix:n}=this,i=e.getPixels("x"),o=r.getPixels("y");t.translate(i,o),t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),t.translate(-i,-o)}unapply(t){var{originX:e,originY:r,matrix:n}=this,i=n[0],o=n[2],s=n[4],a=n[1],l=n[3],u=n[5],h=1/(i*(1*l-0*u)-o*(1*a-0*u)+s*(0*a-0*l)),c=e.getPixels("x"),A=r.getPixels("y");t.translate(c,A),t.transform(h*(1*l-0*u),h*(0*u-1*a),h*(0*s-1*o),h*(1*i-0*s),h*(o*u-s*l),h*(s*a-i*u)),t.translate(-c,-A)}applyToPoint(t){t.applyTransform(this.matrix)}}class rxt extends ext{constructor(t,e,r){super(t,e,r),this.type="skew",this.angle=null,this.angle=new jbt(t,"angle",e)}}class nxt extends rxt{constructor(t,e,r){super(t,e,r),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class ixt extends rxt{constructor(t,e,r){super(t,e,r),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}class oxt{constructor(t,e,r){this.document=t,this.transforms=[];var n=function(t){return pbt(t).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}(e);n.forEach((t=>{if("none"!==t){var[e,n]=function(t){var[e,r]=t.split("(");return[e.trim(),r.trim().replace(")","")]}(t),i=oxt.transformTypes[e];void 0!==i&&this.transforms.push(new i(this.document,n,r))}}))}static fromElement(t,e){var r=e.getStyle("transform",!1,!0),[n,i=n]=e.getStyle("transform-origin",!1,!0).split(),o=[n,i];return r.hasValue()?new oxt(t,r.getString(),o):null}apply(t){for(var{transforms:e}=this,r=e.length,n=0;n<r;n++)e[n].apply(t)}unapply(t){for(var{transforms:e}=this,r=e.length-1;r>=0;r--)e[r].unapply(t)}applyToPoint(t){for(var{transforms:e}=this,r=e.length,n=0;n<r;n++)e[n].applyToPoint(t)}}oxt.transformTypes={translate:Jbt,rotate:$bt,scale:txt,matrix:ext,skewX:nxt,skewY:ixt};let sxt=class t{constructor(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.document=t,this.node=e,this.captureTextNodes=r,this.attributes={},this.styles={},this.stylesSpecificity={},this.animationFrozen=!1,this.animationFrozenValue="",this.parent=null,this.children=[],e&&1===e.nodeType){Array.from(e.attributes).forEach((e=>{var r=vbt(e.nodeName);this.attributes[r]=new jbt(t,r,e.value)})),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()&&this.getAttribute("style").getString().split(";").map((t=>t.trim())).forEach((e=>{if(e){var[r,n]=e.split(":").map((t=>t.trim()));this.styles[r]=new jbt(t,r,n)}}));var{definitions:n}=t,i=this.getAttribute("id");i.hasValue()&&(n[i.getString()]||(n[i.getString()]=this)),Array.from(e.childNodes).forEach((e=>{if(1===e.nodeType)this.addChild(e);else if(r&&(3===e.nodeType||4===e.nodeType)){var n=t.createTextNode(e);n.getText().length>0&&this.addChild(n)}}))}}getAttribute(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.attributes[t];if(!r&&e){var n=new jbt(this.document,t,"");return this.attributes[t]=n,n}return r||jbt.empty(this.document)}getHrefAttribute(){for(var t in this.attributes)if("href"===t||t.endsWith(":href"))return this.attributes[t];return jbt.empty(this.document)}getStyle(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.styles[t];if(n)return n;var i=this.getAttribute(t);if(null!=i&&i.hasValue())return this.styles[t]=i,i;if(!r){var{parent:o}=this;if(o){var s=o.getStyle(t);if(null!=s&&s.hasValue())return s}}if(e){var a=new jbt(this.document,t,"");return this.styles[t]=a,a}return n||jbt.empty(this.document)}render(t){if("none"!==this.getStyle("display").getString()&&"hidden"!==this.getStyle("visibility").getString()){if(t.save(),this.getStyle("mask").hasValue()){var e=this.getStyle("mask").getDefinition();e&&(this.applyEffects(t),e.apply(t,this))}else if("none"!==this.getStyle("filter").getValue("none")){var r=this.getStyle("filter").getDefinition();r&&(this.applyEffects(t),r.apply(t,this))}else this.setContext(t),this.renderChildren(t),this.clearContext(t);t.restore()}}setContext(t){}applyEffects(t){var e=oxt.fromElement(this.document,this);e&&e.apply(t);var r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){var n=r.getDefinition();n&&n.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach((e=>{e.render(t)}))}addChild(e){var r=e instanceof t?e:this.document.createElement(e);r.parent=this,t.ignoreChildTypes.includes(r.type)||this.children.push(r)}matchesSelector(t){var e,{node:r}=this;if("function"==typeof r.matches)return r.matches(t);var n=null===(e=r.getAttribute)||void 0===e?void 0:e.call(r,"class");return!(!n||""===n)&&n.split(" ").some((e=>".".concat(e)===t))}addStylesFromStyleDefinition(){var{styles:t,stylesSpecificity:e}=this.document;for(var r in t)if(!r.startsWith("@")&&this.matchesSelector(r)){var n=t[r],i=e[r];if(n)for(var o in n){var s=this.stylesSpecificity[o];void 0===s&&(s="000"),i>=s&&(this.styles[o]=n[o],this.stylesSpecificity[o]=i)}}}removeStyles(t,e){return e.reduce(((e,r)=>{var n=t.getStyle(r);if(!n.hasValue())return e;var i=n.getString();return n.setValue(""),[...e,[r,i]]}),[])}restoreStyles(t,e){e.forEach((e=>{var[r,n]=e;t.getStyle(r,!0).setValue(n)}))}isFirstChild(){var t;return 0===(null===(t=this.parent)||void 0===t?void 0:t.children.indexOf(this))}};sxt.ignoreChildTypes=["title"];class axt extends sxt{constructor(t,e,r){super(t,e,r)}}function lxt(t){var e=t.trim();return/^('|")/.test(e)?e:'"'.concat(e,'"')}function uxt(t){if(!t)return"";var e=t.trim().toLowerCase();switch(e){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return e;default:return/^oblique\s+(-|)\d+deg$/.test(e)?e:""}}function hxt(t){if(!t)return"";var e=t.trim().toLowerCase();switch(e){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return e;default:return/^[\d.]+$/.test(e)?e:""}}class cxt{constructor(t,e,r,n,i,o){var s=o?"string"==typeof o?cxt.parse(o):o:{};this.fontFamily=i||s.fontFamily,this.fontSize=n||s.fontSize,this.fontStyle=t||s.fontStyle,this.fontWeight=r||s.fontWeight,this.fontVariant=e||s.fontVariant}static parse(){var t=arguments.length>1?arguments[1]:void 0,e="",r="",n="",i="",o="",s=pbt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").trim().split(" "),a={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return s.forEach((t=>{switch(!0){case!a.fontStyle&&cxt.styles.includes(t):"inherit"!==t&&(e=t),a.fontStyle=!0;break;case!a.fontVariant&&cxt.variants.includes(t):"inherit"!==t&&(r=t),a.fontStyle=!0,a.fontVariant=!0;break;case!a.fontWeight&&cxt.weights.includes(t):"inherit"!==t&&(n=t),a.fontStyle=!0,a.fontVariant=!0,a.fontWeight=!0;break;case!a.fontSize:"inherit"!==t&&([i]=t.split("/")),a.fontStyle=!0,a.fontVariant=!0,a.fontWeight=!0,a.fontSize=!0;break;default:"inherit"!==t&&(o+=t)}})),new cxt(e,r,n,i,o,t)}toString(){return[uxt(this.fontStyle),this.fontVariant,hxt(this.fontWeight),this.fontSize,(t=this.fontFamily,"undefined"==typeof process?t:t.trim().split(",").map(lxt).join(","))].join(" ").trim();var t}}cxt.styles="normal|italic|oblique|inherit",cxt.variants="normal|small-caps|inherit",cxt.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class Axt{constructor(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.NaN,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.NaN,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.NaN,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Number.NaN;this.x1=t,this.y1=e,this.x2=r,this.y2=n,this.addPoint(t,e),this.addPoint(r,n)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(t,e){void 0!==t&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),void 0!==e&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=e,this.y2=e),e<this.y1&&(this.y1=e),e>this.y2&&(this.y2=e))}addX(t){this.addPoint(t,null)}addY(t){this.addPoint(null,t)}addBoundingBox(t){if(t){var{x1:e,y1:r,x2:n,y2:i}=t;this.addPoint(e,r),this.addPoint(n,i)}}sumCubic(t,e,r,n,i){return Math.pow(1-t,3)*e+3*Math.pow(1-t,2)*t*r+3*(1-t)*Math.pow(t,2)*n+Math.pow(t,3)*i}bezierCurveAdd(t,e,r,n,i){var o=6*e-12*r+6*n,s=-3*e+9*r-9*n+3*i,a=3*r-3*e;if(0!==s){var l=Math.pow(o,2)-4*a*s;if(!(l<0)){var u=(-o+Math.sqrt(l))/(2*s);0<u&&u<1&&(t?this.addX(this.sumCubic(u,e,r,n,i)):this.addY(this.sumCubic(u,e,r,n,i)));var h=(-o-Math.sqrt(l))/(2*s);0<h&&h<1&&(t?this.addX(this.sumCubic(h,e,r,n,i)):this.addY(this.sumCubic(h,e,r,n,i)))}}else{if(0===o)return;var c=-a/o;0<c&&c<1&&(t?this.addX(this.sumCubic(c,e,r,n,i)):this.addY(this.sumCubic(c,e,r,n,i)))}}addBezierCurve(t,e,r,n,i,o,s,a){this.addPoint(t,e),this.addPoint(s,a),this.bezierCurveAdd(!0,t,r,i,s),this.bezierCurveAdd(!1,e,n,o,a)}addQuadraticCurve(t,e,r,n,i,o){var s=t+2/3*(r-t),a=e+2/3*(n-e),l=s+1/3*(i-t),u=a+1/3*(o-e);this.addBezierCurve(t,e,s,l,a,u,i,o)}isPointInBox(t,e){var{x1:r,y1:n,x2:i,y2:o}=this;return r<=t&&t<=i&&n<=e&&e<=o}}class fxt extends Kwt{constructor(t){super(t.replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"")),this.control=null,this.start=null,this.current=null,this.command=null,this.commands=this.commands,this.i=-1,this.previousCommand=null,this.points=[],this.angles=[]}reset(){this.i=-1,this.command=null,this.previousCommand=null,this.start=new zbt(0,0),this.control=new zbt(0,0),this.current=new zbt(0,0),this.points=[],this.angles=[]}isEnd(){var{i:t,commands:e}=this;return t>=e.length-1}next(){var t=this.commands[++this.i];return this.previousCommand=this.command,this.command=t,t}getPoint(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"x",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"y",r=new zbt(this.command[t],this.command[e]);return this.makeAbsolute(r)}getAsControlPoint(t,e){var r=this.getPoint(t,e);return this.control=r,r}getAsCurrentPoint(t,e){var r=this.getPoint(t,e);return this.current=r,r}getReflectedControlPoint(){var t=this.previousCommand.type;if(t!==Kwt.CURVE_TO&&t!==Kwt.SMOOTH_CURVE_TO&&t!==Kwt.QUAD_TO&&t!==Kwt.SMOOTH_QUAD_TO)return this.current;var{current:{x:e,y:r},control:{x:n,y:i}}=this;return new zbt(2*e-n,2*r-i)}makeAbsolute(t){if(this.command.relative){var{x:e,y:r}=this.current;t.x+=e,t.y+=r}return t}addMarker(t,e,r){var{points:n,angles:i}=this;r&&i.length>0&&!i[i.length-1]&&(i[i.length-1]=n[n.length-1].angleTo(r)),this.addMarkerAngle(t,e?e.angleTo(t):null)}addMarkerAngle(t,e){this.points.push(t),this.angles.push(e)}getMarkerPoints(){return this.points}getMarkerAngles(){for(var{angles:t}=this,e=t.length,r=0;r<e;r++)if(!t[r])for(var n=r+1;n<e;n++)if(t[n]){t[r]=t[n];break}return t}}class pxt extends sxt{constructor(){super(...arguments),this.modifiedEmSizeStack=!1}calculateOpacity(){for(var t=1,e=this;e;){var r=e.getStyle("opacity",!1,!0);r.hasValue(!0)&&(t*=r.getNumber()),e=e.parent}return t}setContext(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e){var r=this.getStyle("fill"),n=this.getStyle("fill-opacity"),i=this.getStyle("stroke"),o=this.getStyle("stroke-opacity");if(r.isUrlDefinition()){var s=r.getFillStyleDefinition(this,n);s&&(t.fillStyle=s)}else if(r.hasValue()){"currentColor"===r.getString()&&r.setValue(this.getStyle("color").getColor());var a=r.getColor();"inherit"!==a&&(t.fillStyle="none"===a?"rgba(0,0,0,0)":a)}if(n.hasValue()){var l=new jbt(this.document,"fill",t.fillStyle).addOpacity(n).getColor();t.fillStyle=l}if(i.isUrlDefinition()){var u=i.getFillStyleDefinition(this,o);u&&(t.strokeStyle=u)}else if(i.hasValue()){"currentColor"===i.getString()&&i.setValue(this.getStyle("color").getColor());var h=i.getString();"inherit"!==h&&(t.strokeStyle="none"===h?"rgba(0,0,0,0)":h)}if(o.hasValue()){var c=new jbt(this.document,"stroke",t.strokeStyle).addOpacity(o).getString();t.strokeStyle=c}var A=this.getStyle("stroke-width");if(A.hasValue()){var f=A.getPixels();t.lineWidth=f||Tbt}var p=this.getStyle("stroke-linecap"),d=this.getStyle("stroke-linejoin"),g=this.getStyle("stroke-miterlimit"),y=this.getStyle("stroke-dasharray"),m=this.getStyle("stroke-dashoffset");if(p.hasValue()&&(t.lineCap=p.getString()),d.hasValue()&&(t.lineJoin=d.getString()),g.hasValue()&&(t.miterLimit=g.getNumber()),y.hasValue()&&"none"!==y.getString()){var v=ybt(y.getString());void 0!==t.setLineDash?t.setLineDash(v):void 0!==t.webkitLineDash?t.webkitLineDash=v:void 0===t.mozDash||1===v.length&&0===v[0]||(t.mozDash=v);var _=m.getPixels();void 0!==t.lineDashOffset?t.lineDashOffset=_:void 0!==t.webkitLineDashOffset?t.webkitLineDashOffset=_:void 0!==t.mozDashOffset&&(t.mozDashOffset=_)}}if(this.modifiedEmSizeStack=!1,void 0!==t.font){var w=this.getStyle("font"),b=this.getStyle("font-style"),x=this.getStyle("font-variant"),C=this.getStyle("font-weight"),S=this.getStyle("font-size"),E=this.getStyle("font-family"),B=new cxt(b.getString(),x.getString(),C.getString(),S.hasValue()?"".concat(S.getPixels(!0),"px"):"",E.getString(),cxt.parse(w.getString(),t.font));b.setValue(B.fontStyle),x.setValue(B.fontVariant),C.setValue(B.fontWeight),S.setValue(B.fontSize),E.setValue(B.fontFamily),t.font=B.toString(),S.isPixels()&&(this.document.emSize=S.getPixels(),this.modifiedEmSizeStack=!0)}e||(this.applyEffects(t),t.globalAlpha=this.calculateOpacity())}clearContext(t){super.clearContext(t),this.modifiedEmSizeStack&&this.document.popEmSize()}}class dxt extends pxt{constructor(t,e,r){super(t,e,r),this.type="path",this.pathParser=null,this.pathParser=new fxt(this.getAttribute("d").getString())}path(t){var{pathParser:e}=this,r=new Axt;for(e.reset(),t&&t.beginPath();!e.isEnd();)switch(e.next().type){case fxt.MOVE_TO:this.pathM(t,r);break;case fxt.LINE_TO:this.pathL(t,r);break;case fxt.HORIZ_LINE_TO:this.pathH(t,r);break;case fxt.VERT_LINE_TO:this.pathV(t,r);break;case fxt.CURVE_TO:this.pathC(t,r);break;case fxt.SMOOTH_CURVE_TO:this.pathS(t,r);break;case fxt.QUAD_TO:this.pathQ(t,r);break;case fxt.SMOOTH_QUAD_TO:this.pathT(t,r);break;case fxt.ARC:this.pathA(t,r);break;case fxt.CLOSE_PATH:this.pathZ(t,r)}return r}getBoundingBox(t){return this.path()}getMarkers(){var{pathParser:t}=this,e=t.getMarkerPoints(),r=t.getMarkerAngles();return e.map(((t,e)=>[t,r[e]]))}renderChildren(t){this.path(t),this.document.screen.mouse.checkPath(this,t);var e=this.getStyle("fill-rule");""!==t.fillStyle&&("inherit"!==e.getString("inherit")?t.fill(e.getString()):t.fill()),""!==t.strokeStyle&&("non-scaling-stroke"===this.getAttribute("vector-effect").getString()?(t.save(),t.setTransform(1,0,0,1,0,0),t.stroke(),t.restore()):t.stroke());var r=this.getMarkers();if(r){var n=r.length-1,i=this.getStyle("marker-start"),o=this.getStyle("marker-mid"),s=this.getStyle("marker-end");if(i.isUrlDefinition()){var a=i.getDefinition(),[l,u]=r[0];a.render(t,l,u)}if(o.isUrlDefinition())for(var h=o.getDefinition(),c=1;c<n;c++){var[A,f]=r[c];h.render(t,A,f)}if(s.isUrlDefinition()){var p=s.getDefinition(),[d,g]=r[n];p.render(t,d,g)}}}static pathM(t){var e=t.getAsCurrentPoint();return t.start=t.current,{point:e}}pathM(t,e){var{pathParser:r}=this,{point:n}=dxt.pathM(r),{x:i,y:o}=n;r.addMarker(n),e.addPoint(i,o),t&&t.moveTo(i,o)}static pathL(t){var{current:e}=t;return{current:e,point:t.getAsCurrentPoint()}}pathL(t,e){var{pathParser:r}=this,{current:n,point:i}=dxt.pathL(r),{x:o,y:s}=i;r.addMarker(i,n),e.addPoint(o,s),t&&t.lineTo(o,s)}static pathH(t){var{current:e,command:r}=t,n=new zbt((r.relative?e.x:0)+r.x,e.y);return t.current=n,{current:e,point:n}}pathH(t,e){var{pathParser:r}=this,{current:n,point:i}=dxt.pathH(r),{x:o,y:s}=i;r.addMarker(i,n),e.addPoint(o,s),t&&t.lineTo(o,s)}static pathV(t){var{current:e,command:r}=t,n=new zbt(e.x,(r.relative?e.y:0)+r.y);return t.current=n,{current:e,point:n}}pathV(t,e){var{pathParser:r}=this,{current:n,point:i}=dxt.pathV(r),{x:o,y:s}=i;r.addMarker(i,n),e.addPoint(o,s),t&&t.lineTo(o,s)}static pathC(t){var{current:e}=t;return{current:e,point:t.getPoint("x1","y1"),controlPoint:t.getAsControlPoint("x2","y2"),currentPoint:t.getAsCurrentPoint()}}pathC(t,e){var{pathParser:r}=this,{current:n,point:i,controlPoint:o,currentPoint:s}=dxt.pathC(r);r.addMarker(s,o,i),e.addBezierCurve(n.x,n.y,i.x,i.y,o.x,o.y,s.x,s.y),t&&t.bezierCurveTo(i.x,i.y,o.x,o.y,s.x,s.y)}static pathS(t){var{current:e}=t;return{current:e,point:t.getReflectedControlPoint(),controlPoint:t.getAsControlPoint("x2","y2"),currentPoint:t.getAsCurrentPoint()}}pathS(t,e){var{pathParser:r}=this,{current:n,point:i,controlPoint:o,currentPoint:s}=dxt.pathS(r);r.addMarker(s,o,i),e.addBezierCurve(n.x,n.y,i.x,i.y,o.x,o.y,s.x,s.y),t&&t.bezierCurveTo(i.x,i.y,o.x,o.y,s.x,s.y)}static pathQ(t){var{current:e}=t;return{current:e,controlPoint:t.getAsControlPoint("x1","y1"),currentPoint:t.getAsCurrentPoint()}}pathQ(t,e){var{pathParser:r}=this,{current:n,controlPoint:i,currentPoint:o}=dxt.pathQ(r);r.addMarker(o,i,i),e.addQuadraticCurve(n.x,n.y,i.x,i.y,o.x,o.y),t&&t.quadraticCurveTo(i.x,i.y,o.x,o.y)}static pathT(t){var{current:e}=t,r=t.getReflectedControlPoint();return t.control=r,{current:e,controlPoint:r,currentPoint:t.getAsCurrentPoint()}}pathT(t,e){var{pathParser:r}=this,{current:n,controlPoint:i,currentPoint:o}=dxt.pathT(r);r.addMarker(o,i,i),e.addQuadraticCurve(n.x,n.y,i.x,i.y,o.x,o.y),t&&t.quadraticCurveTo(i.x,i.y,o.x,o.y)}static pathA(t){var{current:e,command:r}=t,{rX:n,rY:i,xRot:o,lArcFlag:s,sweepFlag:a}=r,l=o*(Math.PI/180),u=t.getAsCurrentPoint(),h=new zbt(Math.cos(l)*(e.x-u.x)/2+Math.sin(l)*(e.y-u.y)/2,-Math.sin(l)*(e.x-u.x)/2+Math.cos(l)*(e.y-u.y)/2),c=Math.pow(h.x,2)/Math.pow(n,2)+Math.pow(h.y,2)/Math.pow(i,2);c>1&&(n*=Math.sqrt(c),i*=Math.sqrt(c));var A=(s===a?-1:1)*Math.sqrt((Math.pow(n,2)*Math.pow(i,2)-Math.pow(n,2)*Math.pow(h.y,2)-Math.pow(i,2)*Math.pow(h.x,2))/(Math.pow(n,2)*Math.pow(h.y,2)+Math.pow(i,2)*Math.pow(h.x,2)));isNaN(A)&&(A=0);var f=new zbt(A*n*h.y/i,A*-i*h.x/n),p=new zbt((e.x+u.x)/2+Math.cos(l)*f.x-Math.sin(l)*f.y,(e.y+u.y)/2+Math.sin(l)*f.x+Math.cos(l)*f.y),d=kbt([1,0],[(h.x-f.x)/n,(h.y-f.y)/i]),g=[(h.x-f.x)/n,(h.y-f.y)/i],y=[(-h.x-f.x)/n,(-h.y-f.y)/i],m=kbt(g,y);return Lbt(g,y)<=-1&&(m=Math.PI),Lbt(g,y)>=1&&(m=0),{currentPoint:u,rX:n,rY:i,sweepFlag:a,xAxisRotation:l,centp:p,a1:d,ad:m}}pathA(t,e){var{pathParser:r}=this,{currentPoint:n,rX:i,rY:o,sweepFlag:s,xAxisRotation:a,centp:l,a1:u,ad:h}=dxt.pathA(r),c=1-s?1:-1,A=u+c*(h/2),f=new zbt(l.x+i*Math.cos(A),l.y+o*Math.sin(A));if(r.addMarkerAngle(f,A-c*Math.PI/2),r.addMarkerAngle(n,A-c*Math.PI),e.addPoint(n.x,n.y),t&&!isNaN(u)&&!isNaN(h)){var p=i>o?i:o,d=i>o?1:i/o,g=i>o?o/i:1;t.translate(l.x,l.y),t.rotate(a),t.scale(d,g),t.arc(0,0,p,u,u+h,Boolean(1-s)),t.scale(1/d,1/g),t.rotate(-a),t.translate(-l.x,-l.y)}}static pathZ(t){t.current=t.start}pathZ(t,e){dxt.pathZ(this.pathParser),t&&e.x1!==e.x2&&e.y1!==e.y2&&t.closePath()}}class gxt extends dxt{constructor(t,e,r){super(t,e,r),this.type="glyph",this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class yxt extends pxt{constructor(t,e,r){super(t,e,new.target===yxt||r),this.type="text",this.x=0,this.y=0,this.measureCache=-1}setContext(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super.setContext(t,e);var r=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();r&&(t.textBaseline=r)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(t){if("text"!==this.type)return this.getTElementBoundingBox(t);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t);var e=null;return this.children.forEach(((r,n)=>{var i=this.getChildBoundingBox(t,this,this,n);e?e.addBoundingBox(i):e=i})),e}getFontSize(){var{document:t,parent:e}=this,r=cxt.parse(t.ctx.font).fontSize;return e.getStyle("font-size").getNumber(r)}getTElementBoundingBox(t){var e=this.getFontSize();return new Axt(this.x,this.y-e,this.x+this.measureText(t),this.y)}getGlyph(t,e,r){var n=e[r],i=null;if(t.isArabic){var o=e.length,s=e[r-1],a=e[r+1],l="isolated";if((0===r||" "===s)&&r<o-1&&" "!==a&&(l="terminal"),r>0&&" "!==s&&r<o-1&&" "!==a&&(l="medial"),r>0&&" "!==s&&(r===o-1||" "===a)&&(l="initial"),void 0!==t.glyphs[n]){var u=t.glyphs[n];i=u instanceof gxt?u:u[l]}}else i=t.glyphs[n];return i||(i=t.missingGlyph),i}getText(){return""}getTextFromNode(t){var e=t||this.node,r=Array.from(e.parentNode.childNodes),n=r.indexOf(e),i=r.length-1,o=pbt(e.textContent||"");return 0===n&&(o=dbt(o)),n===i&&(o=gbt(o)),o}renderChildren(t){if("text"===this.type){this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t),this.children.forEach(((e,r)=>{this.renderChild(t,this,this,r)}));var{mouse:e}=this.document.screen;e.isWorking()&&e.checkBoundingBox(this,this.getBoundingBox(t))}else this.renderTElementChildren(t)}renderTElementChildren(t){var{document:e,parent:r}=this,n=this.getText(),i=r.getStyle("font-family").getDefinition();if(i)for(var{unitsPerEm:o}=i.fontFace,s=cxt.parse(e.ctx.font),a=r.getStyle("font-size").getNumber(s.fontSize),l=r.getStyle("font-style").getString(s.fontStyle),u=a/o,h=i.isRTL?n.split("").reverse().join(""):n,c=ybt(r.getAttribute("dx").getString()),A=h.length,f=0;f<A;f++){var p=this.getGlyph(i,h,f);t.translate(this.x,this.y),t.scale(u,-u);var d=t.lineWidth;t.lineWidth=t.lineWidth*o/a,"italic"===l&&t.transform(1,0,.4,1,0,0),p.render(t),"italic"===l&&t.transform(1,0,-.4,1,0,0),t.lineWidth=d,t.scale(1/u,-1/u),t.translate(-this.x,-this.y),this.x+=a*(p.horizAdvX||i.horizAdvX)/o,void 0===c[f]||isNaN(c[f])||(this.x+=c[f])}else{var{x:g,y:y}=this;t.fillStyle&&t.fillText(n,g,y),t.strokeStyle&&t.strokeText(n,g,y)}}applyAnchoring(){if(!(this.textChunkStart>=this.leafTexts.length)){var t,e=this.leafTexts[this.textChunkStart],r=e.getStyle("text-anchor").getString("start");t="start"===r?e.x-this.minX:"end"===r?e.x-this.maxX:e.x-(this.minX+this.maxX)/2;for(var n=this.textChunkStart;n<this.leafTexts.length;n++)this.leafTexts[n].x+=t;this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.textChunkStart=this.leafTexts.length}}adjustChildCoordinatesRecursive(t){this.children.forEach(((e,r)=>{this.adjustChildCoordinatesRecursiveCore(t,this,this,r)})),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(t,e,r,n){var i=r.children[n];i.children.length>0?i.children.forEach(((r,n)=>{e.adjustChildCoordinatesRecursiveCore(t,e,i,n)})):this.adjustChildCoordinates(t,e,r,n)}adjustChildCoordinates(t,e,r,n){var i=r.children[n];if("function"!=typeof i.measureText)return i;t.save(),i.setContext(t,!0);var o=i.getAttribute("x"),s=i.getAttribute("y"),a=i.getAttribute("dx"),l=i.getAttribute("dy"),u=i.getStyle("font-family").getDefinition(),h=Boolean(u)&&u.isRTL;0===n&&(o.hasValue()||o.setValue(i.getInheritedAttribute("x")),s.hasValue()||s.setValue(i.getInheritedAttribute("y")),a.hasValue()||a.setValue(i.getInheritedAttribute("dx")),l.hasValue()||l.setValue(i.getInheritedAttribute("dy")));var c=i.measureText(t);return h&&(e.x-=c),o.hasValue()?(e.applyAnchoring(),i.x=o.getPixels("x"),a.hasValue()&&(i.x+=a.getPixels("x"))):(a.hasValue()&&(e.x+=a.getPixels("x")),i.x=e.x),e.x=i.x,h||(e.x+=c),s.hasValue()?(i.y=s.getPixels("y"),l.hasValue()&&(i.y+=l.getPixels("y"))):(l.hasValue()&&(e.y+=l.getPixels("y")),i.y=e.y),e.y=i.y,e.leafTexts.push(i),e.minX=Math.min(e.minX,i.x,i.x+c),e.maxX=Math.max(e.maxX,i.x,i.x+c),i.clearContext(t),t.restore(),i}getChildBoundingBox(t,e,r,n){var i=r.children[n];if("function"!=typeof i.getBoundingBox)return null;var o=i.getBoundingBox(t);return o?(i.children.forEach(((r,n)=>{var s=e.getChildBoundingBox(t,e,i,n);o.addBoundingBox(s)})),o):null}renderChild(t,e,r,n){var i=r.children[n];i.render(t),i.children.forEach(((r,n)=>{e.renderChild(t,e,i,n)}))}measureText(t){var{measureCache:e}=this;if(~e)return e;var r=this.getText(),n=this.measureTargetText(t,r);return this.measureCache=n,n}measureTargetText(t,e){if(!e.length)return 0;var{parent:r}=this,n=r.getStyle("font-family").getDefinition();if(n){for(var i=this.getFontSize(),o=n.isRTL?e.split("").reverse().join(""):e,s=ybt(r.getAttribute("dx").getString()),a=o.length,l=0,u=0;u<a;u++)l+=(this.getGlyph(n,o,u).horizAdvX||n.horizAdvX)*i/n.fontFace.unitsPerEm,void 0===s[u]||isNaN(s[u])||(l+=s[u]);return l}if(!t.measureText)return 10*e.length;t.save(),this.setContext(t,!0);var{width:h}=t.measureText(e);return this.clearContext(t),t.restore(),h}getInheritedAttribute(t){for(var e=this;e instanceof yxt&&e.isFirstChild();){var r=e.parent.getAttribute(t);if(r.hasValue(!0))return r.getValue("0");e=e.parent}return null}}class mxt extends yxt{constructor(t,e,r){super(t,e,new.target===mxt||r),this.type="tspan",this.text=this.children.length>0?"":this.getTextFromNode()}getText(){return this.text}}class vxt extends mxt{constructor(){super(...arguments),this.type="textNode"}}class _xt extends pxt{constructor(){super(...arguments),this.type="svg",this.root=!1}setContext(t){var e,{document:r}=this,{screen:n,window:i}=r,o=t.canvas;if(n.setDefaults(t),o.style&&void 0!==t.font&&i&&void 0!==i.getComputedStyle){t.font=i.getComputedStyle(o).getPropertyValue("font");var s=new jbt(r,"fontSize",cxt.parse(t.font).fontSize);s.hasValue()&&(r.rootEmSize=s.getPixels("y"),r.emSize=r.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);var{width:a,height:l}=n.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");var u=this.getAttribute("refX"),h=this.getAttribute("refY"),c=this.getAttribute("viewBox"),A=c.hasValue()?ybt(c.getString()):null,f=!this.root&&"visible"!==this.getStyle("overflow").getValue("hidden"),p=0,d=0,g=0,y=0;A&&(p=A[0],d=A[1]),this.root||(a=this.getStyle("width").getPixels("x"),l=this.getStyle("height").getPixels("y"),"marker"===this.type&&(g=p,y=d,p=0,d=0)),n.viewPort.setCurrent(a,l),!this.node||this.parent&&"foreignObject"!==(null===(e=this.node.parentNode)||void 0===e?void 0:e.nodeName)||!this.getStyle("transform",!1,!0).hasValue()||this.getStyle("transform-origin",!1,!0).hasValue()||this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(t),t.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),A&&(a=A[2],l=A[3]),r.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:n.viewPort.width,desiredWidth:a,height:n.viewPort.height,desiredHeight:l,minX:p,minY:d,refX:u.getValue(),refY:h.getValue(),clip:f,clipX:g,clipY:y}),A&&(n.viewPort.removeCurrent(),n.viewPort.setCurrent(a,l))}clearContext(t){super.clearContext(t),this.document.screen.viewPort.removeCurrent()}resize(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.getAttribute("width",!0),i=this.getAttribute("height",!0),o=this.getAttribute("viewBox"),s=this.getAttribute("style"),a=n.getNumber(0),l=i.getNumber(0);if(r)if("string"==typeof r)this.getAttribute("preserveAspectRatio",!0).setValue(r);else{var u=this.getAttribute("preserveAspectRatio");u.hasValue()&&u.setValue(u.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(n.setValue(t),i.setValue(e),o.hasValue()||o.setValue("0 0 ".concat(a||t," ").concat(l||e)),s.hasValue()){var h=this.getStyle("width"),c=this.getStyle("height");h.hasValue()&&h.setValue("".concat(t,"px")),c.hasValue()&&c.setValue("".concat(e,"px"))}}}class wxt extends dxt{constructor(){super(...arguments),this.type="rect"}path(t){var e=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),n=this.getStyle("width",!1,!0).getPixels("x"),i=this.getStyle("height",!1,!0).getPixels("y"),o=this.getAttribute("rx"),s=this.getAttribute("ry"),a=o.getPixels("x"),l=s.getPixels("y");if(o.hasValue()&&!s.hasValue()&&(l=a),s.hasValue()&&!o.hasValue()&&(a=l),a=Math.min(a,n/2),l=Math.min(l,i/2),t){var u=(Math.sqrt(2)-1)/3*4;t.beginPath(),i>0&&n>0&&(t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.bezierCurveTo(e+n-a+u*a,r,e+n,r+l-u*l,e+n,r+l),t.lineTo(e+n,r+i-l),t.bezierCurveTo(e+n,r+i-l+u*l,e+n-a+u*a,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.bezierCurveTo(e+a-u*a,r+i,e,r+i-l+u*l,e,r+i-l),t.lineTo(e,r+l),t.bezierCurveTo(e,r+l-u*l,e+a-u*a,r,e+a,r),t.closePath())}return new Axt(e,r,e+n,r+i)}getMarkers(){return null}}class bxt extends dxt{constructor(){super(...arguments),this.type="circle"}path(t){var e=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),n=this.getAttribute("r").getPixels();return t&&n>0&&(t.beginPath(),t.arc(e,r,n,0,2*Math.PI,!1),t.closePath()),new Axt(e-n,r-n,e+n,r+n)}getMarkers(){return null}}class xxt extends dxt{constructor(){super(...arguments),this.type="ellipse"}path(t){var e=(Math.sqrt(2)-1)/3*4,r=this.getAttribute("rx").getPixels("x"),n=this.getAttribute("ry").getPixels("y"),i=this.getAttribute("cx").getPixels("x"),o=this.getAttribute("cy").getPixels("y");return t&&r>0&&n>0&&(t.beginPath(),t.moveTo(i+r,o),t.bezierCurveTo(i+r,o+e*n,i+e*r,o+n,i,o+n),t.bezierCurveTo(i-e*r,o+n,i-r,o+e*n,i-r,o),t.bezierCurveTo(i-r,o-e*n,i-e*r,o-n,i,o-n),t.bezierCurveTo(i+e*r,o-n,i+r,o-e*n,i+r,o),t.closePath()),new Axt(i-r,o-n,i+r,o+n)}getMarkers(){return null}}class Cxt extends dxt{constructor(){super(...arguments),this.type="line"}getPoints(){return[new zbt(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new zbt(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(t){var[{x:e,y:r},{x:n,y:i}]=this.getPoints();return t&&(t.beginPath(),t.moveTo(e,r),t.lineTo(n,i)),new Axt(e,r,n,i)}getMarkers(){var[t,e]=this.getPoints(),r=t.angleTo(e);return[[t,r],[e,r]]}}class Sxt extends dxt{constructor(t,e,r){super(t,e,r),this.type="polyline",this.points=[],this.points=zbt.parsePath(this.getAttribute("points").getString())}path(t){var{points:e}=this,[{x:r,y:n}]=e,i=new Axt(r,n);return t&&(t.beginPath(),t.moveTo(r,n)),e.forEach((e=>{var{x:r,y:n}=e;i.addPoint(r,n),t&&t.lineTo(r,n)})),i}getMarkers(){var{points:t}=this,e=t.length-1,r=[];return t.forEach(((n,i)=>{i!==e&&r.push([n,n.angleTo(t[i+1])])})),r.length>0&&r.push([t[t.length-1],r[r.length-1][1]]),r}}class Ext extends Sxt{constructor(){super(...arguments),this.type="polygon"}path(t){var e=super.path(t),[{x:r,y:n}]=this.points;return t&&(t.lineTo(r,n),t.closePath()),e}}class Bxt extends sxt{constructor(){super(...arguments),this.type="pattern"}createPattern(t,e,r){var n=this.getStyle("width").getPixels("x",!0),i=this.getStyle("height").getPixels("y",!0),o=new _xt(this.document,null);o.attributes.viewBox=new jbt(this.document,"viewBox",this.getAttribute("viewBox").getValue()),o.attributes.width=new jbt(this.document,"width","".concat(n,"px")),o.attributes.height=new jbt(this.document,"height","".concat(i,"px")),o.attributes.transform=new jbt(this.document,"transform",this.getAttribute("patternTransform").getValue()),o.children=this.children;var s=this.document.createCanvas(n,i),a=s.getContext("2d"),l=this.getAttribute("x"),u=this.getAttribute("y");l.hasValue()&&u.hasValue()&&a.translate(l.getPixels("x",!0),u.getPixels("y",!0)),r.hasValue()?this.styles["fill-opacity"]=r:Reflect.deleteProperty(this.styles,"fill-opacity");for(var h=-1;h<=1;h++)for(var c=-1;c<=1;c++)a.save(),o.attributes.x=new jbt(this.document,"x",h*s.width),o.attributes.y=new jbt(this.document,"y",c*s.height),o.render(a),a.restore();return t.createPattern(s,"repeat")}}class Ixt extends sxt{constructor(){super(...arguments),this.type="marker"}render(t,e,r){if(e){var{x:n,y:i}=e,o=this.getAttribute("orient").getString("auto"),s=this.getAttribute("markerUnits").getString("strokeWidth");t.translate(n,i),"auto"===o&&t.rotate(r),"strokeWidth"===s&&t.scale(t.lineWidth,t.lineWidth),t.save();var a=new _xt(this.document,null);a.type=this.type,a.attributes.viewBox=new jbt(this.document,"viewBox",this.getAttribute("viewBox").getValue()),a.attributes.refX=new jbt(this.document,"refX",this.getAttribute("refX").getValue()),a.attributes.refY=new jbt(this.document,"refY",this.getAttribute("refY").getValue()),a.attributes.width=new jbt(this.document,"width",this.getAttribute("markerWidth").getValue()),a.attributes.height=new jbt(this.document,"height",this.getAttribute("markerHeight").getValue()),a.attributes.overflow=new jbt(this.document,"overflow",this.getAttribute("overflow").getValue()),a.attributes.fill=new jbt(this.document,"fill",this.getAttribute("fill").getColor("black")),a.attributes.stroke=new jbt(this.document,"stroke",this.getAttribute("stroke").getValue("none")),a.children=this.children,a.render(t),t.restore(),"strokeWidth"===s&&t.scale(1/t.lineWidth,1/t.lineWidth),"auto"===o&&t.rotate(-r),t.translate(-n,-i)}}}class Pxt extends sxt{constructor(){super(...arguments),this.type="defs"}render(){}}class Fxt extends pxt{constructor(){super(...arguments),this.type="g"}getBoundingBox(t){var e=new Axt;return this.children.forEach((r=>{e.addBoundingBox(r.getBoundingBox(t))})),e}}class Txt extends sxt{constructor(t,e,r){super(t,e,r),this.attributesToInherit=["gradientUnits"],this.stops=[];var{stops:n,children:i}=this;i.forEach((t=>{"stop"===t.type&&n.push(t)}))}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(t,e,r){var n=this;this.getHrefAttribute().hasValue()&&(n=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(n));var{stops:i}=n,o=this.getGradient(t,e);if(!o)return this.addParentOpacity(r,i[i.length-1].color);if(i.forEach((t=>{o.addColorStop(t.offset,this.addParentOpacity(r,t.color))})),this.getAttribute("gradientTransform").hasValue()){var{document:s}=this,{MAX_VIRTUAL_PIXELS:a,viewPort:l}=s.screen,[u]=l.viewPorts,h=new wxt(s,null);h.attributes.x=new jbt(s,"x",-a/3),h.attributes.y=new jbt(s,"y",-a/3),h.attributes.width=new jbt(s,"width",a),h.attributes.height=new jbt(s,"height",a);var c=new Fxt(s,null);c.attributes.transform=new jbt(s,"transform",this.getAttribute("gradientTransform").getValue()),c.children=[h];var A=new _xt(s,null);A.attributes.x=new jbt(s,"x",0),A.attributes.y=new jbt(s,"y",0),A.attributes.width=new jbt(s,"width",u.width),A.attributes.height=new jbt(s,"height",u.height),A.children=[c];var f=s.createCanvas(u.width,u.height),p=f.getContext("2d");return p.fillStyle=o,A.render(p),p.createPattern(f,"no-repeat")}return o}inheritStopContainer(t){this.attributesToInherit.forEach((e=>{!this.getAttribute(e).hasValue()&&t.getAttribute(e).hasValue()&&this.getAttribute(e,!0).setValue(t.getAttribute(e).getValue())}))}addParentOpacity(t,e){return t.hasValue()?new jbt(this.document,"color",e).addOpacity(t).getColor():e}}class Mxt extends Txt{constructor(t,e,r){super(t,e,r),this.type="linearGradient",this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(t,e){var r="objectBoundingBox"===this.getGradientUnits(),n=r?e.getBoundingBox(t):null;if(r&&!n)return null;this.getAttribute("x1").hasValue()||this.getAttribute("y1").hasValue()||this.getAttribute("x2").hasValue()||this.getAttribute("y2").hasValue()||(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));var i=r?n.x+n.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),o=r?n.y+n.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),s=r?n.x+n.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),a=r?n.y+n.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return i===s&&o===a?null:t.createLinearGradient(i,o,s,a)}}class Lxt extends Txt{constructor(t,e,r){super(t,e,r),this.type="radialGradient",this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(t,e){var r="objectBoundingBox"===this.getGradientUnits(),n=e.getBoundingBox(t);if(r&&!n)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");var i=r?n.x+n.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),o=r?n.y+n.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y"),s=i,a=o;this.getAttribute("fx").hasValue()&&(s=r?n.x+n.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(a=r?n.y+n.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));var l=r?(n.width+n.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),u=this.getAttribute("fr").getPixels();return t.createRadialGradient(s,a,u,i,o,l)}}class kxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="stop";var n=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),i=this.getStyle("stop-opacity"),o=this.getStyle("stop-color",!0);""===o.getString()&&o.setValue("#000"),i.hasValue()&&(o=o.addOpacity(i)),this.offset=n,this.color=o.getColor()}}class Oxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="animate",this.duration=0,this.initialValue=null,this.initialUnits="",this.removed=!1,this.frozen=!1,t.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new jbt(t,"values",null);var n=this.getAttribute("values");n.hasValue()&&this.values.setValue(n.getString().split(";"))}getProperty(){var t=this.getAttribute("attributeType").getString(),e=this.getAttribute("attributeName").getString();return"CSS"===t?this.parent.getStyle(e,!0):this.parent.getAttribute(e,!0)}calcValue(){var{initialUnits:t}=this,{progress:e,from:r,to:n}=this.getProgress(),i=r.getNumber()+(n.getNumber()-r.getNumber())*e;return"%"===t&&(i*=100),"".concat(i).concat(t)}update(t){var{parent:e}=this,r=this.getProperty();if(this.initialValue||(this.initialValue=r.getString(),this.initialUnits=r.getUnits()),this.duration>this.maxDuration){var n=this.getAttribute("fill").getString("remove");if("indefinite"===this.getAttribute("repeatCount").getString()||"indefinite"===this.getAttribute("repeatDur").getString())this.duration=0;else if("freeze"!==n||this.frozen){if("remove"===n&&!this.removed)return this.removed=!0,r.setValue(e.animationFrozen?e.animationFrozenValue:this.initialValue),!0}else this.frozen=!0,e.animationFrozen=!0,e.animationFrozenValue=r.getString();return!1}this.duration+=t;var i=!1;if(this.begin<this.duration){var o=this.calcValue(),s=this.getAttribute("type");if(s.hasValue()){var a=s.getString();o="".concat(a,"(").concat(o,")")}r.setValue(o),i=!0}return i}getProgress(){var{document:t,values:e}=this,r={progress:(this.duration-this.begin)/(this.maxDuration-this.begin)};if(e.hasValue()){var n=r.progress*(e.getValue().length-1),i=Math.floor(n),o=Math.ceil(n);r.from=new jbt(t,"from",parseFloat(e.getValue()[i])),r.to=new jbt(t,"to",parseFloat(e.getValue()[o])),r.progress=(n-i)/(o-i)}else r.from=this.from,r.to=this.to;return r}}class Nxt extends Oxt{constructor(){super(...arguments),this.type="animateColor"}calcValue(){var{progress:t,from:e,to:r}=this.getProgress(),n=new Awt(e.getColor()),i=new Awt(r.getColor());if(n.ok&&i.ok){var o=n.r+(i.r-n.r)*t,s=n.g+(i.g-n.g)*t,a=n.b+(i.b-n.b)*t;return"rgb(".concat(Math.floor(o),", ").concat(Math.floor(s),", ").concat(Math.floor(a),")")}return this.getAttribute("from").getColor()}}class Rxt extends Oxt{constructor(){super(...arguments),this.type="animateTransform"}calcValue(){var{progress:t,from:e,to:r}=this.getProgress(),n=ybt(e.getString()),i=ybt(r.getString());return n.map(((e,r)=>e+(i[r]-e)*t)).join(" ")}}class Uxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="font",this.glyphs={},this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();var{definitions:n}=t,{children:i}=this;for(var o of i)switch(o.type){case"font-face":this.fontFace=o;var s=o.getStyle("font-family");s.hasValue()&&(n[s.getString()]=this);break;case"missing-glyph":this.missingGlyph=o;break;case"glyph":var a=o;a.arabicForm?(this.isRTL=!0,this.isArabic=!0,void 0===this.glyphs[a.unicode]&&(this.glyphs[a.unicode]={}),this.glyphs[a.unicode][a.arabicForm]=a):this.glyphs[a.unicode]=a}}render(){}}class Dxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="font-face",this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class Qxt extends dxt{constructor(){super(...arguments),this.type="missing-glyph",this.horizAdvX=0}}class Gxt extends yxt{constructor(){super(...arguments),this.type="tref"}getText(){var t=this.getHrefAttribute().getDefinition();if(t){var e=t.children[0];if(e)return e.getText()}return""}}class jxt extends yxt{constructor(t,e,r){super(t,e,r),this.type="a";var{childNodes:n}=e,i=n[0],o=n.length>0&&Array.from(n).every((t=>3===t.nodeType));this.hasText=o,this.text=o?this.getTextFromNode(i):""}getText(){return this.text}renderChildren(t){if(this.hasText){super.renderChildren(t);var{document:e,x:r,y:n}=this,{mouse:i}=e.screen,o=new jbt(e,"fontSize",cxt.parse(e.ctx.font).fontSize);i.isWorking()&&i.checkBoundingBox(this,new Axt(r,n-o.getPixels("y"),r+this.measureText(t),n))}else if(this.children.length>0){var s=new Fxt(this.document,null);s.children=this.children,s.parent=this,s.render(t)}}onClick(){var{window:t}=this.document;t&&t.open(this.getHrefAttribute().getString())}onMouseMove(){this.document.ctx.canvas.style.cursor="pointer"}}function Hxt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function zxt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Hxt(Object(r),!0).forEach((function(e){v_t(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Hxt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}class Vxt extends yxt{constructor(t,e,r){super(t,e,r),this.type="textPath",this.textWidth=0,this.textHeight=0,this.pathLength=-1,this.glyphInfo=null,this.letterSpacingCache=[],this.measuresCache=new Map([["",0]]);var n=this.getHrefAttribute().getDefinition();this.text=this.getTextFromNode(),this.dataArray=this.parsePathData(n)}getText(){return this.text}path(t){var{dataArray:e}=this;t&&t.beginPath(),e.forEach((e=>{var{type:r,points:n}=e;switch(r){case fxt.LINE_TO:t&&t.lineTo(n[0],n[1]);break;case fxt.MOVE_TO:t&&t.moveTo(n[0],n[1]);break;case fxt.CURVE_TO:t&&t.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);break;case fxt.QUAD_TO:t&&t.quadraticCurveTo(n[0],n[1],n[2],n[3]);break;case fxt.ARC:var[i,o,s,a,l,u,h,c]=n,A=s>a?s:a,f=s>a?1:s/a,p=s>a?a/s:1;t&&(t.translate(i,o),t.rotate(h),t.scale(f,p),t.arc(0,0,A,l,l+u,Boolean(1-c)),t.scale(1/f,1/p),t.rotate(-h),t.translate(-i,-o));break;case fxt.CLOSE_PATH:t&&t.closePath()}}))}renderChildren(t){this.setTextData(t),t.save();var e=this.parent.getStyle("text-decoration").getString(),r=this.getFontSize(),{glyphInfo:n}=this,i=t.fillStyle;"underline"===e&&t.beginPath(),n.forEach(((n,i)=>{var{p0:o,p1:s,rotation:a,text:l}=n;t.save(),t.translate(o.x,o.y),t.rotate(a),t.fillStyle&&t.fillText(l,0,0),t.strokeStyle&&t.strokeText(l,0,0),t.restore(),"underline"===e&&(0===i&&t.moveTo(o.x,o.y+r/8),t.lineTo(s.x,s.y+r/5))})),"underline"===e&&(t.lineWidth=r/20,t.strokeStyle=i,t.stroke(),t.closePath()),t.restore()}getLetterSpacingAt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.letterSpacingCache[t]||0}findSegmentToFitChar(t,e,r,n,i,o,s,a,l){var u=o,h=this.measureText(t,a);" "===a&&"justify"===e&&r<n&&(h+=(n-r)/i),l>-1&&(u+=this.getLetterSpacingAt(l));var c=this.textHeight/20,A=this.getEquidistantPointOnPath(u,c,0),f=this.getEquidistantPointOnPath(u+h,c,0),p={p0:A,p1:f},d=A&&f?Math.atan2(f.y-A.y,f.x-A.x):0;if(s){var g=Math.cos(Math.PI/2+d)*s,y=Math.cos(-d)*s;p.p0=zxt(zxt({},A),{},{x:A.x+g,y:A.y+y}),p.p1=zxt(zxt({},f),{},{x:f.x+g,y:f.y+y})}return{offset:u+=h,segment:p,rotation:d}}measureText(t,e){var{measuresCache:r}=this,n=e||this.getText();if(r.has(n))return r.get(n);var i=this.measureTargetText(t,n);return r.set(n,i),i}setTextData(t){if(!this.glyphInfo){var e=this.getText(),r=e.split(""),n=e.split(" ").length-1,i=this.parent.getAttribute("dx").split().map((t=>t.getPixels("x"))),o=this.parent.getAttribute("dy").getPixels("y"),s=this.parent.getStyle("text-anchor").getString("start"),a=this.getStyle("letter-spacing"),l=this.parent.getStyle("letter-spacing"),u=0;a.hasValue()&&"inherit"!==a.getValue()?a.hasValue()&&"initial"!==a.getValue()&&"unset"!==a.getValue()&&(u=a.getPixels()):u=l.getPixels();var h=[],c=e.length;this.letterSpacingCache=h;for(var A=0;A<c;A++)h.push(void 0!==i[A]?i[A]:u);var f=h.reduce(((t,e,r)=>0===r?0:t+e||0),0),p=this.measureText(t),d=Math.max(p+f,0);this.textWidth=p,this.textHeight=this.getFontSize(),this.glyphInfo=[];var g=this.getPathLength(),y=this.getStyle("startOffset").getNumber(0)*g,m=0;"middle"!==s&&"center"!==s||(m=-d/2),"end"!==s&&"right"!==s||(m=-d),m+=y,r.forEach(((e,i)=>{var{offset:a,segment:l,rotation:u}=this.findSegmentToFitChar(t,s,d,g,n,m,o,e,i);m=a,l.p0&&l.p1&&this.glyphInfo.push({text:r[i],p0:l.p0,p1:l.p1,rotation:u})}))}}parsePathData(t){if(this.pathLength=-1,!t)return[];var e=[],{pathParser:r}=t;for(r.reset();!r.isEnd();){var{current:n}=r,i=n?n.x:0,o=n?n.y:0,s=r.next(),a=s.type,l=[];switch(s.type){case fxt.MOVE_TO:this.pathM(r,l);break;case fxt.LINE_TO:a=this.pathL(r,l);break;case fxt.HORIZ_LINE_TO:a=this.pathH(r,l);break;case fxt.VERT_LINE_TO:a=this.pathV(r,l);break;case fxt.CURVE_TO:this.pathC(r,l);break;case fxt.SMOOTH_CURVE_TO:a=this.pathS(r,l);break;case fxt.QUAD_TO:this.pathQ(r,l);break;case fxt.SMOOTH_QUAD_TO:a=this.pathT(r,l);break;case fxt.ARC:l=this.pathA(r);break;case fxt.CLOSE_PATH:dxt.pathZ(r)}s.type!==fxt.CLOSE_PATH?e.push({type:a,points:l,start:{x:i,y:o},pathLength:this.calcLength(i,o,a,l)}):e.push({type:fxt.CLOSE_PATH,points:[],pathLength:0})}return e}pathM(t,e){var{x:r,y:n}=dxt.pathM(t).point;e.push(r,n)}pathL(t,e){var{x:r,y:n}=dxt.pathL(t).point;return e.push(r,n),fxt.LINE_TO}pathH(t,e){var{x:r,y:n}=dxt.pathH(t).point;return e.push(r,n),fxt.LINE_TO}pathV(t,e){var{x:r,y:n}=dxt.pathV(t).point;return e.push(r,n),fxt.LINE_TO}pathC(t,e){var{point:r,controlPoint:n,currentPoint:i}=dxt.pathC(t);e.push(r.x,r.y,n.x,n.y,i.x,i.y)}pathS(t,e){var{point:r,controlPoint:n,currentPoint:i}=dxt.pathS(t);return e.push(r.x,r.y,n.x,n.y,i.x,i.y),fxt.CURVE_TO}pathQ(t,e){var{controlPoint:r,currentPoint:n}=dxt.pathQ(t);e.push(r.x,r.y,n.x,n.y)}pathT(t,e){var{controlPoint:r,currentPoint:n}=dxt.pathT(t);return e.push(r.x,r.y,n.x,n.y),fxt.QUAD_TO}pathA(t){var{rX:e,rY:r,sweepFlag:n,xAxisRotation:i,centp:o,a1:s,ad:a}=dxt.pathA(t);return 0===n&&a>0&&(a-=2*Math.PI),1===n&&a<0&&(a+=2*Math.PI),[o.x,o.y,e,r,s,a,i,n]}calcLength(t,e,r,n){var i=0,o=null,s=null,a=0;switch(r){case fxt.LINE_TO:return this.getLineLength(t,e,n[0],n[1]);case fxt.CURVE_TO:for(i=0,o=this.getPointOnCubicBezier(0,t,e,n[0],n[1],n[2],n[3],n[4],n[5]),a=.01;a<=1;a+=.01)s=this.getPointOnCubicBezier(a,t,e,n[0],n[1],n[2],n[3],n[4],n[5]),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return i;case fxt.QUAD_TO:for(i=0,o=this.getPointOnQuadraticBezier(0,t,e,n[0],n[1],n[2],n[3]),a=.01;a<=1;a+=.01)s=this.getPointOnQuadraticBezier(a,t,e,n[0],n[1],n[2],n[3]),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return i;case fxt.ARC:i=0;var l=n[4],u=n[5],h=n[4]+u,c=Math.PI/180;if(Math.abs(l-h)<c&&(c=Math.abs(l-h)),o=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],l,0),u<0)for(a=l-c;a>h;a-=c)s=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],a,0),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(a=l+c;a<h;a+=c)s=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],a,0),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return s=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],h,0),i+this.getLineLength(o.x,o.y,s.x,s.y)}return 0}getPointOnLine(t,e,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:r,a=(i-r)/(n-e+Tbt),l=Math.sqrt(t*t/(1+a*a));n<e&&(l*=-1);var u=a*l,h=null;if(n===e)h={x:o,y:s+u};else if((s-r)/(o-e+Tbt)===a)h={x:o+l,y:s+u};else{var c,A,f=this.getLineLength(e,r,n,i);if(f<Tbt)return null;var p=(o-e)*(n-e)+(s-r)*(i-r);c=e+(p/=f*f)*(n-e),A=r+p*(i-r);var d=this.getLineLength(o,s,c,A),g=Math.sqrt(t*t-d*d);l=Math.sqrt(g*g/(1+a*a)),n<e&&(l*=-1),h={x:c+l,y:A+(u=a*l)}}return h}getPointOnPath(t){var e=this.getPathLength(),r=0,n=null;if(t<-5e-5||t-5e-5>e)return null;var{dataArray:i}=this;for(var o of i){if(!o||!(o.pathLength<5e-5||r+o.pathLength+5e-5<t)){var s=t-r,a=0;switch(o.type){case fxt.LINE_TO:n=this.getPointOnLine(s,o.start.x,o.start.y,o.points[0],o.points[1],o.start.x,o.start.y);break;case fxt.ARC:var l=o.points[4],u=o.points[5],h=o.points[4]+u;if(a=l+s/o.pathLength*u,u<0&&a<h||u>=0&&a>h)break;n=this.getPointOnEllipticalArc(o.points[0],o.points[1],o.points[2],o.points[3],a,o.points[6]);break;case fxt.CURVE_TO:(a=s/o.pathLength)>1&&(a=1),n=this.getPointOnCubicBezier(a,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3],o.points[4],o.points[5]);break;case fxt.QUAD_TO:(a=s/o.pathLength)>1&&(a=1),n=this.getPointOnQuadraticBezier(a,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3])}if(n)return n;break}r+=o.pathLength}return null}getLineLength(t,e,r,n){return Math.sqrt((r-t)*(r-t)+(n-e)*(n-e))}getPathLength(){return-1===this.pathLength&&(this.pathLength=this.dataArray.reduce(((t,e)=>e.pathLength>0?t+e.pathLength:t),0)),this.pathLength}getPointOnCubicBezier(t,e,r,n,i,o,s,a,l){return{x:a*Obt(t)+o*Nbt(t)+n*Rbt(t)+e*Ubt(t),y:l*Obt(t)+s*Nbt(t)+i*Rbt(t)+r*Ubt(t)}}getPointOnQuadraticBezier(t,e,r,n,i,o,s){return{x:o*Dbt(t)+n*Qbt(t)+e*Gbt(t),y:s*Dbt(t)+i*Qbt(t)+r*Gbt(t)}}getPointOnEllipticalArc(t,e,r,n,i,o){var s=Math.cos(o),a=Math.sin(o),l=r*Math.cos(i),u=n*Math.sin(i);return{x:t+(l*s-u*a),y:e+(l*a+u*s)}}buildEquidistantCache(t,e){var r=this.getPathLength(),n=e||.25,i=t||r/100;if(!this.equidistantCache||this.equidistantCache.step!==i||this.equidistantCache.precision!==n){this.equidistantCache={step:i,precision:n,points:[]};for(var o=0,s=0;s<=r;s+=n){var a=this.getPointOnPath(s),l=this.getPointOnPath(s+n);a&&l&&(o+=this.getLineLength(a.x,a.y,l.x,l.y))>=i&&(this.equidistantCache.points.push({x:a.x,y:a.y,distance:s}),o-=i)}}}getEquidistantPointOnPath(t,e,r){if(this.buildEquidistantCache(e,r),t<0||t-this.getPathLength()>5e-5)return null;var n=Math.round(t/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[n]||null}}var Kxt=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class qxt extends pxt{constructor(t,e,r){super(t,e,r),this.type="image",this.loaded=!1;var n=this.getHrefAttribute().getString();if(n){var i=n.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(n);t.images.push(this),i?this.loadSvg(n):this.loadImage(n),this.isSvg=i}}loadImage(t){var e=this;return Zyt((function*(){try{var r=yield e.document.createImage(t);e.image=r}catch(n){}e.loaded=!0}))()}loadSvg(t){var e=this;return Zyt((function*(){var r=Kxt.exec(t);if(r){var n=r[5];"base64"===r[4]?e.image=atob(n):e.image=decodeURIComponent(n)}else try{var i=yield e.document.fetch(t),o=yield i.text();e.image=o}catch(s){}e.loaded=!0}))()}renderChildren(t){var{document:e,image:r,loaded:n}=this,i=this.getAttribute("x").getPixels("x"),o=this.getAttribute("y").getPixels("y"),s=this.getStyle("width").getPixels("x"),a=this.getStyle("height").getPixels("y");if(n&&r&&s&&a){if(t.save(),t.translate(i,o),this.isSvg){var l=e.canvg.forkString(t,this.image,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:s,scaleHeight:a});l.document.documentElement.parent=this,l.render()}else{var u=this.image;e.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:s,desiredWidth:u.width,height:a,desiredHeight:u.height}),this.loaded&&(void 0===u.complete||u.complete)&&t.drawImage(u,0,0)}t.restore()}}getBoundingBox(){var t=this.getAttribute("x").getPixels("x"),e=this.getAttribute("y").getPixels("y"),r=this.getStyle("width").getPixels("x"),n=this.getStyle("height").getPixels("y");return new Axt(t,e,t+r,e+n)}}class Wxt extends pxt{constructor(){super(...arguments),this.type="symbol"}render(t){}}class Xxt{constructor(t){this.document=t,this.loaded=!1,t.fonts.push(this)}load(t,e){var r=this;return Zyt((function*(){try{var{document:n}=r,i=(yield n.canvg.parser.load(e)).getElementsByTagName("font");Array.from(i).forEach((e=>{var r=n.createElement(e);n.definitions[t]=r}))}catch(o){}r.loaded=!0}))()}}class Yxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="style",pbt(Array.from(e.childNodes).map((t=>t.textContent)).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")).split("}").forEach((e=>{var r=e.trim();if(r){var n=r.split("{"),i=n[0].split(","),o=n[1].split(";");i.forEach((e=>{var r=e.trim();if(r){var n=t.styles[r]||{};if(o.forEach((e=>{var r=e.indexOf(":"),i=e.substr(0,r).trim(),o=e.substr(r+1,e.length-r).trim();i&&o&&(n[i]=new jbt(t,i,o))})),t.styles[r]=n,t.stylesSpecificity[r]=Fbt(r),"@font-face"===r){var i=n["font-family"].getString().replace(/"|'/g,"");n.src.getString().split(",").forEach((e=>{if(e.indexOf('format("svg")')>0){var r=_bt(e);r&&new Xxt(t).load(i,r)}}))}}}))}}))}}Yxt.parseExternalUrl=_bt;class Zxt extends pxt{constructor(){super(...arguments),this.type="use"}setContext(t){super.setContext(t);var e=this.getAttribute("x"),r=this.getAttribute("y");e.hasValue()&&t.translate(e.getPixels("x"),0),r.hasValue()&&t.translate(0,r.getPixels("y"))}path(t){var{element:e}=this;e&&e.path(t)}renderChildren(t){var{document:e,element:r}=this;if(r){var n=r;if("symbol"===r.type&&((n=new _xt(e,null)).attributes.viewBox=new jbt(e,"viewBox",r.getAttribute("viewBox").getString()),n.attributes.preserveAspectRatio=new jbt(e,"preserveAspectRatio",r.getAttribute("preserveAspectRatio").getString()),n.attributes.overflow=new jbt(e,"overflow",r.getAttribute("overflow").getString()),n.children=r.children,r.styles.opacity=new jbt(e,"opacity",this.calculateOpacity())),"svg"===n.type){var i=this.getStyle("width",!1,!0),o=this.getStyle("height",!1,!0);i.hasValue()&&(n.attributes.width=new jbt(e,"width",i.getString())),o.hasValue()&&(n.attributes.height=new jbt(e,"height",o.getString()))}var s=n.parent;n.parent=this,n.render(t),n.parent=s}}getBoundingBox(t){var{element:e}=this;return e?e.getBoundingBox(t):null}elementTransform(){var{document:t,element:e}=this;return oxt.fromElement(t,e)}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function Jxt(t,e,r,n,i,o){return t[r*n*4+4*e+o]}function $xt(t,e,r,n,i,o,s){t[r*n*4+4*e+o]=s}function tCt(t,e,r){return t[e]*r}function eCt(t,e,r,n){return e+Math.cos(t)*r+Math.sin(t)*n}class rCt extends sxt{constructor(t,e,r){super(t,e,r),this.type="feColorMatrix";var n=ybt(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":var i=n[0];n=[.213+.787*i,.715-.715*i,.072-.072*i,0,0,.213-.213*i,.715+.285*i,.072-.072*i,0,0,.213-.213*i,.715-.715*i,.072+.928*i,0,0,0,0,0,1,0,0,0,0,0,1];break;case"hueRotate":var o=n[0]*Math.PI/180;n=[eCt(o,.213,.787,-.213),eCt(o,.715,-.715,-.715),eCt(o,.072,-.072,.928),0,0,eCt(o,.213,-.213,.143),eCt(o,.715,.285,.14),eCt(o,.072,-.072,-.283),0,0,eCt(o,.213,-.213,-.787),eCt(o,.715,-.715,.715),eCt(o,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break;case"luminanceToAlpha":n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1]}this.matrix=n,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(t,e,r,n,i){for(var{includeOpacity:o,matrix:s}=this,a=t.getImageData(0,0,n,i),l=0;l<i;l++)for(var u=0;u<n;u++){var h=Jxt(a.data,u,l,n,0,0),c=Jxt(a.data,u,l,n,0,1),A=Jxt(a.data,u,l,n,0,2),f=Jxt(a.data,u,l,n,0,3),p=tCt(s,0,h)+tCt(s,1,c)+tCt(s,2,A)+tCt(s,3,f)+tCt(s,4,1),d=tCt(s,5,h)+tCt(s,6,c)+tCt(s,7,A)+tCt(s,8,f)+tCt(s,9,1),g=tCt(s,10,h)+tCt(s,11,c)+tCt(s,12,A)+tCt(s,13,f)+tCt(s,14,1),y=tCt(s,15,h)+tCt(s,16,c)+tCt(s,17,A)+tCt(s,18,f)+tCt(s,19,1);o&&(p=0,d=0,g=0,y*=f/255),$xt(a.data,u,l,n,0,0,p),$xt(a.data,u,l,n,0,1,d),$xt(a.data,u,l,n,0,2,g),$xt(a.data,u,l,n,0,3,y)}t.clearRect(0,0,n,i),t.putImageData(a,0,0)}}class nCt extends sxt{constructor(){super(...arguments),this.type="mask"}apply(t,e){var{document:r}=this,n=this.getAttribute("x").getPixels("x"),i=this.getAttribute("y").getPixels("y"),o=this.getStyle("width").getPixels("x"),s=this.getStyle("height").getPixels("y");if(!o&&!s){var a=new Axt;this.children.forEach((e=>{a.addBoundingBox(e.getBoundingBox(t))})),n=Math.floor(a.x1),i=Math.floor(a.y1),o=Math.floor(a.width),s=Math.floor(a.height)}var l=this.removeStyles(e,nCt.ignoreStyles),u=r.createCanvas(n+o,i+s),h=u.getContext("2d");r.screen.setDefaults(h),this.renderChildren(h),new rCt(r,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(h,0,0,n+o,i+s);var c=r.createCanvas(n+o,i+s),A=c.getContext("2d");r.screen.setDefaults(A),e.render(A),A.globalCompositeOperation="destination-in",A.fillStyle=h.createPattern(u,"no-repeat"),A.fillRect(0,0,n+o,i+s),t.fillStyle=A.createPattern(c,"no-repeat"),t.fillRect(0,0,n+o,i+s),this.restoreStyles(e,l)}render(t){}}nCt.ignoreStyles=["mask","transform","clip-path"];var iCt=()=>{};class oCt extends sxt{constructor(){super(...arguments),this.type="clipPath"}apply(t){var{document:e}=this,r=Reflect.getPrototypeOf(t),{beginPath:n,closePath:i}=t;r&&(r.beginPath=iCt,r.closePath=iCt),Reflect.apply(n,t,[]),this.children.forEach((n=>{if(void 0!==n.path){var o=void 0!==n.elementTransform?n.elementTransform():null;o||(o=oxt.fromElement(e,n)),o&&o.apply(t),n.path(t),r&&(r.closePath=i),o&&o.unapply(t)}})),Reflect.apply(i,t,[]),t.clip(),r&&(r.beginPath=n,r.closePath=i)}render(t){}}class sCt extends sxt{constructor(){super(...arguments),this.type="filter"}apply(t,e){var{document:r,children:n}=this,i=e.getBoundingBox(t);if(i){var o=0,s=0;n.forEach((t=>{var e=t.extraFilterDistance||0;o=Math.max(o,e),s=Math.max(s,e)}));var a=Math.floor(i.width),l=Math.floor(i.height),u=a+2*o,h=l+2*s;if(!(u<1||h<1)){var c=Math.floor(i.x),A=Math.floor(i.y),f=this.removeStyles(e,sCt.ignoreStyles),p=r.createCanvas(u,h),d=p.getContext("2d");r.screen.setDefaults(d),d.translate(-c+o,-A+s),e.render(d),n.forEach((t=>{"function"==typeof t.apply&&t.apply(d,0,0,u,h)})),t.drawImage(p,0,0,u,h,c-o,A-s,u,h),this.restoreStyles(e,f)}}}render(t){}}sCt.ignoreStyles=["filter","transform","clip-path"];class aCt extends sxt{constructor(t,e,r){super(t,e,r),this.type="feDropShadow",this.addStylesFromStyleDefinition()}apply(t,e,r,n,i){}}class lCt extends sxt{constructor(){super(...arguments),this.type="feMorphology"}apply(t,e,r,n,i){}}class uCt extends sxt{constructor(){super(...arguments),this.type="feComposite"}apply(t,e,r,n,i){}}class hCt extends sxt{constructor(t,e,r){super(t,e,r),this.type="feGaussianBlur",this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(t,e,r,n,i){var{document:o,blurRadius:s}=this,a=o.window?o.window.document.body:null,l=t.canvas;l.id=o.getUniqueId(),a&&(l.style.display="none",a.appendChild(l)),function(t,e,r,n,i,o){if(!(isNaN(o)||o<1)){o|=0;var s=function(t,e,r,n,i){if("string"==typeof t&&(t=document.getElementById(t)),!t||"object"!==ubt(t)||!("getContext"in t))throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");var o=t.getContext("2d");try{return o.getImageData(e,r,n,i)}catch(XX){throw new Error("unable to access image data: "+XX)}}(t,e,r,n,i);s=function(t,e,r,n,i,o){for(var s,a=t.data,l=2*o+1,u=n-1,h=i-1,c=o+1,A=c*(c+1)/2,f=new Abt,p=f,d=1;d<l;d++)p=p.next=new Abt,d===c&&(s=p);p.next=f;for(var g=null,y=null,m=0,v=0,_=hbt[o],w=cbt[o],b=0;b<i;b++){p=f;for(var x=a[v],C=a[v+1],S=a[v+2],E=a[v+3],B=0;B<c;B++)p.r=x,p.g=C,p.b=S,p.a=E,p=p.next;for(var I=0,P=0,F=0,T=0,M=c*x,L=c*C,k=c*S,O=c*E,N=A*x,R=A*C,U=A*S,D=A*E,Q=1;Q<c;Q++){var G=v+((u<Q?u:Q)<<2),j=a[G],H=a[G+1],z=a[G+2],V=a[G+3],K=c-Q;N+=(p.r=j)*K,R+=(p.g=H)*K,U+=(p.b=z)*K,D+=(p.a=V)*K,I+=j,P+=H,F+=z,T+=V,p=p.next}g=f,y=s;for(var q=0;q<n;q++){var W=D*_>>>w;if(a[v+3]=W,0!==W){var X=255/W;a[v]=(N*_>>>w)*X,a[v+1]=(R*_>>>w)*X,a[v+2]=(U*_>>>w)*X}else a[v]=a[v+1]=a[v+2]=0;N-=M,R-=L,U-=k,D-=O,M-=g.r,L-=g.g,k-=g.b,O-=g.a;var Y=q+o+1;Y=m+(Y<u?Y:u)<<2,N+=I+=g.r=a[Y],R+=P+=g.g=a[Y+1],U+=F+=g.b=a[Y+2],D+=T+=g.a=a[Y+3],g=g.next;var Z=y,J=Z.r,$=Z.g,tt=Z.b,et=Z.a;M+=J,L+=$,k+=tt,O+=et,I-=J,P-=$,F-=tt,T-=et,y=y.next,v+=4}m+=n}for(var rt=0;rt<n;rt++){var nt=a[v=rt<<2],it=a[v+1],ot=a[v+2],st=a[v+3],at=c*nt,lt=c*it,ut=c*ot,ht=c*st,ct=A*nt,At=A*it,ft=A*ot,pt=A*st;p=f;for(var dt=0;dt<c;dt++)p.r=nt,p.g=it,p.b=ot,p.a=st,p=p.next;for(var gt=n,yt=0,mt=0,vt=0,_t=0,wt=1;wt<=o;wt++){v=gt+rt<<2;var bt=c-wt;ct+=(p.r=nt=a[v])*bt,At+=(p.g=it=a[v+1])*bt,ft+=(p.b=ot=a[v+2])*bt,pt+=(p.a=st=a[v+3])*bt,_t+=nt,yt+=it,mt+=ot,vt+=st,p=p.next,wt<h&&(gt+=n)}v=rt,g=f,y=s;for(var xt=0;xt<i;xt++){var Ct=v<<2;a[Ct+3]=st=pt*_>>>w,st>0?(st=255/st,a[Ct]=(ct*_>>>w)*st,a[Ct+1]=(At*_>>>w)*st,a[Ct+2]=(ft*_>>>w)*st):a[Ct]=a[Ct+1]=a[Ct+2]=0,ct-=at,At-=lt,ft-=ut,pt-=ht,at-=g.r,lt-=g.g,ut-=g.b,ht-=g.a,Ct=rt+((Ct=xt+c)<h?Ct:h)*n<<2,ct+=_t+=g.r=a[Ct],At+=yt+=g.g=a[Ct+1],ft+=mt+=g.b=a[Ct+2],pt+=vt+=g.a=a[Ct+3],g=g.next,at+=nt=y.r,lt+=it=y.g,ut+=ot=y.b,ht+=st=y.a,_t-=nt,yt-=it,mt-=ot,vt-=st,y=y.next,v+=n}}return t}(s,0,0,n,i,o),t.getContext("2d").putImageData(s,e,r)}}(l,e,r,n,i,s),a&&a.removeChild(l)}}class cCt extends sxt{constructor(){super(...arguments),this.type="title"}}class ACt extends sxt{constructor(){super(...arguments),this.type="desc"}}var fCt={svg:_xt,rect:wxt,circle:bxt,ellipse:xxt,line:Cxt,polyline:Sxt,polygon:Ext,path:dxt,pattern:Bxt,marker:Ixt,defs:Pxt,linearGradient:Mxt,radialGradient:Lxt,stop:kxt,animate:Oxt,animateColor:Nxt,animateTransform:Rxt,font:Uxt,"font-face":Dxt,"missing-glyph":Qxt,glyph:gxt,text:yxt,tspan:mxt,tref:Gxt,a:jxt,textPath:Vxt,image:qxt,g:Fxt,symbol:Wxt,style:Yxt,use:Zxt,mask:nCt,clipPath:oCt,filter:sCt,feDropShadow:aCt,feMorphology:lCt,feComposite:uCt,feColorMatrix:rCt,feGaussianBlur:hCt,title:cCt,desc:ACt};function pCt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function dCt(){return dCt=Zyt((function*(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=document.createElement("img");return e&&(r.crossOrigin="Anonymous"),new Promise(((e,n)=>{r.onload=()=>{e(r)},r.onerror=(t,e,r,i,o)=>{n(o)},r.src=t}))})),dCt.apply(this,arguments)}class gCt{constructor(t){var{rootEmSize:e=12,emSize:r=12,createCanvas:n=gCt.createCanvas,createImage:i=gCt.createImage,anonymousCrossOrigin:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.canvg=t,this.definitions={},this.styles={},this.stylesSpecificity={},this.images=[],this.fonts=[],this.emSizeStack=[],this.uniqueId=0,this.screen=t.screen,this.rootEmSize=e,this.emSize=r,this.createCanvas=n,this.createImage=this.bindCreateImage(i,o),this.screen.wait(this.isImagesLoaded.bind(this)),this.screen.wait(this.isFontsLoaded.bind(this))}bindCreateImage(t,e){return"boolean"==typeof e?(r,n)=>t(r,"boolean"==typeof n?n:e):t}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){var{emSizeStack:t}=this;return t[t.length-1]}set emSize(t){var{emSizeStack:e}=this;e.push(t)}popEmSize(){var{emSizeStack:t}=this;t.pop()}getUniqueId(){return"canvg".concat(++this.uniqueId)}isImagesLoaded(){return this.images.every((t=>t.loaded))}isFontsLoaded(){return this.fonts.every((t=>t.loaded))}createDocumentElement(t){var e=this.createElement(t.documentElement);return e.root=!0,e.addStylesFromStyleDefinition(),this.documentElement=e,e}createElement(t){var e=t.nodeName.replace(/^[^:]+:/,""),r=gCt.elementTypes[e];return void 0!==r?new r(this,t):new axt(this,t)}createTextNode(t){return new vxt(this,t)}setViewBox(t){this.screen.setViewBox(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?pCt(Object(r),!0).forEach((function(e){v_t(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pCt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({document:this},t))}}function yCt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function mCt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?yCt(Object(r),!0).forEach((function(e){v_t(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):yCt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}gCt.createCanvas=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r},gCt.createImage=function(t){return dCt.apply(this,arguments)},gCt.elementTypes=fCt;class vCt{constructor(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.parser=new Zbt(r),this.screen=new Wbt(t,r),this.options=r;var n=new gCt(this,r),i=n.createDocumentElement(e);this.document=n,this.documentElement=i}static from(t,e){var r=arguments;return Zyt((function*(){var n=r.length>2&&void 0!==r[2]?r[2]:{},i=new Zbt(n),o=yield i.parse(e);return new vCt(t,o,n)}))()}static fromString(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=new Zbt(r).parseFromString(e);return new vCt(t,n,r)}fork(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return vCt.from(t,e,mCt(mCt({},this.options),r))}forkString(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return vCt.fromString(t,e,mCt(mCt({},this.options),r))}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}render(){var t=arguments,e=this;return Zyt((function*(){var r=t.length>0&&void 0!==t[0]?t[0]:{};e.start(mCt({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0},r)),yield e.ready(),e.stop()}))()}start(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{documentElement:e,screen:r,options:n}=this;r.start(e,mCt(mCt({enableRedraw:!0},n),t))}stop(){this.screen.stop()}resize(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.documentElement.resize(t,e,r)}}const _Ct=Object.freeze(Object.defineProperty({__proto__:null,AElement:jxt,AnimateColorElement:Nxt,AnimateElement:Oxt,AnimateTransformElement:Rxt,BoundingBox:Axt,CB1:Obt,CB2:Nbt,CB3:Rbt,CB4:Ubt,Canvg:vCt,CircleElement:bxt,ClipPathElement:oCt,DefsElement:Pxt,DescElement:ACt,Document:gCt,Element:sxt,EllipseElement:xxt,FeColorMatrixElement:rCt,FeCompositeElement:uCt,FeDropShadowElement:aCt,FeGaussianBlurElement:hCt,FeMorphologyElement:lCt,FilterElement:sCt,Font:cxt,FontElement:Uxt,FontFaceElement:Dxt,GElement:Fxt,GlyphElement:gxt,GradientElement:Txt,ImageElement:qxt,LineElement:Cxt,LinearGradientElement:Mxt,MarkerElement:Ixt,MaskElement:nCt,Matrix:ext,MissingGlyphElement:Qxt,Mouse:Vbt,PSEUDO_ZERO:Tbt,Parser:Zbt,PathElement:dxt,PathParser:fxt,PatternElement:Bxt,Point:zbt,PolygonElement:Ext,PolylineElement:Sxt,Property:jbt,QB1:Dbt,QB2:Qbt,QB3:Gbt,RadialGradientElement:Lxt,RectElement:wxt,RenderedElement:pxt,Rotate:$bt,SVGElement:_xt,SVGFontLoader:Xxt,Scale:txt,Screen:Wbt,Skew:rxt,SkewX:nxt,SkewY:ixt,StopElement:kxt,StyleElement:Yxt,SymbolElement:Wxt,TRefElement:Gxt,TSpanElement:mxt,TextElement:yxt,TextPathElement:Vxt,TitleElement:cCt,Transform:oxt,Translate:Jbt,UnknownElement:axt,UseElement:Zxt,ViewPort:Hbt,compressSpaces:pbt,default:vCt,getSelectorSpecificity:Fbt,normalizeAttributeName:vbt,normalizeColor:wbt,parseExternalUrl:_bt,presets:fbt,toNumbers:ybt,trimLeft:dbt,trimRight:gbt,vectorMagnitude:Mbt,vectorsAngle:kbt,vectorsRatio:Lbt},Symbol.toStringTag,{value:"Module"}));exports.Controls=dut,exports.DataType=tm,exports.EventType=Dy,exports.Graphic=mO,exports.Layer=dft,exports.Map=class extends TD{constructor(t="map",r){if(super(),e(this,"_mapOption"),e(this,"_layerArray"),e(this,"_view"),e(this,"_popupDiv"),e(this,"_popupContent"),e(this,"_popupCloser"),e(this,"_popup"),e(this,"baseLayer"),e(this,"_draw"),e(this,"GraphicLayer"),e(this,"MeasureLayer"),e(this,"overviewMapControl"),e(this,"_tooltip"),e(this,"_tooltipcontent"),e(this,"_tooltipElement"),e(this,"_select"),e(this,"_select2"),e(this,"option"),e(this,"controls"),e(this,"Proj"),e(this,"splitInteraction"),e(this,"_multiWindow"),e(this,"highFeature"),this.highFeature=null,this._layerArray=[],this._multiWindow=[],this.baseLayer=[],this._view=null,this._mapOption={zoom:13,center:{lng:102.103952024454,lat:26.1693520685273},minZoom:2,maxZoom:18,basemap:"天地图卫星",centerAutoLevel:15,defaultContextMenu:!0,controls:{scale:!0,locationBar:{crs:"EPSG:3857",template:"<div style='margin-right: 15px'>经度:{lng}</div> <div style='margin-right: 15px'>纬度:{lat}</div> <div style='margin-right: 15px'>横{crsx} 纵{crsy}</div> <div style='margin-right: 15px'>层级:{level}</div>"},layers:{position:"topleft"},zoom:{position:"bottomright"},toolBar:{position:"bottomright"}},basemaps:[{pid:10,name:"天地图卫星",type:"TileTdtLayer",layers:[{name:"底图",type:"tdt",layertype:"img_d",key:["ad5bee3fe473a639887fa9d57a670c6e"],url:"//t{0-7}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=9d8764edc63bda32cbca6c23a0286cc4"},{name:"注记",type:"tdt",layertype:"img_z",key:["ad5bee3fe473a639887fa9d57a670c6e"],url:"//t{0-7}.tianditu.gov.cn/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk=9d8764edc63bda32cbca6c23a0286cc4"}],url:""}]},this.option={contextmenu:[]},!r)return;r.map&&(this._mapOption=r.map,this._mapOption.basemaps.forEach((t=>{let e;switch(t.id||(t.id=Zk.uuid15()),this._mapOption.basemap===t.name&&(t.id="baselayer"),t.type){case Hy.TileGroupLayer:t.layers&&(e=new pQ(t.id,t));break;case Hy.arcgisMapServer:e=new aD(t.id,t);break;case Hy.arcgisMapTile:e=new sD(t.id,t);break;case Hy.imageLayer:e=new dQ(t.id,t);break;case Hy.tencent:e=new OD(t.id,t);break;case Hy.baidu:e=new fQ(t.id,t);break;case Hy.WmsLayer:e=new Eut(t.id,t);break;case Hy.WmsTileLayer:e=new Put(t.id,t);break;case Hy.WmtsLayer:e=new Fut(t.id,t);break;case Hy.TMSLayer:e=new Tut(t.id,t);break;default:e=new kD(t.id,t)}this._layerArray.push(e),this._mapOption.basemap===t.name&&this.baseLayer.push(e.layer)}))),this.controls={locationbar:null,baseLayerSwitch:null,swipe:new fut,selectTransform:new _ut({id:"SelectTransform"}),CrossStars:new Iut({})},this.controls.swipe.on("show",(t=>{this._map.addControl(t.swipe),t.swipe.addLayer(this.getLayer(t.leftlayerID),!1),t.swipe.addLayer(this.getLayer(t.rightlayerID),!0)})),this.controls.swipe.on("hide",(t=>{this._map.removeControl(t)})),this.Proj=new lO,this.init(t),this.controls.selectTransform.appendTo(this._map);let n=new FD;n.getMessage(),n.scanApk(r.appkey,"1.1.96")||this._map.addControl(new But({}))}_addTipElement(){this._tooltipElement=document.createElement("div"),this._tooltipElement.setAttribute("id","tooltip"),this._tooltipElement.setAttribute("class","tooltip"),this._tooltipcontent=document.createElement("div"),this._tooltipcontent.setAttribute("id","tooltip-content"),this._tooltipElement.appendChild(this._tooltipcontent),document.body.appendChild(this._tooltipElement),this._popupDiv=document.createElement("div"),this._popupDiv.setAttribute("id","popup"),this._popupDiv.setAttribute("class","ol-popup"),this._popupCloser=document.createElement("a"),this._popupCloser.setAttribute("id","popup-closer"),this._popupCloser.setAttribute("class","ol-popup-closer"),this._popupContent=document.createElement("div"),this._popupContent.setAttribute("id","popup-content"),this._popupDiv.appendChild(this._popupCloser),this._popupDiv.appendChild(this._popupContent),this._popupCloser.onclick=()=>{var t,e;null==(t=this._popup)||t.setPosition(void 0),null==(e=this._popupCloser)||e.blur(),this._popup.dispatchEvent({type:"popupclose",event:this._popupContent})}}init(t){this._view=new tl({projection:"EPSG:3857",center:dr([this._mapOption.center.lng,this._mapOption.center.lat],"EPSG:4326","EPSG:3857"),rotation:0,zoomFactor:2,zoom:this._mapOption.zoom,minZoom:this._mapOption.minZoom,maxZoom:this._mapOption.maxZoom,smoothResolutionConstraint:!1}),this._addTipElement(),this._popup=new xl({id:"popup",element:this._popupDiv,autoPan:{animation:{duration:250}}}),this._tooltip=new xl({id:"tooltip",element:this._tooltipElement,autoPan:{animation:{duration:250}}}),this._map=new hh({controls:kl({zoom:!1}),target:t,overlays:[this._popup,this._tooltip],layers:this.baseLayer,view:this._view,interactions:lh({doubleClickZoom:!1,pinchRotate:!1})}),this._mapOption.controls&&(this._mapOption.controls.scale&&this._map.addControl(this.scaleControl("scaleline")),this._mapOption.controls.locationBar&&(this.controls.locationbar=new uut({}),this._map.addControl(this.controls.locationbar))),this.controls.baseLayerSwitch=new hut({},this._mapOption.basemap,this._mapOption.basemaps,(t=>{this.setBaseLayer(t)})),this._map.addControl(this.controls.baseLayerSwitch),this._map.addControl(this.controls.CrossStars),this._select=new th({condition:Yl,style:(t,e)=>_O.setHighlightStyle(t),filter:(t,e)=>{if(e)return"kmlLayer"===e.get("layertype")||"ClusterImageLayer"!==e.get("layertype")&&"PbfLayer"!==e.get("layertype")&&!(t.get("editstate")||!t.get("movestate"))}}),this._select.on("select",(t=>{})),this._select2=new th({condition:Yl,style:null}),this._select2.on("select",(t=>{t.selected.length>0?(this._map.getTargetElement().style.cursor="pointer",t.selected.forEach((e=>{e instanceof zc&&(e=Vc(e)),e.get("features")?1===e.get("features").length&&e.get("features")[0].dispatchEvent({type:"mousemove",event:t}):e.dispatchEvent({type:"mousemove",event:t})}))):(this._map.getTargetElement().style.cursor="",t.deselected.forEach((e=>{e instanceof zc&&(e=Vc(e)),e.get("features")?1===e.get("features").length&&e.get("features")[0].dispatchEvent({type:"mouseout",event:t}):e.dispatchEvent({type:"mouseout",event:t})})))})),this._select.setActive(!0),this._select2.setActive(!0),this._map.addInteraction(this._select),this._map.addInteraction(this._select2),this._view.on("change:resolution",(t=>{this.trigger(Ry.onZoomChange,t.target.get("zoom"))})),this._view.on("change:center",(t=>{this.trigger(Ry.onCenterChange,t.target)})),this._map.on("pointermove",(t=>{var e;let r=null==(e=this._map)?void 0:e.getEventCoordinate(t.originalEvent);if(r){let e=dr(r,"EPSG:3857","EPSG:4326"),n=this.Proj.LnglatToCGCS2000(e[0],e[1],3);this.trigger(Ry.onMapMove,{clientX:t.originalEvent.clientX,clientY:t.originalEvent.clientY,lng:e[0],lat:e[1],crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(this._view.getZoom()),pixel:t.pixel}),this.controls.locationbar.updateMousePosition(Zk.format(this._mapOption.controls.locationBar.template,{lng:e[0].toFixed(6),lat:e[1].toFixed(6),crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(this._view.getZoom())}))}t.dragging||this.displayFeatureInfo(t)})),this._map.on("moveend",(t=>{if(t.frameState){const e=t.frameState.viewState;let r=dr(e.center,"EPSG:3857","EPSG:4326"),n=this.Proj.LnglatToCGCS2000(r[0],r[1],3);this.trigger(Ry.onMapMove,{lng:r[0],lat:r[1],crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(e.zoom)})}})),this._map.on("click",(t=>{var e;let r=null==(e=this._map)?void 0:e.getEventCoordinate(t.originalEvent);if(r){let e=dr(r,"EPSG:3857","EPSG:4326"),n=this.Proj.LnglatToCGCS2000(e[0],e[1],3);this.trigger(Ry.onClick,{clientX:t.originalEvent.clientX,clientY:t.originalEvent.clientY,lng:e[0],lat:e[1],crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(this._view.getZoom())})}})),this._map.on("singleclick",(t=>{var e;const r=null==(e=this._map)?void 0:e.forEachFeatureAtPixel(t.pixel,(function(t,e){return{feature:t,layer:e}}));if(r&&r.feature&&r.layer){let t=this.getUserLayer(r.layer.get("layerid"));"PbfLayer"==t.layertype?t.trigger(Ny.onClick,r.feature.getProperties()):t.trigger(Ny.onClick,r.feature),t.trigger("onClickTolayer",r.feature)}})),this.GraphicLayer=new bO("MyGraphicLayer"),this.MeasureLayer=new ZU(this._map),this.addLayer(this.GraphicLayer),this.initContextmenu(),this._on(this.EventType.XMapEventType.onMapContextmenu,(t=>{0===this.option.contextmenu.length?this.contextmenu.extend(this.contextmenu.getDefaultItems()):this.contextmenu.extend(this.option.contextmenu)})),this._on(this.EventType.featureType.onFeatureContextmenu,(t=>{this._layerArray.forEach((e=>{"MyGraphicLayer"===e.layerid&&e.trigger(this.EventType.featureType.onFeatureContextmenu,t)}))}))}openSplitInteraction(t){this.splitInteraction||(this.splitInteraction=new Sut({sources:t.getSource()}),this._map.addInteraction(this.splitInteraction)),this.splitInteraction.setActive(!0)}closeSplitInteraction(){this.splitInteraction.setActive(!1)}showGridkInfo(){const t=256,e=document.createElement("canvas");e.width=t,e.height=t;const r=e.getContext("2d");r.strokeStyle="rgba(0, 0, 0, 1)",r.textAlign="center",r.font="20px sans-serif";const n=new op({source:new IO({loader:function(e,n,i){const o=128;r.clearRect(0,0,t,t),r.fillStyle="rgba(255, 0, 0, 0.0)",r.fillRect(0,0,t,t),r.fillStyle="rgba(255, 0, 255, 1)",r.fillText(`z: ${e}`,o,98),r.fillText(`x: ${n}`,o,o),r.fillText(`y: ${i}`,o,158),r.strokeRect(0,0,t,t);const s=r.getImageData(0,0,t,t).data;return new Uint8Array(s.buffer)},transition:0})});this._map.addLayer(n)}showGrid(t){const e=t.size,r=document.createElement("canvas");r.width=e,r.height=e;const n=r.getContext("2d");n.lineWidth=5,n.textAlign="center",n.font="20px sans-serif";const i=new op({source:new IO({loader:function(r,i,o){const s=e/10;for(let t=1;t<10;t++)n.strokeStyle=5===t?"rgba(255,20,147, 0.5)":"rgba(211,211,211, 0.5)",n.beginPath(),n.lineWidth=1,n.moveTo(0,s*t),n.lineTo(e,s*t),n.stroke();for(let t=1;t<10;t++)n.strokeStyle=5===t?"rgba(255,20,147, 0.5)":"rgba(211,211,211, 0.5)",n.beginPath(),n.moveTo(s*t,0),n.lineTo(s*t,e),n.closePath(),n.stroke();n.lineWidth=3,n.strokeStyle=t.lineColor,n.strokeRect(0,0,e,e);const a=n.getImageData(0,0,e,e).data;return new Uint8Array(a.buffer)},transition:0})});this._map.addLayer(i)}showOverView(t,e="天地图卫星"){var r;let n;this._mapOption.basemaps.forEach((t=>{t.name===e&&t.layers&&(n=new pQ("OverviewLayer",t).layer)})),this.overviewMapControl=new El({className:"ol-overviewmap ol-custom-overviewmap",layers:[n],collapsed:!0,collapsible:!1,target:t}),null==(r=this._map)||r.addControl(this.overviewMapControl)}bindmenu(){}bindContextmenu(t){t&&(this.option.contextmenu=t)}appendContextmenu(t){t.forEach((t=>{this.contextmenu.push(t)}))}scaleControl(t){let e;return"scaleline"===t?(e=new Ll({units:"metric"}),e):(e=new Ll({units:"metric",bar:!0,steps:2,text:!0,minWidth:140}),e)}setZoomControlVisible(t=!0){if(t){let t=new gl;this._map.addControl(t)}else this._map.getControls().forEach((t=>{t instanceof gl&&this._map.removeControl(t)}))}setBaseLayerVisible(t=!0){this.getUserLayer("baselayer").layer.setVisible(t)}setBaseLayer(t,e){if(this._map){this._mapOption.basemap=t;let r=this._map.getLayers(),n=this.getBaseLayer(t);n.layer.set("layerid","baselayer"),r.forEach(((t,e)=>{"baselayer"===t.get("layerid")&&(r.remove(t),r.insertAt(0,n.layer))})),e&&n.addFilter(e),this.controls.baseLayerSwitch.changeBaseLayer(t),this.trigger(Ry.onChangeBaseLayer,{baseLayerName:t})}}getMap(){return this._map}getLayers(){return this._layerArray}getLayer(t){if(this._map){let e;return this._map.getLayers().forEach((r=>{r.get("layerid")!==t||(e=r)})),e}}getBasemaps(){return this._mapOption.basemaps}getUserLayer(t){let e;if(this._map)return e=this._layerArray.find((e=>e.layerid===t)),e}getTileLayer(){let t=[];if(this._map)return this._layerArray.forEach((e=>{"tilelayer"===e.layerclass&&t.push(e)})),t}getBaseLayer(t){let e;return e=this._layerArray.find((function(e,r,n){return e.option.name===t})),e.layerid="baselayer",e.layer.set("layerid","baselayer"),e}addLayer(t){t.appendTo(this._map),this._layerArray.push(t)}removeLayer(t){this._layerArray.forEach(((e,r)=>{var n;if(e.layerid===t){switch(e.layertype){case"EchartLayer":e.layer.remove();break;case"DivLayer":e.trigger(Ry.onRemoveLayer,{layerid:t});break;case"MapVLayer":e.layer.removeLayer();break;default:e.trigger(Ry.onRemoveLayer,{layerid:t}),null==(n=this._map)||n.removeLayer(e.layer)}delete this._layerArray[r]}}))}setCenterBy4326(t,e,r=!1){this._view.setCenter(dr(t,"EPSG:4326","EPSG:3857")),e&&this._view.setZoom(e),r&&this.showflashPoint(dr(t,"EPSG:4326","EPSG:3857"))}setCenter(t,e,r=zy.EPSG3857,n=!1){let i;i=r===zy.EPSG4326?this.Proj.ConvertCoordinatesTo3857(r,t):r===zy.EPSG3857?t:this.Proj.ConvertCoordinatesTo3857(r,t),this._view.setCenter(i),e&&this._view.setZoom(e),n&&this.showflashPoint(i)}getView(){return{center:dr(this._view.getCenter(),"EPSG:3857","EPSG:4326"),level:Math.round(this._view.getZoom())}}getExtent(){return this._view.calculateExtent()}showflashPoint(t){var e;let r=document.createElement("div");r.id="dot",r.style.width="16px",r.style.height="16px",r.style.background="red",r.style.borderRadius="25px",r.style.display="block";let n=new xl({element:r,positioning:"center-center"});n.setPosition(t),n.setPositioning("center-center");let i=0;null==(e=this._map)||e.addOverlay(n);let o=setInterval((()=>{var t;i++,r.style.background=i%2==0?"yellow":"red",i>9&&(clearInterval(o),null==(t=this._map)||t.removeOverlay(n))}),300)}lookToAnimate(t,e=700,r=1){this._view.animate({zoom:this._view.getZoom()+r,duration:e,center:t})}flyToLnglat(t){let e={location:[0,0],firstzoom:this._view.getZoom()-1,tozoom:this._view.getZoom(),duration1:500,duration2:500,duration3:500,callback:null};e=eO.merge(e,t,!0),e.location=dr(t.location,"EPSG:4326","EPSG:3857"),this.flyTo(e)}flyTo(t){(t.location instanceof Mr||t.location instanceof Z)&&(t.location=gO.getCenter(t.location));let e={location:[0,0],firstzoom:this._view.getZoom()-1,tozoom:this._view.getZoom(),duration1:500,duration2:500,duration3:500,callback:null};e=eO.merge(e,t,!0),this._view.animate({zoom:e.firstzoom,duration:e.duration1},{center:e.location,duration:e.duration2},{zoom:e.tozoom,duration:e.duration3},(function(t){t&&e.callback&&e.callback()}))}fit(t,e){this._view.fit(t,e)}displayFeatureInfo(t){var e,r;const n=null==(e=this._map)?void 0:e.forEachFeatureAtPixel(t.pixel,(function(t,e){return{feature:t,layer:e}}),{hitTolerance:5});try{if(n){if("PbfLayer"==(null==(r=n.layer.getProperties())?void 0:r.layertype)){let t=this.getUserLayer(n.layer.get("layerid"));n.feature&&t.trigger("onLayerMove",n.feature)}}else this.getLayers().forEach((t=>{t.trigger("onLayerOut","")}))}catch{}}exportMapSelector(t=".ol-layer canvas, canvas.ol-layer,#huitutext1",e,r){try{const r=this._map.getSize();Rq(document.querySelector(t),{useCORS:!0,scale:window.devicePixelRatio<3?window.devicePixelRatio:2,allowTaint:!0,width:r[0],height:r[1]}).then((t=>{e?e(t):t.toBlob((function(t){Hq.saveAs(t,"map.png")}))}))}catch(XX){r(XX)}}exportMap(t,e){this._map.once("rendercomplete",(()=>{const t=document.createElement("canvas"),e=this._map.getSize();t.width=e[0],t.height=e[1];const r=t.getContext("2d");Array.prototype.forEach.call(this._map.getViewport().querySelectorAll(".ol-layer canvas, canvas.ol-layer,ol-scale-line ol-unselectable,.huitudiv"),(function(t){if(t.width>0){const e=t.parentNode.style.opacity||t.style.opacity;let n;r.globalAlpha=""===e?1:Number(e);const i=t.style.transform;n=i?i.match(/^matrix\(([^\(]*)\)$/)[1].split(",").map(Number):[parseFloat(t.style.width)/t.width,0,0,parseFloat(t.style.height)/t.height,0,0],CanvasRenderingContext2D.prototype.setTransform.apply(r,n);const o=t.parentNode.style.backgroundColor;o&&(r.fillStyle=o,r.fillRect(0,0,t.width,t.height)),r.drawImage(t,0,0)}})),r.globalAlpha=1,r.setTransform(1,0,0,1,0,0);const n=document.createElement("a");n.href=t.toDataURL(),n.download="map.png",n.click()})),this._map.renderSync()}exportMapPdf(){document.body.style.cursor="progress";const t=[297,210],e=Math.round(300*t[0]/25.4),r=Math.round(300*t[1]/25.4),n=this._map.getSize(),i=this._map.getView().getResolution();this._map.once("rendercomplete",(()=>{const o=document.createElement("canvas");o.width=e,o.height=r;const s=o.getContext("2d");Array.prototype.forEach.call(document.querySelectorAll(".ol-layer canvas"),(function(t){if(t.width>0){const e=t.parentNode.style.opacity;s.globalAlpha=""===e?1:Number(e);const r=t.style.transform.match(/^matrix\(([^\(]*)\)$/)[1].split(",").map(Number);CanvasRenderingContext2D.prototype.setTransform.apply(s,r),s.drawImage(t,0,0)}})),s.globalAlpha=1,s.setTransform(1,0,0,1,0,0);const a=new lX("landscape",void 0,"a4");a.addImage(o.toDataURL("image/jpeg"),"JPEG",0,0,t[0],t[1]),a.save("map.pdf"),this._map.setSize(n),this._map.getView().setResolution(i),document.body.style.cursor="auto"}));const o=[e,r];this._map.setSize(o);const s=Math.min(e/n[0],r/n[1]);this._map.getView().setResolution(i/s)}setSelectState(t){this._select.setActive(t),this._select2.setActive(t)}setMapCursor(t){this._map.getTargetElement().style.cursor=t}setRotation(t){this._view.setRotation(t*Math.PI/180)}showBaseMap(t){t?this.getLayer("baselayer").setVisible(!0):this.getLayer("baselayer").setVisible(!1)}showMultiWindow(t){this.hideMultiWindow(),t.length>=1&&t.forEach((t=>{let e,r,n=[];switch(r=t.baselayer?this._mapOption.basemaps.find((e=>e.name===t.baselayer)):this._mapOption.basemaps.find((t=>t.name===this._mapOption.basemap)),r.id||(r.id=Zk.uuid15()),r.type){case Hy.TileGroupLayer:r.layers&&(e=new pQ(r.id,r));break;case Hy.arcgisMapServer:e=new aD(r.id,r);break;case Hy.arcgisMapTile:e=new sD(r.id,r);break;case Hy.imageLayer:e=new dQ(r.id,r);break;case Hy.tencent:e=new OD(r.id,r);break;case Hy.baidu:e=new fQ(r.id,r);break;case Hy.WmsLayer:e=new Eut(r.id,r);break;case Hy.WmsTileLayer:e=new Put(r.id,r);break;case Hy.WmtsLayer:e=new Fut(r.id,r);break;case Hy.TMSLayer:e=new Tut(r.id,r);break;default:e=new kD(r.id,r)}n.push(e.layer),t.overLayer&&n.push(t.overLayer),t.syncGraphicLayer&&n.push(this.GraphicLayer.layer),this._multiWindow.push(new hh({target:t.target,layers:n,view:this._view}))}))}hideMultiWindow(){this._multiWindow.length>0&&(this._multiWindow.forEach((t=>{t.dispose()})),this._multiWindow=[])}setOptions(t,e){switch(t.toLowerCase()){case"zoom":this._map.getView().setZoom(parseInt(e));break;case"backgroundColor":break;case"defaultContextMenu":e&&this.bindContextmenu()}}destroy(){this._map.dispose(),this._popupDiv.parentNode.removeChild(this._popupDiv)}},exports.Query=mft,exports.Resource=gft,exports.SpatialAnalysis=gO,exports.Style=Is,exports.Toolbox=Zk,exports.Util=sO,exports.defaultStyle=_O,exports.eventTarget=Aut,exports.proj=lO,exports.tykg=class extends my{constructor(){super(),e(this,"Option"),this.Option={startPoint:[510367.2358,2895576.008],startNumberX:1,startNumberY:1,maxWidth:100,maxHeight:100,onlyWidth:5,onlyHeight:5,quadrant:1,fqChar:"",firstChar:"T",xChar:"",yChar:"",xReverseOrder:!1,yReverseOrder:!1,wkid:"",digit:100,north:!0,createExtent:[],excludeExtent:[],step:1}}createTF(t){Object.assign(this.Option,t);let e=this.Option.maxWidth/this.Option.onlyWidth,r=this.Option.maxHeight/this.Option.onlyHeight,n=[];for(let i=0;i<e;i++)for(let t=0;t<r;t++){let o="",s="";this.Option.yReverseOrder?e-i+this.Option.startNumberY-1<this.Option.digit?(s=(this.Option.digit+(e-i+this.Option.startNumberY-1)*this.Option.step).toString(),s=s.substring(1,s.length)):s=((e-i+this.Option.startNumberY-1)*this.Option.step).toString():i+this.Option.startNumberY<this.Option.digit?(s=(this.Option.digit+(i+this.Option.startNumberY)*this.Option.step).toString(),s=s.substring(1,s.length)):s=((i+this.Option.startNumberY)*this.Option.step).toString(),this.Option.xReverseOrder?r-t+this.Option.startNumberX-1<this.Option.digit?(o=(this.Option.digit+(r-t+this.Option.startNumberX-1)*this.Option.step).toString(),o=o.substring(1,o.length)):o=((r-t+this.Option.startNumberX-1)*this.Option.step).toString():t+this.Option.startNumberX<this.Option.digit?(o=(this.Option.digit+(t+this.Option.startNumberX)*this.Option.step).toString(),o=o.substring(1,o.length)):o=((t+this.Option.startNumberX)*this.Option.step).toString();let a=this.Option.fqChar+this.Option.firstChar+this.Option.xChar+o+this.Option.yChar+s;this.Option.north||(a=this.Option.fqChar+this.Option.firstChar+this.Option.xChar+s+this.Option.yChar+o);let l=0,u=0,h=0,c=0;switch(this.Option.quadrant){case 1:l=this.Option.startPoint[0]+i*this.Option.onlyWidth,u=this.Option.startPoint[1]+t*this.Option.onlyHeight,h=this.Option.startPoint[0]+(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]+(t+1)*this.Option.onlyHeight;break;case 2:l=this.Option.startPoint[0]-i*this.Option.onlyWidth,u=this.Option.startPoint[1]+t*this.Option.onlyHeight,h=this.Option.startPoint[0]-(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]+(t+1)*this.Option.onlyHeight;break;case 3:l=this.Option.startPoint[0]-i*this.Option.onlyWidth,u=this.Option.startPoint[1]-t*this.Option.onlyHeight,h=this.Option.startPoint[0]-(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]-(t+1)*this.Option.onlyHeight;break;case 4:l=this.Option.startPoint[0]+i*this.Option.onlyWidth,u=this.Option.startPoint[1]-t*this.Option.onlyHeight,h=this.Option.startPoint[0]+(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]-(t+1)*this.Option.onlyHeight}let A=[],f=[];f.push([l,c]),f.push([h,c]),f.push([h,u]),f.push([l,u]),f.push([l,c]),A.push(f);let p=[],d=[];"3857"!==this.Option.wkid?(d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[l,c])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[h,c])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[h,u])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[l,u])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[l,c])),p.push(d)):(d=f,p=A);let g=[],y=[];"4326"!==this.Option.wkid?(y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[l,c])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[h,c])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[h,u])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[l,u])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[l,c])),g.push(y)):(y=f,g=A);let m=!1;this.Option.createExtent.length>0?this.Option.createExtent.forEach((t=>{const e=new HA;let r=fm(p,{name:"poly2"});const n=e.writeFeatureObject(t);(OS(n,r)||WS(n,r))&&(m=!0)})):m=!0;let v=!1;this.Option.excludeExtent.length>0&&this.Option.excludeExtent.forEach((t=>{const e=new HA;let r=fm(p,{name:"poly2"});const n=e.writeFeatureObject(t);v=!(!OS(n,r)&&!WS(n,r))})),m&&!v&&n.push({type:"Feature",geometry:{type:"Polygon",coordinates:p},properties:{name:a,dataType:"新增探方","网格编号":a,"原始坐标":f,"负责人":"","分区号":this.Option.fqChar,"坐标3857":d,"坐标4326":y,"长度":this.Option.onlyWidth,"宽度":this.Option.onlyHeight,"探方规格":this.Option.onlyWidth+"*"+this.Option.onlyHeight,style:{GraphicType:"Polygon",fillcolor:"rgba(255,0,0,0)",strokecolor:"rgba(255,255,0,1)",strokewidth:"1",GraphicOutlineStyle:"STYLE_SOLID"}}})}return{type:"FeatureCollection",crs:{type:"name",properties:{name:"EPSG:3857"}},features:n}}createGrid(){}};
|
|
488
|
+
var Iwt=function(t,e){return(Iwt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function Pwt(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}Iwt(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function Fwt(t,e){var r=t[0],n=t[1];return[r*Math.cos(e)-n*Math.sin(e),r*Math.sin(e)+n*Math.cos(e)]}function Twt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=0;r<t.length;r++)if("number"!=typeof t[r])throw new Error("assertNumbers arguments["+r+"] is not a number. "+typeof t[r]+" == typeof "+t[r]);return!0}var Mwt=Math.PI;function Lwt(t,e,r){t.lArcFlag=0===t.lArcFlag?0:1,t.sweepFlag=0===t.sweepFlag?0:1;var n=t.rX,i=t.rY,o=t.x,s=t.y;n=Math.abs(t.rX),i=Math.abs(t.rY);var a=Fwt([(e-o)/2,(r-s)/2],-t.xRot/180*Mwt),l=a[0],u=a[1],h=Math.pow(l,2)/Math.pow(n,2)+Math.pow(u,2)/Math.pow(i,2);1<h&&(n*=Math.sqrt(h),i*=Math.sqrt(h)),t.rX=n,t.rY=i;var c=Math.pow(n,2)*Math.pow(u,2)+Math.pow(i,2)*Math.pow(l,2),A=(t.lArcFlag!==t.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(n,2)*Math.pow(i,2)-c)/c)),f=n*u/i*A,p=-i*l/n*A,d=Fwt([f,p],t.xRot/180*Mwt);t.cX=d[0]+(e+o)/2,t.cY=d[1]+(r+s)/2,t.phi1=Math.atan2((u-p)/i,(l-f)/n),t.phi2=Math.atan2((-u-p)/i,(-l-f)/n),0===t.sweepFlag&&t.phi2>t.phi1&&(t.phi2-=2*Mwt),1===t.sweepFlag&&t.phi2<t.phi1&&(t.phi2+=2*Mwt),t.phi1*=180/Mwt,t.phi2*=180/Mwt}function kwt(t,e,r){Twt(t,e,r);var n=t*t+e*e-r*r;if(0>n)return[];if(0===n)return[[t*r/(t*t+e*e),e*r/(t*t+e*e)]];var i=Math.sqrt(n);return[[(t*r+e*i)/(t*t+e*e),(e*r-t*i)/(t*t+e*e)],[(t*r-e*i)/(t*t+e*e),(e*r+t*i)/(t*t+e*e)]]}var Owt,Nwt=Math.PI/180;function Rwt(t,e,r){return(1-r)*t+r*e}function Uwt(t,e,r,n){return t+Math.cos(n/180*Mwt)*e+Math.sin(n/180*Mwt)*r}function Dwt(t,e,r,n){var i=1e-6,o=e-t,s=r-e,a=3*o+3*(n-r)-6*s,l=6*(s-o),u=3*o;return Math.abs(a)<i?[-u/l]:function(t,e,r){var n=t*t/4-e;if(n<-r)return[];if(n<=r)return[-t/2];var i=Math.sqrt(n);return[-t/2-i,-t/2+i]}(l/a,u/a,i)}function Qwt(t,e,r,n,i){var o=1-i;return t*(o*o*o)+e*(3*o*o*i)+r*(3*o*i*i)+n*(i*i*i)}!function(t){function e(){return i((function(t,e,r){return t.relative&&(void 0!==t.x1&&(t.x1+=e),void 0!==t.y1&&(t.y1+=r),void 0!==t.x2&&(t.x2+=e),void 0!==t.y2&&(t.y2+=r),void 0!==t.x&&(t.x+=e),void 0!==t.y&&(t.y+=r),t.relative=!1),t}))}function r(){var t=NaN,e=NaN,r=NaN,n=NaN;return i((function(i,o,s){return i.type&Kwt.SMOOTH_CURVE_TO&&(i.type=Kwt.CURVE_TO,t=isNaN(t)?o:t,e=isNaN(e)?s:e,i.x1=i.relative?o-t:2*o-t,i.y1=i.relative?s-e:2*s-e),i.type&Kwt.CURVE_TO?(t=i.relative?o+i.x2:i.x2,e=i.relative?s+i.y2:i.y2):(t=NaN,e=NaN),i.type&Kwt.SMOOTH_QUAD_TO&&(i.type=Kwt.QUAD_TO,r=isNaN(r)?o:r,n=isNaN(n)?s:n,i.x1=i.relative?o-r:2*o-r,i.y1=i.relative?s-n:2*s-n),i.type&Kwt.QUAD_TO?(r=i.relative?o+i.x1:i.x1,n=i.relative?s+i.y1:i.y1):(r=NaN,n=NaN),i}))}function n(){var t=NaN,e=NaN;return i((function(r,n,i){if(r.type&Kwt.SMOOTH_QUAD_TO&&(r.type=Kwt.QUAD_TO,t=isNaN(t)?n:t,e=isNaN(e)?i:e,r.x1=r.relative?n-t:2*n-t,r.y1=r.relative?i-e:2*i-e),r.type&Kwt.QUAD_TO){t=r.relative?n+r.x1:r.x1,e=r.relative?i+r.y1:r.y1;var o=r.x1,s=r.y1;r.type=Kwt.CURVE_TO,r.x1=((r.relative?0:n)+2*o)/3,r.y1=((r.relative?0:i)+2*s)/3,r.x2=(r.x+2*o)/3,r.y2=(r.y+2*s)/3}else t=NaN,e=NaN;return r}))}function i(t){var e=0,r=0,n=NaN,i=NaN;return function(o){if(isNaN(n)&&!(o.type&Kwt.MOVE_TO))throw new Error("path must start with moveto");var s=t(o,e,r,n,i);return o.type&Kwt.CLOSE_PATH&&(e=n,r=i),void 0!==o.x&&(e=o.relative?e+o.x:o.x),void 0!==o.y&&(r=o.relative?r+o.y:o.y),o.type&Kwt.MOVE_TO&&(n=e,i=r),s}}function o(t,e,r,n,o,s){return Twt(t,e,r,n,o,s),i((function(i,a,l,u){var h=i.x1,c=i.x2,A=i.relative&&!isNaN(u),f=void 0!==i.x?i.x:A?0:a,p=void 0!==i.y?i.y:A?0:l;function d(t){return t*t}i.type&Kwt.HORIZ_LINE_TO&&0!==e&&(i.type=Kwt.LINE_TO,i.y=i.relative?0:l),i.type&Kwt.VERT_LINE_TO&&0!==r&&(i.type=Kwt.LINE_TO,i.x=i.relative?0:a),void 0!==i.x&&(i.x=i.x*t+p*r+(A?0:o)),void 0!==i.y&&(i.y=f*e+i.y*n+(A?0:s)),void 0!==i.x1&&(i.x1=i.x1*t+i.y1*r+(A?0:o)),void 0!==i.y1&&(i.y1=h*e+i.y1*n+(A?0:s)),void 0!==i.x2&&(i.x2=i.x2*t+i.y2*r+(A?0:o)),void 0!==i.y2&&(i.y2=c*e+i.y2*n+(A?0:s));var g=t*n-e*r;if(void 0!==i.xRot&&(1!==t||0!==e||0!==r||1!==n))if(0===g)delete i.rX,delete i.rY,delete i.xRot,delete i.lArcFlag,delete i.sweepFlag,i.type=Kwt.LINE_TO;else{var y=i.xRot*Math.PI/180,m=Math.sin(y),v=Math.cos(y),_=1/d(i.rX),w=1/d(i.rY),b=d(v)*_+d(m)*w,x=2*m*v*(_-w),C=d(m)*_+d(v)*w,S=b*n*n-x*e*n+C*e*e,E=x*(t*n+e*r)-2*(b*r*n+C*t*e),B=b*r*r-x*t*r+C*t*t,I=(Math.atan2(E,S-B)+Math.PI)%Math.PI/2,P=Math.sin(I),F=Math.cos(I);i.rX=Math.abs(g)/Math.sqrt(S*d(F)+E*P*F+B*d(P)),i.rY=Math.abs(g)/Math.sqrt(S*d(P)-E*P*F+B*d(F)),i.xRot=180*I/Math.PI}return void 0!==i.sweepFlag&&0>g&&(i.sweepFlag=+!i.sweepFlag),i}))}t.ROUND=function(t){function e(e){return Math.round(e*t)/t}return void 0===t&&(t=1e13),Twt(t),function(t){return void 0!==t.x1&&(t.x1=e(t.x1)),void 0!==t.y1&&(t.y1=e(t.y1)),void 0!==t.x2&&(t.x2=e(t.x2)),void 0!==t.y2&&(t.y2=e(t.y2)),void 0!==t.x&&(t.x=e(t.x)),void 0!==t.y&&(t.y=e(t.y)),void 0!==t.rX&&(t.rX=e(t.rX)),void 0!==t.rY&&(t.rY=e(t.rY)),t}},t.TO_ABS=e,t.TO_REL=function(){return i((function(t,e,r){return t.relative||(void 0!==t.x1&&(t.x1-=e),void 0!==t.y1&&(t.y1-=r),void 0!==t.x2&&(t.x2-=e),void 0!==t.y2&&(t.y2-=r),void 0!==t.x&&(t.x-=e),void 0!==t.y&&(t.y-=r),t.relative=!0),t}))},t.NORMALIZE_HVZ=function(t,e,r){return void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),i((function(n,i,o,s,a){if(isNaN(s)&&!(n.type&Kwt.MOVE_TO))throw new Error("path must start with moveto");return e&&n.type&Kwt.HORIZ_LINE_TO&&(n.type=Kwt.LINE_TO,n.y=n.relative?0:o),r&&n.type&Kwt.VERT_LINE_TO&&(n.type=Kwt.LINE_TO,n.x=n.relative?0:i),t&&n.type&Kwt.CLOSE_PATH&&(n.type=Kwt.LINE_TO,n.x=n.relative?s-i:s,n.y=n.relative?a-o:a),n.type&Kwt.ARC&&(0===n.rX||0===n.rY)&&(n.type=Kwt.LINE_TO,delete n.rX,delete n.rY,delete n.xRot,delete n.lArcFlag,delete n.sweepFlag),n}))},t.NORMALIZE_ST=r,t.QT_TO_C=n,t.INFO=i,t.SANITIZE=function(t){void 0===t&&(t=0),Twt(t);var e=NaN,r=NaN,n=NaN,o=NaN;return i((function(i,s,a,l,u){var h=Math.abs,c=!1,A=0,f=0;if(i.type&Kwt.SMOOTH_CURVE_TO&&(A=isNaN(e)?0:s-e,f=isNaN(r)?0:a-r),i.type&(Kwt.CURVE_TO|Kwt.SMOOTH_CURVE_TO)?(e=i.relative?s+i.x2:i.x2,r=i.relative?a+i.y2:i.y2):(e=NaN,r=NaN),i.type&Kwt.SMOOTH_QUAD_TO?(n=isNaN(n)?s:2*s-n,o=isNaN(o)?a:2*a-o):i.type&Kwt.QUAD_TO?(n=i.relative?s+i.x1:i.x1,o=i.relative?a+i.y1:i.y2):(n=NaN,o=NaN),i.type&Kwt.LINE_COMMANDS||i.type&Kwt.ARC&&(0===i.rX||0===i.rY||!i.lArcFlag)||i.type&Kwt.CURVE_TO||i.type&Kwt.SMOOTH_CURVE_TO||i.type&Kwt.QUAD_TO||i.type&Kwt.SMOOTH_QUAD_TO){var p=void 0===i.x?0:i.relative?i.x:i.x-s,d=void 0===i.y?0:i.relative?i.y:i.y-a;A=isNaN(n)?void 0===i.x1?A:i.relative?i.x:i.x1-s:n-s,f=isNaN(o)?void 0===i.y1?f:i.relative?i.y:i.y1-a:o-a;var g=void 0===i.x2?0:i.relative?i.x:i.x2-s,y=void 0===i.y2?0:i.relative?i.y:i.y2-a;h(p)<=t&&h(d)<=t&&h(A)<=t&&h(f)<=t&&h(g)<=t&&h(y)<=t&&(c=!0)}return i.type&Kwt.CLOSE_PATH&&h(s-l)<=t&&h(a-u)<=t&&(c=!0),c?[]:i}))},t.MATRIX=o,t.ROTATE=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=0),Twt(t,e,r);var n=Math.sin(t),i=Math.cos(t);return o(i,n,-n,i,e-e*i+r*n,r-e*n-r*i)},t.TRANSLATE=function(t,e){return void 0===e&&(e=0),Twt(t,e),o(1,0,0,1,t,e)},t.SCALE=function(t,e){return void 0===e&&(e=t),Twt(t,e),o(t,0,0,e,0,0)},t.SKEW_X=function(t){return Twt(t),o(1,0,Math.atan(t),1,0,0)},t.SKEW_Y=function(t){return Twt(t),o(1,Math.atan(t),0,1,0,0)},t.X_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),Twt(t),o(-1,0,0,1,t,0)},t.Y_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),Twt(t),o(1,0,0,-1,0,t)},t.A_TO_C=function(){return i((function(t,e,r){return Kwt.ARC===t.type?function(t,e,r){var n,i,o,s;t.cX||Lwt(t,e,r);for(var a=Math.min(t.phi1,t.phi2),l=Math.max(t.phi1,t.phi2)-a,u=Math.ceil(l/90),h=new Array(u),c=e,A=r,f=0;f<u;f++){var p=Rwt(t.phi1,t.phi2,f/u),d=Rwt(t.phi1,t.phi2,(f+1)/u),g=d-p,y=4/3*Math.tan(g*Nwt/4),m=[Math.cos(p*Nwt)-y*Math.sin(p*Nwt),Math.sin(p*Nwt)+y*Math.cos(p*Nwt)],v=m[0],_=m[1],w=[Math.cos(d*Nwt),Math.sin(d*Nwt)],b=w[0],x=w[1],C=[b+y*Math.sin(d*Nwt),x-y*Math.cos(d*Nwt)],S=C[0],E=C[1];h[f]={relative:t.relative,type:Kwt.CURVE_TO};var B=function(e,r){var n=Fwt([e*t.rX,r*t.rY],t.xRot),i=n[0],o=n[1];return[t.cX+i,t.cY+o]};n=B(v,_),h[f].x1=n[0],h[f].y1=n[1],i=B(S,E),h[f].x2=i[0],h[f].y2=i[1],o=B(b,x),h[f].x=o[0],h[f].y=o[1],t.relative&&(h[f].x1-=c,h[f].y1-=A,h[f].x2-=c,h[f].y2-=A,h[f].x-=c,h[f].y-=A),c=(s=[h[f].x,h[f].y])[0],A=s[1]}return h}(t,t.relative?0:e,t.relative?0:r):t}))},t.ANNOTATE_ARCS=function(){return i((function(t,e,r){return t.relative&&(e=0,r=0),Kwt.ARC===t.type&&Lwt(t,e,r),t}))},t.CLONE=function(){return function(t){var e={};for(var r in t)e[r]=t[r];return e}},t.CALCULATE_BOUNDS=function(){var t=e(),o=n(),s=r(),a=i((function(e,r,n){var i=s(o(t(function(t){var e={};for(var r in t)e[r]=t[r];return e}(e))));function l(t){t>a.maxX&&(a.maxX=t),t<a.minX&&(a.minX=t)}function u(t){t>a.maxY&&(a.maxY=t),t<a.minY&&(a.minY=t)}if(i.type&Kwt.DRAWING_COMMANDS&&(l(r),u(n)),i.type&Kwt.HORIZ_LINE_TO&&l(i.x),i.type&Kwt.VERT_LINE_TO&&u(i.y),i.type&Kwt.LINE_TO&&(l(i.x),u(i.y)),i.type&Kwt.CURVE_TO){l(i.x),u(i.y);for(var h=0,c=Dwt(r,i.x1,i.x2,i.x);h<c.length;h++)0<(B=c[h])&&1>B&&l(Qwt(r,i.x1,i.x2,i.x,B));for(var A=0,f=Dwt(n,i.y1,i.y2,i.y);A<f.length;A++)0<(B=f[A])&&1>B&&u(Qwt(n,i.y1,i.y2,i.y,B))}if(i.type&Kwt.ARC){l(i.x),u(i.y),Lwt(i,r,n);for(var p=i.xRot/180*Math.PI,d=Math.cos(p)*i.rX,g=Math.sin(p)*i.rX,y=-Math.sin(p)*i.rY,m=Math.cos(p)*i.rY,v=i.phi1<i.phi2?[i.phi1,i.phi2]:-180>i.phi2?[i.phi2+360,i.phi1+360]:[i.phi2,i.phi1],_=v[0],w=v[1],b=function(t){var e=t[0],r=t[1],n=180*Math.atan2(r,e)/Math.PI;return n<_?n+360:n},x=0,C=kwt(y,-d,0).map(b);x<C.length;x++)(B=C[x])>_&&B<w&&l(Uwt(i.cX,d,y,B));for(var S=0,E=kwt(m,-g,0).map(b);S<E.length;S++){var B;(B=E[S])>_&&B<w&&u(Uwt(i.cY,g,m,B))}}return e}));return a.minX=1/0,a.maxX=-1/0,a.minY=1/0,a.maxY=-1/0,a}}(Owt||(Owt={}));var Gwt,jwt=function(){function t(){}return t.prototype.round=function(t){return this.transform(Owt.ROUND(t))},t.prototype.toAbs=function(){return this.transform(Owt.TO_ABS())},t.prototype.toRel=function(){return this.transform(Owt.TO_REL())},t.prototype.normalizeHVZ=function(t,e,r){return this.transform(Owt.NORMALIZE_HVZ(t,e,r))},t.prototype.normalizeST=function(){return this.transform(Owt.NORMALIZE_ST())},t.prototype.qtToC=function(){return this.transform(Owt.QT_TO_C())},t.prototype.aToC=function(){return this.transform(Owt.A_TO_C())},t.prototype.sanitize=function(t){return this.transform(Owt.SANITIZE(t))},t.prototype.translate=function(t,e){return this.transform(Owt.TRANSLATE(t,e))},t.prototype.scale=function(t,e){return this.transform(Owt.SCALE(t,e))},t.prototype.rotate=function(t,e,r){return this.transform(Owt.ROTATE(t,e,r))},t.prototype.matrix=function(t,e,r,n,i,o){return this.transform(Owt.MATRIX(t,e,r,n,i,o))},t.prototype.skewX=function(t){return this.transform(Owt.SKEW_X(t))},t.prototype.skewY=function(t){return this.transform(Owt.SKEW_Y(t))},t.prototype.xSymmetry=function(t){return this.transform(Owt.X_AXIS_SYMMETRY(t))},t.prototype.ySymmetry=function(t){return this.transform(Owt.Y_AXIS_SYMMETRY(t))},t.prototype.annotateArcs=function(){return this.transform(Owt.ANNOTATE_ARCS())},t}(),Hwt=function(t){return" "===t||"\t"===t||"\r"===t||"\n"===t},zwt=function(t){return"0".charCodeAt(0)<=t.charCodeAt(0)&&t.charCodeAt(0)<="9".charCodeAt(0)},Vwt=function(t){function e(){var e=t.call(this)||this;return e.curNumber="",e.curCommandType=-1,e.curCommandRelative=!1,e.canParseCommandOrComma=!0,e.curNumberHasExp=!1,e.curNumberHasExpDigits=!1,e.curNumberHasDecimal=!1,e.curArgs=[],e}return Pwt(e,t),e.prototype.finish=function(t){if(void 0===t&&(t=[]),this.parse(" ",t),0!==this.curArgs.length||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return t},e.prototype.parse=function(t,e){var r=this;void 0===e&&(e=[]);for(var n=function(t){e.push(t),r.curArgs.length=0,r.canParseCommandOrComma=!0},i=0;i<t.length;i++){var o=t[i],s=!(this.curCommandType!==Kwt.ARC||3!==this.curArgs.length&&4!==this.curArgs.length||1!==this.curNumber.length||"0"!==this.curNumber&&"1"!==this.curNumber),a=zwt(o)&&("0"===this.curNumber&&"0"===o||s);if(!zwt(o)||a)if("e"!==o&&"E"!==o)if("-"!==o&&"+"!==o||!this.curNumberHasExp||this.curNumberHasExpDigits)if("."!==o||this.curNumberHasExp||this.curNumberHasDecimal||s){if(this.curNumber&&-1!==this.curCommandType){var l=Number(this.curNumber);if(isNaN(l))throw new SyntaxError("Invalid number ending at "+i);if(this.curCommandType===Kwt.ARC)if(0===this.curArgs.length||1===this.curArgs.length){if(0>l)throw new SyntaxError('Expected positive number, got "'+l+'" at index "'+i+'"')}else if((3===this.curArgs.length||4===this.curArgs.length)&&"0"!==this.curNumber&&"1"!==this.curNumber)throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+i+'"');this.curArgs.push(l),this.curArgs.length===qwt[this.curCommandType]&&(Kwt.HORIZ_LINE_TO===this.curCommandType?n({type:Kwt.HORIZ_LINE_TO,relative:this.curCommandRelative,x:l}):Kwt.VERT_LINE_TO===this.curCommandType?n({type:Kwt.VERT_LINE_TO,relative:this.curCommandRelative,y:l}):this.curCommandType===Kwt.MOVE_TO||this.curCommandType===Kwt.LINE_TO||this.curCommandType===Kwt.SMOOTH_QUAD_TO?(n({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),Kwt.MOVE_TO===this.curCommandType&&(this.curCommandType=Kwt.LINE_TO)):this.curCommandType===Kwt.CURVE_TO?n({type:Kwt.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===Kwt.SMOOTH_CURVE_TO?n({type:Kwt.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===Kwt.QUAD_TO?n({type:Kwt.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===Kwt.ARC&&n({type:Kwt.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!Hwt(o))if(","===o&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if("+"!==o&&"-"!==o&&"."!==o)if(a)this.curNumber=o,this.curNumberHasDecimal=!1;else{if(0!==this.curArgs.length)throw new SyntaxError("Unterminated command at index "+i+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+o+'" at index '+i+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,"z"!==o&&"Z"!==o)if("h"===o||"H"===o)this.curCommandType=Kwt.HORIZ_LINE_TO,this.curCommandRelative="h"===o;else if("v"===o||"V"===o)this.curCommandType=Kwt.VERT_LINE_TO,this.curCommandRelative="v"===o;else if("m"===o||"M"===o)this.curCommandType=Kwt.MOVE_TO,this.curCommandRelative="m"===o;else if("l"===o||"L"===o)this.curCommandType=Kwt.LINE_TO,this.curCommandRelative="l"===o;else if("c"===o||"C"===o)this.curCommandType=Kwt.CURVE_TO,this.curCommandRelative="c"===o;else if("s"===o||"S"===o)this.curCommandType=Kwt.SMOOTH_CURVE_TO,this.curCommandRelative="s"===o;else if("q"===o||"Q"===o)this.curCommandType=Kwt.QUAD_TO,this.curCommandRelative="q"===o;else if("t"===o||"T"===o)this.curCommandType=Kwt.SMOOTH_QUAD_TO,this.curCommandRelative="t"===o;else{if("a"!==o&&"A"!==o)throw new SyntaxError('Unexpected character "'+o+'" at index '+i+".");this.curCommandType=Kwt.ARC,this.curCommandRelative="a"===o}else e.push({type:Kwt.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=o,this.curNumberHasDecimal="."===o}else this.curNumber+=o,this.curNumberHasDecimal=!0;else this.curNumber+=o;else this.curNumber+=o,this.curNumberHasExp=!0;else this.curNumber+=o,this.curNumberHasExpDigits=this.curNumberHasExp}return e},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(e,r){void 0===r&&(r=[]);for(var n=0,i=Object.getPrototypeOf(this).parse.call(this,e);n<i.length;n++){var o=i[n],s=t(o);Array.isArray(s)?r.push.apply(r,s):r.push(s)}return r}}})},e}(jwt),Kwt=function(t){function e(r){var n=t.call(this)||this;return n.commands="string"==typeof r?e.parse(r):r,n}return Pwt(e,t),e.prototype.encode=function(){return e.encode(this.commands)},e.prototype.getBounds=function(){var t=Owt.CALCULATE_BOUNDS();return this.transform(t),t},e.prototype.transform=function(t){for(var e=[],r=0,n=this.commands;r<n.length;r++){var i=t(n[r]);Array.isArray(i)?e.push.apply(e,i):e.push(i)}return this.commands=e,this},e.encode=function(t){return function(t){var e="";Array.isArray(t)||(t=[t]);for(var r=0;r<t.length;r++){var n=t[r];if(n.type===Kwt.CLOSE_PATH)e+="z";else if(n.type===Kwt.HORIZ_LINE_TO)e+=(n.relative?"h":"H")+n.x;else if(n.type===Kwt.VERT_LINE_TO)e+=(n.relative?"v":"V")+n.y;else if(n.type===Kwt.MOVE_TO)e+=(n.relative?"m":"M")+n.x+" "+n.y;else if(n.type===Kwt.LINE_TO)e+=(n.relative?"l":"L")+n.x+" "+n.y;else if(n.type===Kwt.CURVE_TO)e+=(n.relative?"c":"C")+n.x1+" "+n.y1+" "+n.x2+" "+n.y2+" "+n.x+" "+n.y;else if(n.type===Kwt.SMOOTH_CURVE_TO)e+=(n.relative?"s":"S")+n.x2+" "+n.y2+" "+n.x+" "+n.y;else if(n.type===Kwt.QUAD_TO)e+=(n.relative?"q":"Q")+n.x1+" "+n.y1+" "+n.x+" "+n.y;else if(n.type===Kwt.SMOOTH_QUAD_TO)e+=(n.relative?"t":"T")+n.x+" "+n.y;else{if(n.type!==Kwt.ARC)throw new Error('Unexpected command type "'+n.type+'" at index '+r+".");e+=(n.relative?"a":"A")+n.rX+" "+n.rY+" "+n.xRot+" "+ +n.lArcFlag+" "+ +n.sweepFlag+" "+n.x+" "+n.y}}return e}(t)},e.parse=function(t){var e=new Vwt,r=[];return e.parse(t,r),e.finish(r),r},e.CLOSE_PATH=1,e.MOVE_TO=2,e.HORIZ_LINE_TO=4,e.VERT_LINE_TO=8,e.LINE_TO=16,e.CURVE_TO=32,e.SMOOTH_CURVE_TO=64,e.QUAD_TO=128,e.SMOOTH_QUAD_TO=256,e.ARC=512,e.LINE_COMMANDS=e.LINE_TO|e.HORIZ_LINE_TO|e.VERT_LINE_TO,e.DRAWING_COMMANDS=e.HORIZ_LINE_TO|e.VERT_LINE_TO|e.LINE_TO|e.CURVE_TO|e.SMOOTH_CURVE_TO|e.QUAD_TO|e.SMOOTH_QUAD_TO|e.ARC,e}(jwt),qwt=((Gwt={})[Kwt.MOVE_TO]=2,Gwt[Kwt.LINE_TO]=2,Gwt[Kwt.HORIZ_LINE_TO]=1,Gwt[Kwt.VERT_LINE_TO]=1,Gwt[Kwt.CLOSE_PATH]=0,Gwt[Kwt.QUAD_TO]=4,Gwt[Kwt.SMOOTH_QUAD_TO]=2,Gwt[Kwt.CURVE_TO]=6,Gwt[Kwt.SMOOTH_CURVE_TO]=4,Gwt[Kwt.ARC]=7,Gwt),Wwt=eZ,Xwt=LJ,Ywt=RZ,Zwt=emt,Jwt=RegExp.prototype,$wt=V$.PROPER,tbt=j0,ebt=C$,rbt=K5,nbt=YY,ibt="toString",obt=RegExp.prototype,sbt=obt[ibt],abt=nbt((function(){return"/a/b"!==sbt.call({source:"a",flags:"b"})})),lbt=$wt&&sbt.name!==ibt;function ubt(t){return(ubt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}(abt||lbt)&&tbt(obt,ibt,(function(){var t=ebt(this);return"/"+rbt(t.source)+"/"+rbt(function(t){var e=t.flags;return void 0!==e||"flags"in Jwt||Xwt(t,"flags")||!Ywt(Jwt,t)?e:Wwt(Zwt,t)}(t))}),{unsafe:!0});var hbt=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],cbt=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24],Abt=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.r=0,this.g=0,this.b=0,this.a=0,this.next=null},fbt=Object.freeze({__proto__:null,offscreen:function(){var{DOMParser:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:t,createCanvas:(t,e)=>new OffscreenCanvas(t,e),createImage:t=>Zyt((function*(){var e=yield fetch(t),r=yield e.blob();return yield createImageBitmap(r)}))()};return"undefined"==typeof DOMParser&&void 0!==t||Reflect.deleteProperty(e,"DOMParser"),e},node:function(t){var{DOMParser:e,canvas:r,fetch:n}=t;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:e,fetch:n,createCanvas:r.createCanvas,createImage:r.loadImage}}});function pbt(t){return t.replace(/(?!\u3000)\s+/gm," ")}function dbt(t){return t.replace(/^[\n \t]+/,"")}function gbt(t){return t.replace(/[\n \t]+$/,"")}function ybt(t){return((t||"").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm)||[]).map(parseFloat)}var mbt=/^[A-Z-]+$/;function vbt(t){return mbt.test(t)?t.toLowerCase():t}function _bt(t){var e=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(t)||[];return e[2]||e[3]||e[4]}function wbt(t){if(!t.startsWith("rgb"))return t;var e=3;return t.replace(/\d+(\.\d+)?/g,((t,r)=>e--&&r?String(Math.round(parseFloat(t))):t))}var bbt=/(\[[^\]]+\])/g,xbt=/(#[^\s+>~.[:]+)/g,Cbt=/(\.[^\s+>~.[:]+)/g,Sbt=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,Ebt=/(:[\w-]+\([^)]*\))/gi,Bbt=/(:[^\s+>~.[:]+)/g,Ibt=/([^\s+>~.[:]+)/g;function Pbt(t,e){var r=e.exec(t);return r?[t.replace(e," "),r.length]:[t,0]}function Fbt(t){var e=[0,0,0],r=t.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),n=0;return[r,n]=Pbt(r,bbt),e[1]+=n,[r,n]=Pbt(r,xbt),e[0]+=n,[r,n]=Pbt(r,Cbt),e[1]+=n,[r,n]=Pbt(r,Sbt),e[2]+=n,[r,n]=Pbt(r,Ebt),e[1]+=n,[r,n]=Pbt(r,Bbt),e[1]+=n,r=r.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[r,n]=Pbt(r,Ibt),e[2]+=n,e.join("")}var Tbt=1e-8;function Mbt(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))}function Lbt(t,e){return(t[0]*e[0]+t[1]*e[1])/(Mbt(t)*Mbt(e))}function kbt(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(Lbt(t,e))}function Obt(t){return t*t*t}function Nbt(t){return 3*t*t*(1-t)}function Rbt(t){return 3*t*(1-t)*(1-t)}function Ubt(t){return(1-t)*(1-t)*(1-t)}function Dbt(t){return t*t}function Qbt(t){return 2*t*(1-t)}function Gbt(t){return(1-t)*(1-t)}class jbt{constructor(t,e,r){this.document=t,this.name=e,this.value=r,this.isNormalizedColor=!1}static empty(t){return new jbt(t,"EMPTY","")}split(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:" ",{document:e,name:r}=this;return pbt(this.getString()).trim().split(t).map((t=>new jbt(e,r,t)))}hasValue(t){var{value:e}=this;return null!==e&&""!==e&&(t||0!==e)&&void 0!==e}isString(t){var{value:e}=this,r="string"==typeof e;return r&&t?t.test(e):r}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;var t=this.getString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}setValue(t){return this.value=t,this}getValue(t){return void 0===t||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return void 0===t?0:parseFloat(t);var{value:e}=this,r=parseFloat(e);return this.isString(/%$/)&&(r/=100),r}getString(t){return void 0===t||this.hasValue()?void 0===this.value?"":String(this.value):String(t)}getColor(t){var e=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,e=wbt(e),this.value=e),e}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasValue())return 0;var[r,n]="boolean"==typeof t?[void 0,t]:[t],{viewPort:i}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(i.computeSize("x"),i.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(i.computeSize("x"),i.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*i.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*i.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return 15*this.getNumber();case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case this.isString(/%$/)&&n:return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*i.computeSize(r);default:var o=this.getNumber();return e&&o<1?o*i.computeSize(r):o}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():1e3*this.getNumber():0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){var t=this.getString(),e=/#([^)'"]+)/.exec(t);return e&&(e=e[1]),e||(e=t),this.document.definitions[e]}getFillStyleDefinition(t,e){var r=this.getDefinition();if(!r)return null;if("function"==typeof r.createGradient)return r.createGradient(this.document.ctx,t,e);if("function"==typeof r.createPattern){if(r.getHrefAttribute().hasValue()){var n=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),n.hasValue()&&r.getAttribute("patternTransform",!0).setValue(n.value)}return r.createPattern(this.document.ctx,t,e)}return null}getTextBaseline(){return this.hasValue()?jbt.textBaselineMapping[this.getString()]:null}addOpacity(t){for(var e=this.getColor(),r=e.length,n=0,i=0;i<r&&(","===e[i]&&n++,3!==n);i++);if(t.hasValue()&&this.isString()&&3!==n){var o=new Awt(e);o.ok&&(o.alpha=t.getNumber(),e=o.toRGBA())}return new jbt(this.document,this.name,e)}}jbt.textBaselineMapping={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};class Hbt{constructor(){this.viewPorts=[]}clear(){this.viewPorts=[]}setCurrent(t,e){this.viewPorts.push({width:t,height:e})}removeCurrent(){this.viewPorts.pop()}getCurrent(){var{viewPorts:t}=this;return t[t.length-1]}get width(){return this.getCurrent().width}get height(){return this.getCurrent().height}computeSize(t){return"number"==typeof t?t:"x"===t?this.width:"y"===t?this.height:Math.sqrt(Math.pow(this.width,2)+Math.pow(this.height,2))/Math.sqrt(2)}}class zbt{constructor(t,e){this.x=t,this.y=e}static parse(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,[r=e,n=e]=ybt(t);return new zbt(r,n)}static parseScale(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,[r=e,n=r]=ybt(t);return new zbt(r,n)}static parsePath(t){for(var e=ybt(t),r=e.length,n=[],i=0;i<r;i+=2)n.push(new zbt(e[i],e[i+1]));return n}angleTo(t){return Math.atan2(t.y-this.y,t.x-this.x)}applyTransform(t){var{x:e,y:r}=this,n=e*t[0]+r*t[2]+t[4],i=e*t[1]+r*t[3]+t[5];this.x=n,this.y=i}}class Vbt{constructor(t){this.screen=t,this.working=!1,this.events=[],this.eventElements=[],this.onClick=this.onClick.bind(this),this.onMouseMove=this.onMouseMove.bind(this)}isWorking(){return this.working}start(){if(!this.working){var{screen:t,onClick:e,onMouseMove:r}=this,n=t.ctx.canvas;n.onclick=e,n.onmousemove=r,this.working=!0}}stop(){if(this.working){var t=this.screen.ctx.canvas;this.working=!1,t.onclick=null,t.onmousemove=null}}hasEvents(){return this.working&&this.events.length>0}runEvents(){if(this.working){var{screen:t,events:e,eventElements:r}=this,{style:n}=t.ctx.canvas;n&&(n.cursor=""),e.forEach(((t,e)=>{for(var{run:n}=t,i=r[e];i;)n(i),i=i.parent})),this.events=[],this.eventElements=[]}}checkPath(t,e){if(this.working&&e){var{events:r,eventElements:n}=this;r.forEach(((r,i)=>{var{x:o,y:s}=r;!n[i]&&e.isPointInPath&&e.isPointInPath(o,s)&&(n[i]=t)}))}}checkBoundingBox(t,e){if(this.working&&e){var{events:r,eventElements:n}=this;r.forEach(((r,i)=>{var{x:o,y:s}=r;!n[i]&&e.isPointInBox(o,s)&&(n[i]=t)}))}}mapXY(t,e){for(var{window:r,ctx:n}=this.screen,i=new zbt(t,e),o=n.canvas;o;)i.x-=o.offsetLeft,i.y-=o.offsetTop,o=o.offsetParent;return r.scrollX&&(i.x+=r.scrollX),r.scrollY&&(i.y+=r.scrollY),i}onClick(t){var{x:e,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onclick",x:e,y:r,run(t){t.onClick&&t.onClick()}})}onMouseMove(t){var{x:e,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onmousemove",x:e,y:r,run(t){t.onMouseMove&&t.onMouseMove()}})}}var Kbt="undefined"!=typeof window?window:null,qbt="undefined"!=typeof fetch?fetch.bind(void 0):null;class Wbt{constructor(t){var{fetch:e=qbt,window:r=Kbt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.ctx=t,this.FRAMERATE=30,this.MAX_VIRTUAL_PIXELS=3e4,this.CLIENT_WIDTH=800,this.CLIENT_HEIGHT=600,this.viewPort=new Hbt,this.mouse=new Vbt(this),this.animations=[],this.waits=[],this.frameDuration=0,this.isReadyLock=!1,this.isFirstRender=!0,this.intervalId=null,this.window=r,this.fetch=e}wait(t){this.waits.push(t)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;var t=this.waits.every((t=>t()));return t&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=t,t}setDefaults(t){t.strokeStyle="rgba(0,0,0,0)",t.lineCap="butt",t.lineJoin="miter",t.miterLimit=4}setViewBox(t){var{document:e,ctx:r,aspectRatio:n,width:i,desiredWidth:o,height:s,desiredHeight:a,minX:l=0,minY:u=0,refX:h,refY:c,clip:A=!1,clipX:f=0,clipY:p=0}=t,d=pbt(n).replace(/^defer\s/,""),[g,y]=d.split(" "),m=g||"xMidYMid",v=y||"meet",_=i/o,w=s/a,b=Math.min(_,w),x=Math.max(_,w),C=o,S=a;"meet"===v&&(C*=b,S*=b),"slice"===v&&(C*=x,S*=x);var E=new jbt(e,"refX",h),B=new jbt(e,"refY",c),I=E.hasValue()&&B.hasValue();if(I&&r.translate(-b*E.getPixels("x"),-b*B.getPixels("y")),A){var P=b*f,F=b*p;r.beginPath(),r.moveTo(P,F),r.lineTo(i,F),r.lineTo(i,s),r.lineTo(P,s),r.closePath(),r.clip()}if(!I){var T="meet"===v&&b===w,M="slice"===v&&x===w,L="meet"===v&&b===_,k="slice"===v&&x===_;m.startsWith("xMid")&&(T||M)&&r.translate(i/2-C/2,0),m.endsWith("YMid")&&(L||k)&&r.translate(0,s/2-S/2),m.startsWith("xMax")&&(T||M)&&r.translate(i-C,0),m.endsWith("YMax")&&(L||k)&&r.translate(0,s-S)}switch(!0){case"none"===m:r.scale(_,w);break;case"meet"===v:r.scale(b,b);break;case"slice"===v:r.scale(x,x)}r.translate(-l,-u)}start(t){var{enableRedraw:e=!1,ignoreMouse:r=!1,ignoreAnimation:n=!1,ignoreDimensions:i=!1,ignoreClear:o=!1,forceRedraw:s,scaleWidth:a,scaleHeight:l,offsetX:u,offsetY:h}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{FRAMERATE:c,mouse:A}=this,f=1e3/c;if(this.frameDuration=f,this.readyPromise=new Promise((t=>{this.resolveReady=t})),this.isReady()&&this.render(t,i,o,a,l,u,h),e){var p=Date.now(),d=p,g=0,y=()=>{p=Date.now(),(g=p-d)>=f&&(d=p-g%f,this.shouldUpdate(n,s)&&(this.render(t,i,o,a,l,u,h),A.runEvents())),this.intervalId=hwt(y)};r||A.start(),this.intervalId=hwt(y)}}stop(){this.intervalId&&(hwt.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,e){if(!t){var{frameDuration:r}=this;if(this.animations.reduce(((t,e)=>e.update(r)||t),!1))return!0}return!("function"!=typeof e||!e())||!(this.isReadyLock||!this.isReady())||!!this.mouse.hasEvents()}render(t,e,r,n,i,o,s){var{CLIENT_WIDTH:a,CLIENT_HEIGHT:l,viewPort:u,ctx:h,isFirstRender:c}=this,A=h.canvas;u.clear(),A.width&&A.height?u.setCurrent(A.width,A.height):u.setCurrent(a,l);var f=t.getStyle("width"),p=t.getStyle("height");!e&&(c||"number"!=typeof n&&"number"!=typeof i)&&(f.hasValue()&&(A.width=f.getPixels("x"),A.style&&(A.style.width="".concat(A.width,"px"))),p.hasValue()&&(A.height=p.getPixels("y"),A.style&&(A.style.height="".concat(A.height,"px"))));var d=A.clientWidth||A.width,g=A.clientHeight||A.height;if(e&&f.hasValue()&&p.hasValue()&&(d=f.getPixels("x"),g=p.getPixels("y")),u.setCurrent(d,g),"number"==typeof o&&t.getAttribute("x",!0).setValue(o),"number"==typeof s&&t.getAttribute("y",!0).setValue(s),"number"==typeof n||"number"==typeof i){var y=ybt(t.getAttribute("viewBox").getString()),m=0,v=0;if("number"==typeof n){var _=t.getStyle("width");_.hasValue()?m=_.getPixels("x")/n:isNaN(y[2])||(m=y[2]/n)}if("number"==typeof i){var w=t.getStyle("height");w.hasValue()?v=w.getPixels("y")/i:isNaN(y[3])||(v=y[3]/i)}m||(m=v),v||(v=m),t.getAttribute("width",!0).setValue(n),t.getAttribute("height",!0).setValue(i);var b=t.getStyle("transform",!0,!0);b.setValue("".concat(b.getString()," scale(").concat(1/m,", ").concat(1/v,")"))}r||h.clearRect(0,0,d,g),t.render(h),c&&(this.isFirstRender=!1)}}Wbt.defaultWindow=Kbt,Wbt.defaultFetch=qbt;var{defaultFetch:Xbt}=Wbt,Ybt="undefined"!=typeof DOMParser?DOMParser:null;class Zbt{constructor(){var{fetch:t=Xbt,DOMParser:e=Ybt}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fetch=t,this.DOMParser=e}parse(t){var e=this;return Zyt((function*(){return t.startsWith("<")?e.parseFromString(t):e.load(t)}))()}parseFromString(t){var e=new this.DOMParser;try{return this.checkDocument(e.parseFromString(t,"image/svg+xml"))}catch(r){return this.checkDocument(e.parseFromString(t,"text/xml"))}}checkDocument(t){var e=t.getElementsByTagName("parsererror")[0];if(e)throw new Error(e.textContent);return t}load(t){var e=this;return Zyt((function*(){var r=yield e.fetch(t),n=yield r.text();return e.parseFromString(n)}))()}}class Jbt{constructor(t,e){this.type="translate",this.point=null,this.point=zbt.parse(e)}apply(t){var{x:e,y:r}=this.point;t.translate(e||0,r||0)}unapply(t){var{x:e,y:r}=this.point;t.translate(-1*e||0,-1*r||0)}applyToPoint(t){var{x:e,y:r}=this.point;t.applyTransform([1,0,0,1,e||0,r||0])}}class $bt{constructor(t,e,r){this.type="rotate",this.angle=null,this.originX=null,this.originY=null,this.cx=0,this.cy=0;var n=ybt(e);this.angle=new jbt(t,"angle",n[0]),this.originX=r[0],this.originY=r[1],this.cx=n[1]||0,this.cy=n[2]||0}apply(t){var{cx:e,cy:r,originX:n,originY:i,angle:o}=this,s=e+n.getPixels("x"),a=r+i.getPixels("y");t.translate(s,a),t.rotate(o.getRadians()),t.translate(-s,-a)}unapply(t){var{cx:e,cy:r,originX:n,originY:i,angle:o}=this,s=e+n.getPixels("x"),a=r+i.getPixels("y");t.translate(s,a),t.rotate(-1*o.getRadians()),t.translate(-s,-a)}applyToPoint(t){var{cx:e,cy:r,angle:n}=this,i=n.getRadians();t.applyTransform([1,0,0,1,e||0,r||0]),t.applyTransform([Math.cos(i),Math.sin(i),-Math.sin(i),Math.cos(i),0,0]),t.applyTransform([1,0,0,1,-e||0,-r||0])}}class txt{constructor(t,e,r){this.type="scale",this.scale=null,this.originX=null,this.originY=null;var n=zbt.parseScale(e);0!==n.x&&0!==n.y||(n.x=Tbt,n.y=Tbt),this.scale=n,this.originX=r[0],this.originY=r[1]}apply(t){var{scale:{x:e,y:r},originX:n,originY:i}=this,o=n.getPixels("x"),s=i.getPixels("y");t.translate(o,s),t.scale(e,r||e),t.translate(-o,-s)}unapply(t){var{scale:{x:e,y:r},originX:n,originY:i}=this,o=n.getPixels("x"),s=i.getPixels("y");t.translate(o,s),t.scale(1/e,1/r||e),t.translate(-o,-s)}applyToPoint(t){var{x:e,y:r}=this.scale;t.applyTransform([e||0,0,0,r||0,0,0])}}class ext{constructor(t,e,r){this.type="matrix",this.matrix=[],this.originX=null,this.originY=null,this.matrix=ybt(e),this.originX=r[0],this.originY=r[1]}apply(t){var{originX:e,originY:r,matrix:n}=this,i=e.getPixels("x"),o=r.getPixels("y");t.translate(i,o),t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),t.translate(-i,-o)}unapply(t){var{originX:e,originY:r,matrix:n}=this,i=n[0],o=n[2],s=n[4],a=n[1],l=n[3],u=n[5],h=1/(i*(1*l-0*u)-o*(1*a-0*u)+s*(0*a-0*l)),c=e.getPixels("x"),A=r.getPixels("y");t.translate(c,A),t.transform(h*(1*l-0*u),h*(0*u-1*a),h*(0*s-1*o),h*(1*i-0*s),h*(o*u-s*l),h*(s*a-i*u)),t.translate(-c,-A)}applyToPoint(t){t.applyTransform(this.matrix)}}class rxt extends ext{constructor(t,e,r){super(t,e,r),this.type="skew",this.angle=null,this.angle=new jbt(t,"angle",e)}}class nxt extends rxt{constructor(t,e,r){super(t,e,r),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class ixt extends rxt{constructor(t,e,r){super(t,e,r),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}class oxt{constructor(t,e,r){this.document=t,this.transforms=[];var n=function(t){return pbt(t).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}(e);n.forEach((t=>{if("none"!==t){var[e,n]=function(t){var[e,r]=t.split("(");return[e.trim(),r.trim().replace(")","")]}(t),i=oxt.transformTypes[e];void 0!==i&&this.transforms.push(new i(this.document,n,r))}}))}static fromElement(t,e){var r=e.getStyle("transform",!1,!0),[n,i=n]=e.getStyle("transform-origin",!1,!0).split(),o=[n,i];return r.hasValue()?new oxt(t,r.getString(),o):null}apply(t){for(var{transforms:e}=this,r=e.length,n=0;n<r;n++)e[n].apply(t)}unapply(t){for(var{transforms:e}=this,r=e.length-1;r>=0;r--)e[r].unapply(t)}applyToPoint(t){for(var{transforms:e}=this,r=e.length,n=0;n<r;n++)e[n].applyToPoint(t)}}oxt.transformTypes={translate:Jbt,rotate:$bt,scale:txt,matrix:ext,skewX:nxt,skewY:ixt};let sxt=class t{constructor(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.document=t,this.node=e,this.captureTextNodes=r,this.attributes={},this.styles={},this.stylesSpecificity={},this.animationFrozen=!1,this.animationFrozenValue="",this.parent=null,this.children=[],e&&1===e.nodeType){Array.from(e.attributes).forEach((e=>{var r=vbt(e.nodeName);this.attributes[r]=new jbt(t,r,e.value)})),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()&&this.getAttribute("style").getString().split(";").map((t=>t.trim())).forEach((e=>{if(e){var[r,n]=e.split(":").map((t=>t.trim()));this.styles[r]=new jbt(t,r,n)}}));var{definitions:n}=t,i=this.getAttribute("id");i.hasValue()&&(n[i.getString()]||(n[i.getString()]=this)),Array.from(e.childNodes).forEach((e=>{if(1===e.nodeType)this.addChild(e);else if(r&&(3===e.nodeType||4===e.nodeType)){var n=t.createTextNode(e);n.getText().length>0&&this.addChild(n)}}))}}getAttribute(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.attributes[t];if(!r&&e){var n=new jbt(this.document,t,"");return this.attributes[t]=n,n}return r||jbt.empty(this.document)}getHrefAttribute(){for(var t in this.attributes)if("href"===t||t.endsWith(":href"))return this.attributes[t];return jbt.empty(this.document)}getStyle(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.styles[t];if(n)return n;var i=this.getAttribute(t);if(null!=i&&i.hasValue())return this.styles[t]=i,i;if(!r){var{parent:o}=this;if(o){var s=o.getStyle(t);if(null!=s&&s.hasValue())return s}}if(e){var a=new jbt(this.document,t,"");return this.styles[t]=a,a}return n||jbt.empty(this.document)}render(t){if("none"!==this.getStyle("display").getString()&&"hidden"!==this.getStyle("visibility").getString()){if(t.save(),this.getStyle("mask").hasValue()){var e=this.getStyle("mask").getDefinition();e&&(this.applyEffects(t),e.apply(t,this))}else if("none"!==this.getStyle("filter").getValue("none")){var r=this.getStyle("filter").getDefinition();r&&(this.applyEffects(t),r.apply(t,this))}else this.setContext(t),this.renderChildren(t),this.clearContext(t);t.restore()}}setContext(t){}applyEffects(t){var e=oxt.fromElement(this.document,this);e&&e.apply(t);var r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){var n=r.getDefinition();n&&n.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach((e=>{e.render(t)}))}addChild(e){var r=e instanceof t?e:this.document.createElement(e);r.parent=this,t.ignoreChildTypes.includes(r.type)||this.children.push(r)}matchesSelector(t){var e,{node:r}=this;if("function"==typeof r.matches)return r.matches(t);var n=null===(e=r.getAttribute)||void 0===e?void 0:e.call(r,"class");return!(!n||""===n)&&n.split(" ").some((e=>".".concat(e)===t))}addStylesFromStyleDefinition(){var{styles:t,stylesSpecificity:e}=this.document;for(var r in t)if(!r.startsWith("@")&&this.matchesSelector(r)){var n=t[r],i=e[r];if(n)for(var o in n){var s=this.stylesSpecificity[o];void 0===s&&(s="000"),i>=s&&(this.styles[o]=n[o],this.stylesSpecificity[o]=i)}}}removeStyles(t,e){return e.reduce(((e,r)=>{var n=t.getStyle(r);if(!n.hasValue())return e;var i=n.getString();return n.setValue(""),[...e,[r,i]]}),[])}restoreStyles(t,e){e.forEach((e=>{var[r,n]=e;t.getStyle(r,!0).setValue(n)}))}isFirstChild(){var t;return 0===(null===(t=this.parent)||void 0===t?void 0:t.children.indexOf(this))}};sxt.ignoreChildTypes=["title"];class axt extends sxt{constructor(t,e,r){super(t,e,r)}}function lxt(t){var e=t.trim();return/^('|")/.test(e)?e:'"'.concat(e,'"')}function uxt(t){if(!t)return"";var e=t.trim().toLowerCase();switch(e){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return e;default:return/^oblique\s+(-|)\d+deg$/.test(e)?e:""}}function hxt(t){if(!t)return"";var e=t.trim().toLowerCase();switch(e){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return e;default:return/^[\d.]+$/.test(e)?e:""}}class cxt{constructor(t,e,r,n,i,o){var s=o?"string"==typeof o?cxt.parse(o):o:{};this.fontFamily=i||s.fontFamily,this.fontSize=n||s.fontSize,this.fontStyle=t||s.fontStyle,this.fontWeight=r||s.fontWeight,this.fontVariant=e||s.fontVariant}static parse(){var t=arguments.length>1?arguments[1]:void 0,e="",r="",n="",i="",o="",s=pbt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").trim().split(" "),a={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return s.forEach((t=>{switch(!0){case!a.fontStyle&&cxt.styles.includes(t):"inherit"!==t&&(e=t),a.fontStyle=!0;break;case!a.fontVariant&&cxt.variants.includes(t):"inherit"!==t&&(r=t),a.fontStyle=!0,a.fontVariant=!0;break;case!a.fontWeight&&cxt.weights.includes(t):"inherit"!==t&&(n=t),a.fontStyle=!0,a.fontVariant=!0,a.fontWeight=!0;break;case!a.fontSize:"inherit"!==t&&([i]=t.split("/")),a.fontStyle=!0,a.fontVariant=!0,a.fontWeight=!0,a.fontSize=!0;break;default:"inherit"!==t&&(o+=t)}})),new cxt(e,r,n,i,o,t)}toString(){return[uxt(this.fontStyle),this.fontVariant,hxt(this.fontWeight),this.fontSize,(t=this.fontFamily,"undefined"==typeof process?t:t.trim().split(",").map(lxt).join(","))].join(" ").trim();var t}}cxt.styles="normal|italic|oblique|inherit",cxt.variants="normal|small-caps|inherit",cxt.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class Axt{constructor(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.NaN,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.NaN,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.NaN,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Number.NaN;this.x1=t,this.y1=e,this.x2=r,this.y2=n,this.addPoint(t,e),this.addPoint(r,n)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(t,e){void 0!==t&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),void 0!==e&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=e,this.y2=e),e<this.y1&&(this.y1=e),e>this.y2&&(this.y2=e))}addX(t){this.addPoint(t,null)}addY(t){this.addPoint(null,t)}addBoundingBox(t){if(t){var{x1:e,y1:r,x2:n,y2:i}=t;this.addPoint(e,r),this.addPoint(n,i)}}sumCubic(t,e,r,n,i){return Math.pow(1-t,3)*e+3*Math.pow(1-t,2)*t*r+3*(1-t)*Math.pow(t,2)*n+Math.pow(t,3)*i}bezierCurveAdd(t,e,r,n,i){var o=6*e-12*r+6*n,s=-3*e+9*r-9*n+3*i,a=3*r-3*e;if(0!==s){var l=Math.pow(o,2)-4*a*s;if(!(l<0)){var u=(-o+Math.sqrt(l))/(2*s);0<u&&u<1&&(t?this.addX(this.sumCubic(u,e,r,n,i)):this.addY(this.sumCubic(u,e,r,n,i)));var h=(-o-Math.sqrt(l))/(2*s);0<h&&h<1&&(t?this.addX(this.sumCubic(h,e,r,n,i)):this.addY(this.sumCubic(h,e,r,n,i)))}}else{if(0===o)return;var c=-a/o;0<c&&c<1&&(t?this.addX(this.sumCubic(c,e,r,n,i)):this.addY(this.sumCubic(c,e,r,n,i)))}}addBezierCurve(t,e,r,n,i,o,s,a){this.addPoint(t,e),this.addPoint(s,a),this.bezierCurveAdd(!0,t,r,i,s),this.bezierCurveAdd(!1,e,n,o,a)}addQuadraticCurve(t,e,r,n,i,o){var s=t+2/3*(r-t),a=e+2/3*(n-e),l=s+1/3*(i-t),u=a+1/3*(o-e);this.addBezierCurve(t,e,s,l,a,u,i,o)}isPointInBox(t,e){var{x1:r,y1:n,x2:i,y2:o}=this;return r<=t&&t<=i&&n<=e&&e<=o}}class fxt extends Kwt{constructor(t){super(t.replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"")),this.control=null,this.start=null,this.current=null,this.command=null,this.commands=this.commands,this.i=-1,this.previousCommand=null,this.points=[],this.angles=[]}reset(){this.i=-1,this.command=null,this.previousCommand=null,this.start=new zbt(0,0),this.control=new zbt(0,0),this.current=new zbt(0,0),this.points=[],this.angles=[]}isEnd(){var{i:t,commands:e}=this;return t>=e.length-1}next(){var t=this.commands[++this.i];return this.previousCommand=this.command,this.command=t,t}getPoint(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"x",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"y",r=new zbt(this.command[t],this.command[e]);return this.makeAbsolute(r)}getAsControlPoint(t,e){var r=this.getPoint(t,e);return this.control=r,r}getAsCurrentPoint(t,e){var r=this.getPoint(t,e);return this.current=r,r}getReflectedControlPoint(){var t=this.previousCommand.type;if(t!==Kwt.CURVE_TO&&t!==Kwt.SMOOTH_CURVE_TO&&t!==Kwt.QUAD_TO&&t!==Kwt.SMOOTH_QUAD_TO)return this.current;var{current:{x:e,y:r},control:{x:n,y:i}}=this;return new zbt(2*e-n,2*r-i)}makeAbsolute(t){if(this.command.relative){var{x:e,y:r}=this.current;t.x+=e,t.y+=r}return t}addMarker(t,e,r){var{points:n,angles:i}=this;r&&i.length>0&&!i[i.length-1]&&(i[i.length-1]=n[n.length-1].angleTo(r)),this.addMarkerAngle(t,e?e.angleTo(t):null)}addMarkerAngle(t,e){this.points.push(t),this.angles.push(e)}getMarkerPoints(){return this.points}getMarkerAngles(){for(var{angles:t}=this,e=t.length,r=0;r<e;r++)if(!t[r])for(var n=r+1;n<e;n++)if(t[n]){t[r]=t[n];break}return t}}class pxt extends sxt{constructor(){super(...arguments),this.modifiedEmSizeStack=!1}calculateOpacity(){for(var t=1,e=this;e;){var r=e.getStyle("opacity",!1,!0);r.hasValue(!0)&&(t*=r.getNumber()),e=e.parent}return t}setContext(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e){var r=this.getStyle("fill"),n=this.getStyle("fill-opacity"),i=this.getStyle("stroke"),o=this.getStyle("stroke-opacity");if(r.isUrlDefinition()){var s=r.getFillStyleDefinition(this,n);s&&(t.fillStyle=s)}else if(r.hasValue()){"currentColor"===r.getString()&&r.setValue(this.getStyle("color").getColor());var a=r.getColor();"inherit"!==a&&(t.fillStyle="none"===a?"rgba(0,0,0,0)":a)}if(n.hasValue()){var l=new jbt(this.document,"fill",t.fillStyle).addOpacity(n).getColor();t.fillStyle=l}if(i.isUrlDefinition()){var u=i.getFillStyleDefinition(this,o);u&&(t.strokeStyle=u)}else if(i.hasValue()){"currentColor"===i.getString()&&i.setValue(this.getStyle("color").getColor());var h=i.getString();"inherit"!==h&&(t.strokeStyle="none"===h?"rgba(0,0,0,0)":h)}if(o.hasValue()){var c=new jbt(this.document,"stroke",t.strokeStyle).addOpacity(o).getString();t.strokeStyle=c}var A=this.getStyle("stroke-width");if(A.hasValue()){var f=A.getPixels();t.lineWidth=f||Tbt}var p=this.getStyle("stroke-linecap"),d=this.getStyle("stroke-linejoin"),g=this.getStyle("stroke-miterlimit"),y=this.getStyle("stroke-dasharray"),m=this.getStyle("stroke-dashoffset");if(p.hasValue()&&(t.lineCap=p.getString()),d.hasValue()&&(t.lineJoin=d.getString()),g.hasValue()&&(t.miterLimit=g.getNumber()),y.hasValue()&&"none"!==y.getString()){var v=ybt(y.getString());void 0!==t.setLineDash?t.setLineDash(v):void 0!==t.webkitLineDash?t.webkitLineDash=v:void 0===t.mozDash||1===v.length&&0===v[0]||(t.mozDash=v);var _=m.getPixels();void 0!==t.lineDashOffset?t.lineDashOffset=_:void 0!==t.webkitLineDashOffset?t.webkitLineDashOffset=_:void 0!==t.mozDashOffset&&(t.mozDashOffset=_)}}if(this.modifiedEmSizeStack=!1,void 0!==t.font){var w=this.getStyle("font"),b=this.getStyle("font-style"),x=this.getStyle("font-variant"),C=this.getStyle("font-weight"),S=this.getStyle("font-size"),E=this.getStyle("font-family"),B=new cxt(b.getString(),x.getString(),C.getString(),S.hasValue()?"".concat(S.getPixels(!0),"px"):"",E.getString(),cxt.parse(w.getString(),t.font));b.setValue(B.fontStyle),x.setValue(B.fontVariant),C.setValue(B.fontWeight),S.setValue(B.fontSize),E.setValue(B.fontFamily),t.font=B.toString(),S.isPixels()&&(this.document.emSize=S.getPixels(),this.modifiedEmSizeStack=!0)}e||(this.applyEffects(t),t.globalAlpha=this.calculateOpacity())}clearContext(t){super.clearContext(t),this.modifiedEmSizeStack&&this.document.popEmSize()}}class dxt extends pxt{constructor(t,e,r){super(t,e,r),this.type="path",this.pathParser=null,this.pathParser=new fxt(this.getAttribute("d").getString())}path(t){var{pathParser:e}=this,r=new Axt;for(e.reset(),t&&t.beginPath();!e.isEnd();)switch(e.next().type){case fxt.MOVE_TO:this.pathM(t,r);break;case fxt.LINE_TO:this.pathL(t,r);break;case fxt.HORIZ_LINE_TO:this.pathH(t,r);break;case fxt.VERT_LINE_TO:this.pathV(t,r);break;case fxt.CURVE_TO:this.pathC(t,r);break;case fxt.SMOOTH_CURVE_TO:this.pathS(t,r);break;case fxt.QUAD_TO:this.pathQ(t,r);break;case fxt.SMOOTH_QUAD_TO:this.pathT(t,r);break;case fxt.ARC:this.pathA(t,r);break;case fxt.CLOSE_PATH:this.pathZ(t,r)}return r}getBoundingBox(t){return this.path()}getMarkers(){var{pathParser:t}=this,e=t.getMarkerPoints(),r=t.getMarkerAngles();return e.map(((t,e)=>[t,r[e]]))}renderChildren(t){this.path(t),this.document.screen.mouse.checkPath(this,t);var e=this.getStyle("fill-rule");""!==t.fillStyle&&("inherit"!==e.getString("inherit")?t.fill(e.getString()):t.fill()),""!==t.strokeStyle&&("non-scaling-stroke"===this.getAttribute("vector-effect").getString()?(t.save(),t.setTransform(1,0,0,1,0,0),t.stroke(),t.restore()):t.stroke());var r=this.getMarkers();if(r){var n=r.length-1,i=this.getStyle("marker-start"),o=this.getStyle("marker-mid"),s=this.getStyle("marker-end");if(i.isUrlDefinition()){var a=i.getDefinition(),[l,u]=r[0];a.render(t,l,u)}if(o.isUrlDefinition())for(var h=o.getDefinition(),c=1;c<n;c++){var[A,f]=r[c];h.render(t,A,f)}if(s.isUrlDefinition()){var p=s.getDefinition(),[d,g]=r[n];p.render(t,d,g)}}}static pathM(t){var e=t.getAsCurrentPoint();return t.start=t.current,{point:e}}pathM(t,e){var{pathParser:r}=this,{point:n}=dxt.pathM(r),{x:i,y:o}=n;r.addMarker(n),e.addPoint(i,o),t&&t.moveTo(i,o)}static pathL(t){var{current:e}=t;return{current:e,point:t.getAsCurrentPoint()}}pathL(t,e){var{pathParser:r}=this,{current:n,point:i}=dxt.pathL(r),{x:o,y:s}=i;r.addMarker(i,n),e.addPoint(o,s),t&&t.lineTo(o,s)}static pathH(t){var{current:e,command:r}=t,n=new zbt((r.relative?e.x:0)+r.x,e.y);return t.current=n,{current:e,point:n}}pathH(t,e){var{pathParser:r}=this,{current:n,point:i}=dxt.pathH(r),{x:o,y:s}=i;r.addMarker(i,n),e.addPoint(o,s),t&&t.lineTo(o,s)}static pathV(t){var{current:e,command:r}=t,n=new zbt(e.x,(r.relative?e.y:0)+r.y);return t.current=n,{current:e,point:n}}pathV(t,e){var{pathParser:r}=this,{current:n,point:i}=dxt.pathV(r),{x:o,y:s}=i;r.addMarker(i,n),e.addPoint(o,s),t&&t.lineTo(o,s)}static pathC(t){var{current:e}=t;return{current:e,point:t.getPoint("x1","y1"),controlPoint:t.getAsControlPoint("x2","y2"),currentPoint:t.getAsCurrentPoint()}}pathC(t,e){var{pathParser:r}=this,{current:n,point:i,controlPoint:o,currentPoint:s}=dxt.pathC(r);r.addMarker(s,o,i),e.addBezierCurve(n.x,n.y,i.x,i.y,o.x,o.y,s.x,s.y),t&&t.bezierCurveTo(i.x,i.y,o.x,o.y,s.x,s.y)}static pathS(t){var{current:e}=t;return{current:e,point:t.getReflectedControlPoint(),controlPoint:t.getAsControlPoint("x2","y2"),currentPoint:t.getAsCurrentPoint()}}pathS(t,e){var{pathParser:r}=this,{current:n,point:i,controlPoint:o,currentPoint:s}=dxt.pathS(r);r.addMarker(s,o,i),e.addBezierCurve(n.x,n.y,i.x,i.y,o.x,o.y,s.x,s.y),t&&t.bezierCurveTo(i.x,i.y,o.x,o.y,s.x,s.y)}static pathQ(t){var{current:e}=t;return{current:e,controlPoint:t.getAsControlPoint("x1","y1"),currentPoint:t.getAsCurrentPoint()}}pathQ(t,e){var{pathParser:r}=this,{current:n,controlPoint:i,currentPoint:o}=dxt.pathQ(r);r.addMarker(o,i,i),e.addQuadraticCurve(n.x,n.y,i.x,i.y,o.x,o.y),t&&t.quadraticCurveTo(i.x,i.y,o.x,o.y)}static pathT(t){var{current:e}=t,r=t.getReflectedControlPoint();return t.control=r,{current:e,controlPoint:r,currentPoint:t.getAsCurrentPoint()}}pathT(t,e){var{pathParser:r}=this,{current:n,controlPoint:i,currentPoint:o}=dxt.pathT(r);r.addMarker(o,i,i),e.addQuadraticCurve(n.x,n.y,i.x,i.y,o.x,o.y),t&&t.quadraticCurveTo(i.x,i.y,o.x,o.y)}static pathA(t){var{current:e,command:r}=t,{rX:n,rY:i,xRot:o,lArcFlag:s,sweepFlag:a}=r,l=o*(Math.PI/180),u=t.getAsCurrentPoint(),h=new zbt(Math.cos(l)*(e.x-u.x)/2+Math.sin(l)*(e.y-u.y)/2,-Math.sin(l)*(e.x-u.x)/2+Math.cos(l)*(e.y-u.y)/2),c=Math.pow(h.x,2)/Math.pow(n,2)+Math.pow(h.y,2)/Math.pow(i,2);c>1&&(n*=Math.sqrt(c),i*=Math.sqrt(c));var A=(s===a?-1:1)*Math.sqrt((Math.pow(n,2)*Math.pow(i,2)-Math.pow(n,2)*Math.pow(h.y,2)-Math.pow(i,2)*Math.pow(h.x,2))/(Math.pow(n,2)*Math.pow(h.y,2)+Math.pow(i,2)*Math.pow(h.x,2)));isNaN(A)&&(A=0);var f=new zbt(A*n*h.y/i,A*-i*h.x/n),p=new zbt((e.x+u.x)/2+Math.cos(l)*f.x-Math.sin(l)*f.y,(e.y+u.y)/2+Math.sin(l)*f.x+Math.cos(l)*f.y),d=kbt([1,0],[(h.x-f.x)/n,(h.y-f.y)/i]),g=[(h.x-f.x)/n,(h.y-f.y)/i],y=[(-h.x-f.x)/n,(-h.y-f.y)/i],m=kbt(g,y);return Lbt(g,y)<=-1&&(m=Math.PI),Lbt(g,y)>=1&&(m=0),{currentPoint:u,rX:n,rY:i,sweepFlag:a,xAxisRotation:l,centp:p,a1:d,ad:m}}pathA(t,e){var{pathParser:r}=this,{currentPoint:n,rX:i,rY:o,sweepFlag:s,xAxisRotation:a,centp:l,a1:u,ad:h}=dxt.pathA(r),c=1-s?1:-1,A=u+c*(h/2),f=new zbt(l.x+i*Math.cos(A),l.y+o*Math.sin(A));if(r.addMarkerAngle(f,A-c*Math.PI/2),r.addMarkerAngle(n,A-c*Math.PI),e.addPoint(n.x,n.y),t&&!isNaN(u)&&!isNaN(h)){var p=i>o?i:o,d=i>o?1:i/o,g=i>o?o/i:1;t.translate(l.x,l.y),t.rotate(a),t.scale(d,g),t.arc(0,0,p,u,u+h,Boolean(1-s)),t.scale(1/d,1/g),t.rotate(-a),t.translate(-l.x,-l.y)}}static pathZ(t){t.current=t.start}pathZ(t,e){dxt.pathZ(this.pathParser),t&&e.x1!==e.x2&&e.y1!==e.y2&&t.closePath()}}class gxt extends dxt{constructor(t,e,r){super(t,e,r),this.type="glyph",this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class yxt extends pxt{constructor(t,e,r){super(t,e,new.target===yxt||r),this.type="text",this.x=0,this.y=0,this.measureCache=-1}setContext(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super.setContext(t,e);var r=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();r&&(t.textBaseline=r)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(t){if("text"!==this.type)return this.getTElementBoundingBox(t);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t);var e=null;return this.children.forEach(((r,n)=>{var i=this.getChildBoundingBox(t,this,this,n);e?e.addBoundingBox(i):e=i})),e}getFontSize(){var{document:t,parent:e}=this,r=cxt.parse(t.ctx.font).fontSize;return e.getStyle("font-size").getNumber(r)}getTElementBoundingBox(t){var e=this.getFontSize();return new Axt(this.x,this.y-e,this.x+this.measureText(t),this.y)}getGlyph(t,e,r){var n=e[r],i=null;if(t.isArabic){var o=e.length,s=e[r-1],a=e[r+1],l="isolated";if((0===r||" "===s)&&r<o-1&&" "!==a&&(l="terminal"),r>0&&" "!==s&&r<o-1&&" "!==a&&(l="medial"),r>0&&" "!==s&&(r===o-1||" "===a)&&(l="initial"),void 0!==t.glyphs[n]){var u=t.glyphs[n];i=u instanceof gxt?u:u[l]}}else i=t.glyphs[n];return i||(i=t.missingGlyph),i}getText(){return""}getTextFromNode(t){var e=t||this.node,r=Array.from(e.parentNode.childNodes),n=r.indexOf(e),i=r.length-1,o=pbt(e.textContent||"");return 0===n&&(o=dbt(o)),n===i&&(o=gbt(o)),o}renderChildren(t){if("text"===this.type){this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t),this.children.forEach(((e,r)=>{this.renderChild(t,this,this,r)}));var{mouse:e}=this.document.screen;e.isWorking()&&e.checkBoundingBox(this,this.getBoundingBox(t))}else this.renderTElementChildren(t)}renderTElementChildren(t){var{document:e,parent:r}=this,n=this.getText(),i=r.getStyle("font-family").getDefinition();if(i)for(var{unitsPerEm:o}=i.fontFace,s=cxt.parse(e.ctx.font),a=r.getStyle("font-size").getNumber(s.fontSize),l=r.getStyle("font-style").getString(s.fontStyle),u=a/o,h=i.isRTL?n.split("").reverse().join(""):n,c=ybt(r.getAttribute("dx").getString()),A=h.length,f=0;f<A;f++){var p=this.getGlyph(i,h,f);t.translate(this.x,this.y),t.scale(u,-u);var d=t.lineWidth;t.lineWidth=t.lineWidth*o/a,"italic"===l&&t.transform(1,0,.4,1,0,0),p.render(t),"italic"===l&&t.transform(1,0,-.4,1,0,0),t.lineWidth=d,t.scale(1/u,-1/u),t.translate(-this.x,-this.y),this.x+=a*(p.horizAdvX||i.horizAdvX)/o,void 0===c[f]||isNaN(c[f])||(this.x+=c[f])}else{var{x:g,y:y}=this;t.fillStyle&&t.fillText(n,g,y),t.strokeStyle&&t.strokeText(n,g,y)}}applyAnchoring(){if(!(this.textChunkStart>=this.leafTexts.length)){var t,e=this.leafTexts[this.textChunkStart],r=e.getStyle("text-anchor").getString("start");t="start"===r?e.x-this.minX:"end"===r?e.x-this.maxX:e.x-(this.minX+this.maxX)/2;for(var n=this.textChunkStart;n<this.leafTexts.length;n++)this.leafTexts[n].x+=t;this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.textChunkStart=this.leafTexts.length}}adjustChildCoordinatesRecursive(t){this.children.forEach(((e,r)=>{this.adjustChildCoordinatesRecursiveCore(t,this,this,r)})),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(t,e,r,n){var i=r.children[n];i.children.length>0?i.children.forEach(((r,n)=>{e.adjustChildCoordinatesRecursiveCore(t,e,i,n)})):this.adjustChildCoordinates(t,e,r,n)}adjustChildCoordinates(t,e,r,n){var i=r.children[n];if("function"!=typeof i.measureText)return i;t.save(),i.setContext(t,!0);var o=i.getAttribute("x"),s=i.getAttribute("y"),a=i.getAttribute("dx"),l=i.getAttribute("dy"),u=i.getStyle("font-family").getDefinition(),h=Boolean(u)&&u.isRTL;0===n&&(o.hasValue()||o.setValue(i.getInheritedAttribute("x")),s.hasValue()||s.setValue(i.getInheritedAttribute("y")),a.hasValue()||a.setValue(i.getInheritedAttribute("dx")),l.hasValue()||l.setValue(i.getInheritedAttribute("dy")));var c=i.measureText(t);return h&&(e.x-=c),o.hasValue()?(e.applyAnchoring(),i.x=o.getPixels("x"),a.hasValue()&&(i.x+=a.getPixels("x"))):(a.hasValue()&&(e.x+=a.getPixels("x")),i.x=e.x),e.x=i.x,h||(e.x+=c),s.hasValue()?(i.y=s.getPixels("y"),l.hasValue()&&(i.y+=l.getPixels("y"))):(l.hasValue()&&(e.y+=l.getPixels("y")),i.y=e.y),e.y=i.y,e.leafTexts.push(i),e.minX=Math.min(e.minX,i.x,i.x+c),e.maxX=Math.max(e.maxX,i.x,i.x+c),i.clearContext(t),t.restore(),i}getChildBoundingBox(t,e,r,n){var i=r.children[n];if("function"!=typeof i.getBoundingBox)return null;var o=i.getBoundingBox(t);return o?(i.children.forEach(((r,n)=>{var s=e.getChildBoundingBox(t,e,i,n);o.addBoundingBox(s)})),o):null}renderChild(t,e,r,n){var i=r.children[n];i.render(t),i.children.forEach(((r,n)=>{e.renderChild(t,e,i,n)}))}measureText(t){var{measureCache:e}=this;if(~e)return e;var r=this.getText(),n=this.measureTargetText(t,r);return this.measureCache=n,n}measureTargetText(t,e){if(!e.length)return 0;var{parent:r}=this,n=r.getStyle("font-family").getDefinition();if(n){for(var i=this.getFontSize(),o=n.isRTL?e.split("").reverse().join(""):e,s=ybt(r.getAttribute("dx").getString()),a=o.length,l=0,u=0;u<a;u++)l+=(this.getGlyph(n,o,u).horizAdvX||n.horizAdvX)*i/n.fontFace.unitsPerEm,void 0===s[u]||isNaN(s[u])||(l+=s[u]);return l}if(!t.measureText)return 10*e.length;t.save(),this.setContext(t,!0);var{width:h}=t.measureText(e);return this.clearContext(t),t.restore(),h}getInheritedAttribute(t){for(var e=this;e instanceof yxt&&e.isFirstChild();){var r=e.parent.getAttribute(t);if(r.hasValue(!0))return r.getValue("0");e=e.parent}return null}}class mxt extends yxt{constructor(t,e,r){super(t,e,new.target===mxt||r),this.type="tspan",this.text=this.children.length>0?"":this.getTextFromNode()}getText(){return this.text}}class vxt extends mxt{constructor(){super(...arguments),this.type="textNode"}}class _xt extends pxt{constructor(){super(...arguments),this.type="svg",this.root=!1}setContext(t){var e,{document:r}=this,{screen:n,window:i}=r,o=t.canvas;if(n.setDefaults(t),o.style&&void 0!==t.font&&i&&void 0!==i.getComputedStyle){t.font=i.getComputedStyle(o).getPropertyValue("font");var s=new jbt(r,"fontSize",cxt.parse(t.font).fontSize);s.hasValue()&&(r.rootEmSize=s.getPixels("y"),r.emSize=r.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);var{width:a,height:l}=n.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");var u=this.getAttribute("refX"),h=this.getAttribute("refY"),c=this.getAttribute("viewBox"),A=c.hasValue()?ybt(c.getString()):null,f=!this.root&&"visible"!==this.getStyle("overflow").getValue("hidden"),p=0,d=0,g=0,y=0;A&&(p=A[0],d=A[1]),this.root||(a=this.getStyle("width").getPixels("x"),l=this.getStyle("height").getPixels("y"),"marker"===this.type&&(g=p,y=d,p=0,d=0)),n.viewPort.setCurrent(a,l),!this.node||this.parent&&"foreignObject"!==(null===(e=this.node.parentNode)||void 0===e?void 0:e.nodeName)||!this.getStyle("transform",!1,!0).hasValue()||this.getStyle("transform-origin",!1,!0).hasValue()||this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(t),t.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),A&&(a=A[2],l=A[3]),r.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:n.viewPort.width,desiredWidth:a,height:n.viewPort.height,desiredHeight:l,minX:p,minY:d,refX:u.getValue(),refY:h.getValue(),clip:f,clipX:g,clipY:y}),A&&(n.viewPort.removeCurrent(),n.viewPort.setCurrent(a,l))}clearContext(t){super.clearContext(t),this.document.screen.viewPort.removeCurrent()}resize(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.getAttribute("width",!0),i=this.getAttribute("height",!0),o=this.getAttribute("viewBox"),s=this.getAttribute("style"),a=n.getNumber(0),l=i.getNumber(0);if(r)if("string"==typeof r)this.getAttribute("preserveAspectRatio",!0).setValue(r);else{var u=this.getAttribute("preserveAspectRatio");u.hasValue()&&u.setValue(u.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(n.setValue(t),i.setValue(e),o.hasValue()||o.setValue("0 0 ".concat(a||t," ").concat(l||e)),s.hasValue()){var h=this.getStyle("width"),c=this.getStyle("height");h.hasValue()&&h.setValue("".concat(t,"px")),c.hasValue()&&c.setValue("".concat(e,"px"))}}}class wxt extends dxt{constructor(){super(...arguments),this.type="rect"}path(t){var e=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),n=this.getStyle("width",!1,!0).getPixels("x"),i=this.getStyle("height",!1,!0).getPixels("y"),o=this.getAttribute("rx"),s=this.getAttribute("ry"),a=o.getPixels("x"),l=s.getPixels("y");if(o.hasValue()&&!s.hasValue()&&(l=a),s.hasValue()&&!o.hasValue()&&(a=l),a=Math.min(a,n/2),l=Math.min(l,i/2),t){var u=(Math.sqrt(2)-1)/3*4;t.beginPath(),i>0&&n>0&&(t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.bezierCurveTo(e+n-a+u*a,r,e+n,r+l-u*l,e+n,r+l),t.lineTo(e+n,r+i-l),t.bezierCurveTo(e+n,r+i-l+u*l,e+n-a+u*a,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.bezierCurveTo(e+a-u*a,r+i,e,r+i-l+u*l,e,r+i-l),t.lineTo(e,r+l),t.bezierCurveTo(e,r+l-u*l,e+a-u*a,r,e+a,r),t.closePath())}return new Axt(e,r,e+n,r+i)}getMarkers(){return null}}class bxt extends dxt{constructor(){super(...arguments),this.type="circle"}path(t){var e=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),n=this.getAttribute("r").getPixels();return t&&n>0&&(t.beginPath(),t.arc(e,r,n,0,2*Math.PI,!1),t.closePath()),new Axt(e-n,r-n,e+n,r+n)}getMarkers(){return null}}class xxt extends dxt{constructor(){super(...arguments),this.type="ellipse"}path(t){var e=(Math.sqrt(2)-1)/3*4,r=this.getAttribute("rx").getPixels("x"),n=this.getAttribute("ry").getPixels("y"),i=this.getAttribute("cx").getPixels("x"),o=this.getAttribute("cy").getPixels("y");return t&&r>0&&n>0&&(t.beginPath(),t.moveTo(i+r,o),t.bezierCurveTo(i+r,o+e*n,i+e*r,o+n,i,o+n),t.bezierCurveTo(i-e*r,o+n,i-r,o+e*n,i-r,o),t.bezierCurveTo(i-r,o-e*n,i-e*r,o-n,i,o-n),t.bezierCurveTo(i+e*r,o-n,i+r,o-e*n,i+r,o),t.closePath()),new Axt(i-r,o-n,i+r,o+n)}getMarkers(){return null}}class Cxt extends dxt{constructor(){super(...arguments),this.type="line"}getPoints(){return[new zbt(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new zbt(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(t){var[{x:e,y:r},{x:n,y:i}]=this.getPoints();return t&&(t.beginPath(),t.moveTo(e,r),t.lineTo(n,i)),new Axt(e,r,n,i)}getMarkers(){var[t,e]=this.getPoints(),r=t.angleTo(e);return[[t,r],[e,r]]}}class Sxt extends dxt{constructor(t,e,r){super(t,e,r),this.type="polyline",this.points=[],this.points=zbt.parsePath(this.getAttribute("points").getString())}path(t){var{points:e}=this,[{x:r,y:n}]=e,i=new Axt(r,n);return t&&(t.beginPath(),t.moveTo(r,n)),e.forEach((e=>{var{x:r,y:n}=e;i.addPoint(r,n),t&&t.lineTo(r,n)})),i}getMarkers(){var{points:t}=this,e=t.length-1,r=[];return t.forEach(((n,i)=>{i!==e&&r.push([n,n.angleTo(t[i+1])])})),r.length>0&&r.push([t[t.length-1],r[r.length-1][1]]),r}}class Ext extends Sxt{constructor(){super(...arguments),this.type="polygon"}path(t){var e=super.path(t),[{x:r,y:n}]=this.points;return t&&(t.lineTo(r,n),t.closePath()),e}}class Bxt extends sxt{constructor(){super(...arguments),this.type="pattern"}createPattern(t,e,r){var n=this.getStyle("width").getPixels("x",!0),i=this.getStyle("height").getPixels("y",!0),o=new _xt(this.document,null);o.attributes.viewBox=new jbt(this.document,"viewBox",this.getAttribute("viewBox").getValue()),o.attributes.width=new jbt(this.document,"width","".concat(n,"px")),o.attributes.height=new jbt(this.document,"height","".concat(i,"px")),o.attributes.transform=new jbt(this.document,"transform",this.getAttribute("patternTransform").getValue()),o.children=this.children;var s=this.document.createCanvas(n,i),a=s.getContext("2d"),l=this.getAttribute("x"),u=this.getAttribute("y");l.hasValue()&&u.hasValue()&&a.translate(l.getPixels("x",!0),u.getPixels("y",!0)),r.hasValue()?this.styles["fill-opacity"]=r:Reflect.deleteProperty(this.styles,"fill-opacity");for(var h=-1;h<=1;h++)for(var c=-1;c<=1;c++)a.save(),o.attributes.x=new jbt(this.document,"x",h*s.width),o.attributes.y=new jbt(this.document,"y",c*s.height),o.render(a),a.restore();return t.createPattern(s,"repeat")}}class Ixt extends sxt{constructor(){super(...arguments),this.type="marker"}render(t,e,r){if(e){var{x:n,y:i}=e,o=this.getAttribute("orient").getString("auto"),s=this.getAttribute("markerUnits").getString("strokeWidth");t.translate(n,i),"auto"===o&&t.rotate(r),"strokeWidth"===s&&t.scale(t.lineWidth,t.lineWidth),t.save();var a=new _xt(this.document,null);a.type=this.type,a.attributes.viewBox=new jbt(this.document,"viewBox",this.getAttribute("viewBox").getValue()),a.attributes.refX=new jbt(this.document,"refX",this.getAttribute("refX").getValue()),a.attributes.refY=new jbt(this.document,"refY",this.getAttribute("refY").getValue()),a.attributes.width=new jbt(this.document,"width",this.getAttribute("markerWidth").getValue()),a.attributes.height=new jbt(this.document,"height",this.getAttribute("markerHeight").getValue()),a.attributes.overflow=new jbt(this.document,"overflow",this.getAttribute("overflow").getValue()),a.attributes.fill=new jbt(this.document,"fill",this.getAttribute("fill").getColor("black")),a.attributes.stroke=new jbt(this.document,"stroke",this.getAttribute("stroke").getValue("none")),a.children=this.children,a.render(t),t.restore(),"strokeWidth"===s&&t.scale(1/t.lineWidth,1/t.lineWidth),"auto"===o&&t.rotate(-r),t.translate(-n,-i)}}}class Pxt extends sxt{constructor(){super(...arguments),this.type="defs"}render(){}}class Fxt extends pxt{constructor(){super(...arguments),this.type="g"}getBoundingBox(t){var e=new Axt;return this.children.forEach((r=>{e.addBoundingBox(r.getBoundingBox(t))})),e}}class Txt extends sxt{constructor(t,e,r){super(t,e,r),this.attributesToInherit=["gradientUnits"],this.stops=[];var{stops:n,children:i}=this;i.forEach((t=>{"stop"===t.type&&n.push(t)}))}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(t,e,r){var n=this;this.getHrefAttribute().hasValue()&&(n=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(n));var{stops:i}=n,o=this.getGradient(t,e);if(!o)return this.addParentOpacity(r,i[i.length-1].color);if(i.forEach((t=>{o.addColorStop(t.offset,this.addParentOpacity(r,t.color))})),this.getAttribute("gradientTransform").hasValue()){var{document:s}=this,{MAX_VIRTUAL_PIXELS:a,viewPort:l}=s.screen,[u]=l.viewPorts,h=new wxt(s,null);h.attributes.x=new jbt(s,"x",-a/3),h.attributes.y=new jbt(s,"y",-a/3),h.attributes.width=new jbt(s,"width",a),h.attributes.height=new jbt(s,"height",a);var c=new Fxt(s,null);c.attributes.transform=new jbt(s,"transform",this.getAttribute("gradientTransform").getValue()),c.children=[h];var A=new _xt(s,null);A.attributes.x=new jbt(s,"x",0),A.attributes.y=new jbt(s,"y",0),A.attributes.width=new jbt(s,"width",u.width),A.attributes.height=new jbt(s,"height",u.height),A.children=[c];var f=s.createCanvas(u.width,u.height),p=f.getContext("2d");return p.fillStyle=o,A.render(p),p.createPattern(f,"no-repeat")}return o}inheritStopContainer(t){this.attributesToInherit.forEach((e=>{!this.getAttribute(e).hasValue()&&t.getAttribute(e).hasValue()&&this.getAttribute(e,!0).setValue(t.getAttribute(e).getValue())}))}addParentOpacity(t,e){return t.hasValue()?new jbt(this.document,"color",e).addOpacity(t).getColor():e}}class Mxt extends Txt{constructor(t,e,r){super(t,e,r),this.type="linearGradient",this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(t,e){var r="objectBoundingBox"===this.getGradientUnits(),n=r?e.getBoundingBox(t):null;if(r&&!n)return null;this.getAttribute("x1").hasValue()||this.getAttribute("y1").hasValue()||this.getAttribute("x2").hasValue()||this.getAttribute("y2").hasValue()||(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));var i=r?n.x+n.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),o=r?n.y+n.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),s=r?n.x+n.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),a=r?n.y+n.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return i===s&&o===a?null:t.createLinearGradient(i,o,s,a)}}class Lxt extends Txt{constructor(t,e,r){super(t,e,r),this.type="radialGradient",this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(t,e){var r="objectBoundingBox"===this.getGradientUnits(),n=e.getBoundingBox(t);if(r&&!n)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");var i=r?n.x+n.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),o=r?n.y+n.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y"),s=i,a=o;this.getAttribute("fx").hasValue()&&(s=r?n.x+n.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(a=r?n.y+n.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));var l=r?(n.width+n.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),u=this.getAttribute("fr").getPixels();return t.createRadialGradient(s,a,u,i,o,l)}}class kxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="stop";var n=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),i=this.getStyle("stop-opacity"),o=this.getStyle("stop-color",!0);""===o.getString()&&o.setValue("#000"),i.hasValue()&&(o=o.addOpacity(i)),this.offset=n,this.color=o.getColor()}}class Oxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="animate",this.duration=0,this.initialValue=null,this.initialUnits="",this.removed=!1,this.frozen=!1,t.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new jbt(t,"values",null);var n=this.getAttribute("values");n.hasValue()&&this.values.setValue(n.getString().split(";"))}getProperty(){var t=this.getAttribute("attributeType").getString(),e=this.getAttribute("attributeName").getString();return"CSS"===t?this.parent.getStyle(e,!0):this.parent.getAttribute(e,!0)}calcValue(){var{initialUnits:t}=this,{progress:e,from:r,to:n}=this.getProgress(),i=r.getNumber()+(n.getNumber()-r.getNumber())*e;return"%"===t&&(i*=100),"".concat(i).concat(t)}update(t){var{parent:e}=this,r=this.getProperty();if(this.initialValue||(this.initialValue=r.getString(),this.initialUnits=r.getUnits()),this.duration>this.maxDuration){var n=this.getAttribute("fill").getString("remove");if("indefinite"===this.getAttribute("repeatCount").getString()||"indefinite"===this.getAttribute("repeatDur").getString())this.duration=0;else if("freeze"!==n||this.frozen){if("remove"===n&&!this.removed)return this.removed=!0,r.setValue(e.animationFrozen?e.animationFrozenValue:this.initialValue),!0}else this.frozen=!0,e.animationFrozen=!0,e.animationFrozenValue=r.getString();return!1}this.duration+=t;var i=!1;if(this.begin<this.duration){var o=this.calcValue(),s=this.getAttribute("type");if(s.hasValue()){var a=s.getString();o="".concat(a,"(").concat(o,")")}r.setValue(o),i=!0}return i}getProgress(){var{document:t,values:e}=this,r={progress:(this.duration-this.begin)/(this.maxDuration-this.begin)};if(e.hasValue()){var n=r.progress*(e.getValue().length-1),i=Math.floor(n),o=Math.ceil(n);r.from=new jbt(t,"from",parseFloat(e.getValue()[i])),r.to=new jbt(t,"to",parseFloat(e.getValue()[o])),r.progress=(n-i)/(o-i)}else r.from=this.from,r.to=this.to;return r}}class Nxt extends Oxt{constructor(){super(...arguments),this.type="animateColor"}calcValue(){var{progress:t,from:e,to:r}=this.getProgress(),n=new Awt(e.getColor()),i=new Awt(r.getColor());if(n.ok&&i.ok){var o=n.r+(i.r-n.r)*t,s=n.g+(i.g-n.g)*t,a=n.b+(i.b-n.b)*t;return"rgb(".concat(Math.floor(o),", ").concat(Math.floor(s),", ").concat(Math.floor(a),")")}return this.getAttribute("from").getColor()}}class Rxt extends Oxt{constructor(){super(...arguments),this.type="animateTransform"}calcValue(){var{progress:t,from:e,to:r}=this.getProgress(),n=ybt(e.getString()),i=ybt(r.getString());return n.map(((e,r)=>e+(i[r]-e)*t)).join(" ")}}class Uxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="font",this.glyphs={},this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();var{definitions:n}=t,{children:i}=this;for(var o of i)switch(o.type){case"font-face":this.fontFace=o;var s=o.getStyle("font-family");s.hasValue()&&(n[s.getString()]=this);break;case"missing-glyph":this.missingGlyph=o;break;case"glyph":var a=o;a.arabicForm?(this.isRTL=!0,this.isArabic=!0,void 0===this.glyphs[a.unicode]&&(this.glyphs[a.unicode]={}),this.glyphs[a.unicode][a.arabicForm]=a):this.glyphs[a.unicode]=a}}render(){}}class Dxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="font-face",this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class Qxt extends dxt{constructor(){super(...arguments),this.type="missing-glyph",this.horizAdvX=0}}class Gxt extends yxt{constructor(){super(...arguments),this.type="tref"}getText(){var t=this.getHrefAttribute().getDefinition();if(t){var e=t.children[0];if(e)return e.getText()}return""}}class jxt extends yxt{constructor(t,e,r){super(t,e,r),this.type="a";var{childNodes:n}=e,i=n[0],o=n.length>0&&Array.from(n).every((t=>3===t.nodeType));this.hasText=o,this.text=o?this.getTextFromNode(i):""}getText(){return this.text}renderChildren(t){if(this.hasText){super.renderChildren(t);var{document:e,x:r,y:n}=this,{mouse:i}=e.screen,o=new jbt(e,"fontSize",cxt.parse(e.ctx.font).fontSize);i.isWorking()&&i.checkBoundingBox(this,new Axt(r,n-o.getPixels("y"),r+this.measureText(t),n))}else if(this.children.length>0){var s=new Fxt(this.document,null);s.children=this.children,s.parent=this,s.render(t)}}onClick(){var{window:t}=this.document;t&&t.open(this.getHrefAttribute().getString())}onMouseMove(){this.document.ctx.canvas.style.cursor="pointer"}}function Hxt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function zxt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Hxt(Object(r),!0).forEach((function(e){v_t(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Hxt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}class Vxt extends yxt{constructor(t,e,r){super(t,e,r),this.type="textPath",this.textWidth=0,this.textHeight=0,this.pathLength=-1,this.glyphInfo=null,this.letterSpacingCache=[],this.measuresCache=new Map([["",0]]);var n=this.getHrefAttribute().getDefinition();this.text=this.getTextFromNode(),this.dataArray=this.parsePathData(n)}getText(){return this.text}path(t){var{dataArray:e}=this;t&&t.beginPath(),e.forEach((e=>{var{type:r,points:n}=e;switch(r){case fxt.LINE_TO:t&&t.lineTo(n[0],n[1]);break;case fxt.MOVE_TO:t&&t.moveTo(n[0],n[1]);break;case fxt.CURVE_TO:t&&t.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);break;case fxt.QUAD_TO:t&&t.quadraticCurveTo(n[0],n[1],n[2],n[3]);break;case fxt.ARC:var[i,o,s,a,l,u,h,c]=n,A=s>a?s:a,f=s>a?1:s/a,p=s>a?a/s:1;t&&(t.translate(i,o),t.rotate(h),t.scale(f,p),t.arc(0,0,A,l,l+u,Boolean(1-c)),t.scale(1/f,1/p),t.rotate(-h),t.translate(-i,-o));break;case fxt.CLOSE_PATH:t&&t.closePath()}}))}renderChildren(t){this.setTextData(t),t.save();var e=this.parent.getStyle("text-decoration").getString(),r=this.getFontSize(),{glyphInfo:n}=this,i=t.fillStyle;"underline"===e&&t.beginPath(),n.forEach(((n,i)=>{var{p0:o,p1:s,rotation:a,text:l}=n;t.save(),t.translate(o.x,o.y),t.rotate(a),t.fillStyle&&t.fillText(l,0,0),t.strokeStyle&&t.strokeText(l,0,0),t.restore(),"underline"===e&&(0===i&&t.moveTo(o.x,o.y+r/8),t.lineTo(s.x,s.y+r/5))})),"underline"===e&&(t.lineWidth=r/20,t.strokeStyle=i,t.stroke(),t.closePath()),t.restore()}getLetterSpacingAt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.letterSpacingCache[t]||0}findSegmentToFitChar(t,e,r,n,i,o,s,a,l){var u=o,h=this.measureText(t,a);" "===a&&"justify"===e&&r<n&&(h+=(n-r)/i),l>-1&&(u+=this.getLetterSpacingAt(l));var c=this.textHeight/20,A=this.getEquidistantPointOnPath(u,c,0),f=this.getEquidistantPointOnPath(u+h,c,0),p={p0:A,p1:f},d=A&&f?Math.atan2(f.y-A.y,f.x-A.x):0;if(s){var g=Math.cos(Math.PI/2+d)*s,y=Math.cos(-d)*s;p.p0=zxt(zxt({},A),{},{x:A.x+g,y:A.y+y}),p.p1=zxt(zxt({},f),{},{x:f.x+g,y:f.y+y})}return{offset:u+=h,segment:p,rotation:d}}measureText(t,e){var{measuresCache:r}=this,n=e||this.getText();if(r.has(n))return r.get(n);var i=this.measureTargetText(t,n);return r.set(n,i),i}setTextData(t){if(!this.glyphInfo){var e=this.getText(),r=e.split(""),n=e.split(" ").length-1,i=this.parent.getAttribute("dx").split().map((t=>t.getPixels("x"))),o=this.parent.getAttribute("dy").getPixels("y"),s=this.parent.getStyle("text-anchor").getString("start"),a=this.getStyle("letter-spacing"),l=this.parent.getStyle("letter-spacing"),u=0;a.hasValue()&&"inherit"!==a.getValue()?a.hasValue()&&"initial"!==a.getValue()&&"unset"!==a.getValue()&&(u=a.getPixels()):u=l.getPixels();var h=[],c=e.length;this.letterSpacingCache=h;for(var A=0;A<c;A++)h.push(void 0!==i[A]?i[A]:u);var f=h.reduce(((t,e,r)=>0===r?0:t+e||0),0),p=this.measureText(t),d=Math.max(p+f,0);this.textWidth=p,this.textHeight=this.getFontSize(),this.glyphInfo=[];var g=this.getPathLength(),y=this.getStyle("startOffset").getNumber(0)*g,m=0;"middle"!==s&&"center"!==s||(m=-d/2),"end"!==s&&"right"!==s||(m=-d),m+=y,r.forEach(((e,i)=>{var{offset:a,segment:l,rotation:u}=this.findSegmentToFitChar(t,s,d,g,n,m,o,e,i);m=a,l.p0&&l.p1&&this.glyphInfo.push({text:r[i],p0:l.p0,p1:l.p1,rotation:u})}))}}parsePathData(t){if(this.pathLength=-1,!t)return[];var e=[],{pathParser:r}=t;for(r.reset();!r.isEnd();){var{current:n}=r,i=n?n.x:0,o=n?n.y:0,s=r.next(),a=s.type,l=[];switch(s.type){case fxt.MOVE_TO:this.pathM(r,l);break;case fxt.LINE_TO:a=this.pathL(r,l);break;case fxt.HORIZ_LINE_TO:a=this.pathH(r,l);break;case fxt.VERT_LINE_TO:a=this.pathV(r,l);break;case fxt.CURVE_TO:this.pathC(r,l);break;case fxt.SMOOTH_CURVE_TO:a=this.pathS(r,l);break;case fxt.QUAD_TO:this.pathQ(r,l);break;case fxt.SMOOTH_QUAD_TO:a=this.pathT(r,l);break;case fxt.ARC:l=this.pathA(r);break;case fxt.CLOSE_PATH:dxt.pathZ(r)}s.type!==fxt.CLOSE_PATH?e.push({type:a,points:l,start:{x:i,y:o},pathLength:this.calcLength(i,o,a,l)}):e.push({type:fxt.CLOSE_PATH,points:[],pathLength:0})}return e}pathM(t,e){var{x:r,y:n}=dxt.pathM(t).point;e.push(r,n)}pathL(t,e){var{x:r,y:n}=dxt.pathL(t).point;return e.push(r,n),fxt.LINE_TO}pathH(t,e){var{x:r,y:n}=dxt.pathH(t).point;return e.push(r,n),fxt.LINE_TO}pathV(t,e){var{x:r,y:n}=dxt.pathV(t).point;return e.push(r,n),fxt.LINE_TO}pathC(t,e){var{point:r,controlPoint:n,currentPoint:i}=dxt.pathC(t);e.push(r.x,r.y,n.x,n.y,i.x,i.y)}pathS(t,e){var{point:r,controlPoint:n,currentPoint:i}=dxt.pathS(t);return e.push(r.x,r.y,n.x,n.y,i.x,i.y),fxt.CURVE_TO}pathQ(t,e){var{controlPoint:r,currentPoint:n}=dxt.pathQ(t);e.push(r.x,r.y,n.x,n.y)}pathT(t,e){var{controlPoint:r,currentPoint:n}=dxt.pathT(t);return e.push(r.x,r.y,n.x,n.y),fxt.QUAD_TO}pathA(t){var{rX:e,rY:r,sweepFlag:n,xAxisRotation:i,centp:o,a1:s,ad:a}=dxt.pathA(t);return 0===n&&a>0&&(a-=2*Math.PI),1===n&&a<0&&(a+=2*Math.PI),[o.x,o.y,e,r,s,a,i,n]}calcLength(t,e,r,n){var i=0,o=null,s=null,a=0;switch(r){case fxt.LINE_TO:return this.getLineLength(t,e,n[0],n[1]);case fxt.CURVE_TO:for(i=0,o=this.getPointOnCubicBezier(0,t,e,n[0],n[1],n[2],n[3],n[4],n[5]),a=.01;a<=1;a+=.01)s=this.getPointOnCubicBezier(a,t,e,n[0],n[1],n[2],n[3],n[4],n[5]),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return i;case fxt.QUAD_TO:for(i=0,o=this.getPointOnQuadraticBezier(0,t,e,n[0],n[1],n[2],n[3]),a=.01;a<=1;a+=.01)s=this.getPointOnQuadraticBezier(a,t,e,n[0],n[1],n[2],n[3]),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return i;case fxt.ARC:i=0;var l=n[4],u=n[5],h=n[4]+u,c=Math.PI/180;if(Math.abs(l-h)<c&&(c=Math.abs(l-h)),o=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],l,0),u<0)for(a=l-c;a>h;a-=c)s=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],a,0),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(a=l+c;a<h;a+=c)s=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],a,0),i+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return s=this.getPointOnEllipticalArc(n[0],n[1],n[2],n[3],h,0),i+this.getLineLength(o.x,o.y,s.x,s.y)}return 0}getPointOnLine(t,e,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:r,a=(i-r)/(n-e+Tbt),l=Math.sqrt(t*t/(1+a*a));n<e&&(l*=-1);var u=a*l,h=null;if(n===e)h={x:o,y:s+u};else if((s-r)/(o-e+Tbt)===a)h={x:o+l,y:s+u};else{var c,A,f=this.getLineLength(e,r,n,i);if(f<Tbt)return null;var p=(o-e)*(n-e)+(s-r)*(i-r);c=e+(p/=f*f)*(n-e),A=r+p*(i-r);var d=this.getLineLength(o,s,c,A),g=Math.sqrt(t*t-d*d);l=Math.sqrt(g*g/(1+a*a)),n<e&&(l*=-1),h={x:c+l,y:A+(u=a*l)}}return h}getPointOnPath(t){var e=this.getPathLength(),r=0,n=null;if(t<-5e-5||t-5e-5>e)return null;var{dataArray:i}=this;for(var o of i){if(!o||!(o.pathLength<5e-5||r+o.pathLength+5e-5<t)){var s=t-r,a=0;switch(o.type){case fxt.LINE_TO:n=this.getPointOnLine(s,o.start.x,o.start.y,o.points[0],o.points[1],o.start.x,o.start.y);break;case fxt.ARC:var l=o.points[4],u=o.points[5],h=o.points[4]+u;if(a=l+s/o.pathLength*u,u<0&&a<h||u>=0&&a>h)break;n=this.getPointOnEllipticalArc(o.points[0],o.points[1],o.points[2],o.points[3],a,o.points[6]);break;case fxt.CURVE_TO:(a=s/o.pathLength)>1&&(a=1),n=this.getPointOnCubicBezier(a,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3],o.points[4],o.points[5]);break;case fxt.QUAD_TO:(a=s/o.pathLength)>1&&(a=1),n=this.getPointOnQuadraticBezier(a,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3])}if(n)return n;break}r+=o.pathLength}return null}getLineLength(t,e,r,n){return Math.sqrt((r-t)*(r-t)+(n-e)*(n-e))}getPathLength(){return-1===this.pathLength&&(this.pathLength=this.dataArray.reduce(((t,e)=>e.pathLength>0?t+e.pathLength:t),0)),this.pathLength}getPointOnCubicBezier(t,e,r,n,i,o,s,a,l){return{x:a*Obt(t)+o*Nbt(t)+n*Rbt(t)+e*Ubt(t),y:l*Obt(t)+s*Nbt(t)+i*Rbt(t)+r*Ubt(t)}}getPointOnQuadraticBezier(t,e,r,n,i,o,s){return{x:o*Dbt(t)+n*Qbt(t)+e*Gbt(t),y:s*Dbt(t)+i*Qbt(t)+r*Gbt(t)}}getPointOnEllipticalArc(t,e,r,n,i,o){var s=Math.cos(o),a=Math.sin(o),l=r*Math.cos(i),u=n*Math.sin(i);return{x:t+(l*s-u*a),y:e+(l*a+u*s)}}buildEquidistantCache(t,e){var r=this.getPathLength(),n=e||.25,i=t||r/100;if(!this.equidistantCache||this.equidistantCache.step!==i||this.equidistantCache.precision!==n){this.equidistantCache={step:i,precision:n,points:[]};for(var o=0,s=0;s<=r;s+=n){var a=this.getPointOnPath(s),l=this.getPointOnPath(s+n);a&&l&&(o+=this.getLineLength(a.x,a.y,l.x,l.y))>=i&&(this.equidistantCache.points.push({x:a.x,y:a.y,distance:s}),o-=i)}}}getEquidistantPointOnPath(t,e,r){if(this.buildEquidistantCache(e,r),t<0||t-this.getPathLength()>5e-5)return null;var n=Math.round(t/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[n]||null}}var Kxt=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class qxt extends pxt{constructor(t,e,r){super(t,e,r),this.type="image",this.loaded=!1;var n=this.getHrefAttribute().getString();if(n){var i=n.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(n);t.images.push(this),i?this.loadSvg(n):this.loadImage(n),this.isSvg=i}}loadImage(t){var e=this;return Zyt((function*(){try{var r=yield e.document.createImage(t);e.image=r}catch(n){}e.loaded=!0}))()}loadSvg(t){var e=this;return Zyt((function*(){var r=Kxt.exec(t);if(r){var n=r[5];"base64"===r[4]?e.image=atob(n):e.image=decodeURIComponent(n)}else try{var i=yield e.document.fetch(t),o=yield i.text();e.image=o}catch(s){}e.loaded=!0}))()}renderChildren(t){var{document:e,image:r,loaded:n}=this,i=this.getAttribute("x").getPixels("x"),o=this.getAttribute("y").getPixels("y"),s=this.getStyle("width").getPixels("x"),a=this.getStyle("height").getPixels("y");if(n&&r&&s&&a){if(t.save(),t.translate(i,o),this.isSvg){var l=e.canvg.forkString(t,this.image,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:s,scaleHeight:a});l.document.documentElement.parent=this,l.render()}else{var u=this.image;e.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:s,desiredWidth:u.width,height:a,desiredHeight:u.height}),this.loaded&&(void 0===u.complete||u.complete)&&t.drawImage(u,0,0)}t.restore()}}getBoundingBox(){var t=this.getAttribute("x").getPixels("x"),e=this.getAttribute("y").getPixels("y"),r=this.getStyle("width").getPixels("x"),n=this.getStyle("height").getPixels("y");return new Axt(t,e,t+r,e+n)}}class Wxt extends pxt{constructor(){super(...arguments),this.type="symbol"}render(t){}}class Xxt{constructor(t){this.document=t,this.loaded=!1,t.fonts.push(this)}load(t,e){var r=this;return Zyt((function*(){try{var{document:n}=r,i=(yield n.canvg.parser.load(e)).getElementsByTagName("font");Array.from(i).forEach((e=>{var r=n.createElement(e);n.definitions[t]=r}))}catch(o){}r.loaded=!0}))()}}class Yxt extends sxt{constructor(t,e,r){super(t,e,r),this.type="style",pbt(Array.from(e.childNodes).map((t=>t.textContent)).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")).split("}").forEach((e=>{var r=e.trim();if(r){var n=r.split("{"),i=n[0].split(","),o=n[1].split(";");i.forEach((e=>{var r=e.trim();if(r){var n=t.styles[r]||{};if(o.forEach((e=>{var r=e.indexOf(":"),i=e.substr(0,r).trim(),o=e.substr(r+1,e.length-r).trim();i&&o&&(n[i]=new jbt(t,i,o))})),t.styles[r]=n,t.stylesSpecificity[r]=Fbt(r),"@font-face"===r){var i=n["font-family"].getString().replace(/"|'/g,"");n.src.getString().split(",").forEach((e=>{if(e.indexOf('format("svg")')>0){var r=_bt(e);r&&new Xxt(t).load(i,r)}}))}}}))}}))}}Yxt.parseExternalUrl=_bt;class Zxt extends pxt{constructor(){super(...arguments),this.type="use"}setContext(t){super.setContext(t);var e=this.getAttribute("x"),r=this.getAttribute("y");e.hasValue()&&t.translate(e.getPixels("x"),0),r.hasValue()&&t.translate(0,r.getPixels("y"))}path(t){var{element:e}=this;e&&e.path(t)}renderChildren(t){var{document:e,element:r}=this;if(r){var n=r;if("symbol"===r.type&&((n=new _xt(e,null)).attributes.viewBox=new jbt(e,"viewBox",r.getAttribute("viewBox").getString()),n.attributes.preserveAspectRatio=new jbt(e,"preserveAspectRatio",r.getAttribute("preserveAspectRatio").getString()),n.attributes.overflow=new jbt(e,"overflow",r.getAttribute("overflow").getString()),n.children=r.children,r.styles.opacity=new jbt(e,"opacity",this.calculateOpacity())),"svg"===n.type){var i=this.getStyle("width",!1,!0),o=this.getStyle("height",!1,!0);i.hasValue()&&(n.attributes.width=new jbt(e,"width",i.getString())),o.hasValue()&&(n.attributes.height=new jbt(e,"height",o.getString()))}var s=n.parent;n.parent=this,n.render(t),n.parent=s}}getBoundingBox(t){var{element:e}=this;return e?e.getBoundingBox(t):null}elementTransform(){var{document:t,element:e}=this;return oxt.fromElement(t,e)}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function Jxt(t,e,r,n,i,o){return t[r*n*4+4*e+o]}function $xt(t,e,r,n,i,o,s){t[r*n*4+4*e+o]=s}function tCt(t,e,r){return t[e]*r}function eCt(t,e,r,n){return e+Math.cos(t)*r+Math.sin(t)*n}class rCt extends sxt{constructor(t,e,r){super(t,e,r),this.type="feColorMatrix";var n=ybt(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":var i=n[0];n=[.213+.787*i,.715-.715*i,.072-.072*i,0,0,.213-.213*i,.715+.285*i,.072-.072*i,0,0,.213-.213*i,.715-.715*i,.072+.928*i,0,0,0,0,0,1,0,0,0,0,0,1];break;case"hueRotate":var o=n[0]*Math.PI/180;n=[eCt(o,.213,.787,-.213),eCt(o,.715,-.715,-.715),eCt(o,.072,-.072,.928),0,0,eCt(o,.213,-.213,.143),eCt(o,.715,.285,.14),eCt(o,.072,-.072,-.283),0,0,eCt(o,.213,-.213,-.787),eCt(o,.715,-.715,.715),eCt(o,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break;case"luminanceToAlpha":n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1]}this.matrix=n,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(t,e,r,n,i){for(var{includeOpacity:o,matrix:s}=this,a=t.getImageData(0,0,n,i),l=0;l<i;l++)for(var u=0;u<n;u++){var h=Jxt(a.data,u,l,n,0,0),c=Jxt(a.data,u,l,n,0,1),A=Jxt(a.data,u,l,n,0,2),f=Jxt(a.data,u,l,n,0,3),p=tCt(s,0,h)+tCt(s,1,c)+tCt(s,2,A)+tCt(s,3,f)+tCt(s,4,1),d=tCt(s,5,h)+tCt(s,6,c)+tCt(s,7,A)+tCt(s,8,f)+tCt(s,9,1),g=tCt(s,10,h)+tCt(s,11,c)+tCt(s,12,A)+tCt(s,13,f)+tCt(s,14,1),y=tCt(s,15,h)+tCt(s,16,c)+tCt(s,17,A)+tCt(s,18,f)+tCt(s,19,1);o&&(p=0,d=0,g=0,y*=f/255),$xt(a.data,u,l,n,0,0,p),$xt(a.data,u,l,n,0,1,d),$xt(a.data,u,l,n,0,2,g),$xt(a.data,u,l,n,0,3,y)}t.clearRect(0,0,n,i),t.putImageData(a,0,0)}}class nCt extends sxt{constructor(){super(...arguments),this.type="mask"}apply(t,e){var{document:r}=this,n=this.getAttribute("x").getPixels("x"),i=this.getAttribute("y").getPixels("y"),o=this.getStyle("width").getPixels("x"),s=this.getStyle("height").getPixels("y");if(!o&&!s){var a=new Axt;this.children.forEach((e=>{a.addBoundingBox(e.getBoundingBox(t))})),n=Math.floor(a.x1),i=Math.floor(a.y1),o=Math.floor(a.width),s=Math.floor(a.height)}var l=this.removeStyles(e,nCt.ignoreStyles),u=r.createCanvas(n+o,i+s),h=u.getContext("2d");r.screen.setDefaults(h),this.renderChildren(h),new rCt(r,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(h,0,0,n+o,i+s);var c=r.createCanvas(n+o,i+s),A=c.getContext("2d");r.screen.setDefaults(A),e.render(A),A.globalCompositeOperation="destination-in",A.fillStyle=h.createPattern(u,"no-repeat"),A.fillRect(0,0,n+o,i+s),t.fillStyle=A.createPattern(c,"no-repeat"),t.fillRect(0,0,n+o,i+s),this.restoreStyles(e,l)}render(t){}}nCt.ignoreStyles=["mask","transform","clip-path"];var iCt=()=>{};class oCt extends sxt{constructor(){super(...arguments),this.type="clipPath"}apply(t){var{document:e}=this,r=Reflect.getPrototypeOf(t),{beginPath:n,closePath:i}=t;r&&(r.beginPath=iCt,r.closePath=iCt),Reflect.apply(n,t,[]),this.children.forEach((n=>{if(void 0!==n.path){var o=void 0!==n.elementTransform?n.elementTransform():null;o||(o=oxt.fromElement(e,n)),o&&o.apply(t),n.path(t),r&&(r.closePath=i),o&&o.unapply(t)}})),Reflect.apply(i,t,[]),t.clip(),r&&(r.beginPath=n,r.closePath=i)}render(t){}}class sCt extends sxt{constructor(){super(...arguments),this.type="filter"}apply(t,e){var{document:r,children:n}=this,i=e.getBoundingBox(t);if(i){var o=0,s=0;n.forEach((t=>{var e=t.extraFilterDistance||0;o=Math.max(o,e),s=Math.max(s,e)}));var a=Math.floor(i.width),l=Math.floor(i.height),u=a+2*o,h=l+2*s;if(!(u<1||h<1)){var c=Math.floor(i.x),A=Math.floor(i.y),f=this.removeStyles(e,sCt.ignoreStyles),p=r.createCanvas(u,h),d=p.getContext("2d");r.screen.setDefaults(d),d.translate(-c+o,-A+s),e.render(d),n.forEach((t=>{"function"==typeof t.apply&&t.apply(d,0,0,u,h)})),t.drawImage(p,0,0,u,h,c-o,A-s,u,h),this.restoreStyles(e,f)}}}render(t){}}sCt.ignoreStyles=["filter","transform","clip-path"];class aCt extends sxt{constructor(t,e,r){super(t,e,r),this.type="feDropShadow",this.addStylesFromStyleDefinition()}apply(t,e,r,n,i){}}class lCt extends sxt{constructor(){super(...arguments),this.type="feMorphology"}apply(t,e,r,n,i){}}class uCt extends sxt{constructor(){super(...arguments),this.type="feComposite"}apply(t,e,r,n,i){}}class hCt extends sxt{constructor(t,e,r){super(t,e,r),this.type="feGaussianBlur",this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(t,e,r,n,i){var{document:o,blurRadius:s}=this,a=o.window?o.window.document.body:null,l=t.canvas;l.id=o.getUniqueId(),a&&(l.style.display="none",a.appendChild(l)),function(t,e,r,n,i,o){if(!(isNaN(o)||o<1)){o|=0;var s=function(t,e,r,n,i){if("string"==typeof t&&(t=document.getElementById(t)),!t||"object"!==ubt(t)||!("getContext"in t))throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");var o=t.getContext("2d");try{return o.getImageData(e,r,n,i)}catch(XX){throw new Error("unable to access image data: "+XX)}}(t,e,r,n,i);s=function(t,e,r,n,i,o){for(var s,a=t.data,l=2*o+1,u=n-1,h=i-1,c=o+1,A=c*(c+1)/2,f=new Abt,p=f,d=1;d<l;d++)p=p.next=new Abt,d===c&&(s=p);p.next=f;for(var g=null,y=null,m=0,v=0,_=hbt[o],w=cbt[o],b=0;b<i;b++){p=f;for(var x=a[v],C=a[v+1],S=a[v+2],E=a[v+3],B=0;B<c;B++)p.r=x,p.g=C,p.b=S,p.a=E,p=p.next;for(var I=0,P=0,F=0,T=0,M=c*x,L=c*C,k=c*S,O=c*E,N=A*x,R=A*C,U=A*S,D=A*E,Q=1;Q<c;Q++){var G=v+((u<Q?u:Q)<<2),j=a[G],H=a[G+1],z=a[G+2],V=a[G+3],K=c-Q;N+=(p.r=j)*K,R+=(p.g=H)*K,U+=(p.b=z)*K,D+=(p.a=V)*K,I+=j,P+=H,F+=z,T+=V,p=p.next}g=f,y=s;for(var q=0;q<n;q++){var W=D*_>>>w;if(a[v+3]=W,0!==W){var X=255/W;a[v]=(N*_>>>w)*X,a[v+1]=(R*_>>>w)*X,a[v+2]=(U*_>>>w)*X}else a[v]=a[v+1]=a[v+2]=0;N-=M,R-=L,U-=k,D-=O,M-=g.r,L-=g.g,k-=g.b,O-=g.a;var Y=q+o+1;Y=m+(Y<u?Y:u)<<2,N+=I+=g.r=a[Y],R+=P+=g.g=a[Y+1],U+=F+=g.b=a[Y+2],D+=T+=g.a=a[Y+3],g=g.next;var Z=y,J=Z.r,$=Z.g,tt=Z.b,et=Z.a;M+=J,L+=$,k+=tt,O+=et,I-=J,P-=$,F-=tt,T-=et,y=y.next,v+=4}m+=n}for(var rt=0;rt<n;rt++){var nt=a[v=rt<<2],it=a[v+1],ot=a[v+2],st=a[v+3],at=c*nt,lt=c*it,ut=c*ot,ht=c*st,ct=A*nt,At=A*it,ft=A*ot,pt=A*st;p=f;for(var dt=0;dt<c;dt++)p.r=nt,p.g=it,p.b=ot,p.a=st,p=p.next;for(var gt=n,yt=0,mt=0,vt=0,_t=0,wt=1;wt<=o;wt++){v=gt+rt<<2;var bt=c-wt;ct+=(p.r=nt=a[v])*bt,At+=(p.g=it=a[v+1])*bt,ft+=(p.b=ot=a[v+2])*bt,pt+=(p.a=st=a[v+3])*bt,_t+=nt,yt+=it,mt+=ot,vt+=st,p=p.next,wt<h&&(gt+=n)}v=rt,g=f,y=s;for(var xt=0;xt<i;xt++){var Ct=v<<2;a[Ct+3]=st=pt*_>>>w,st>0?(st=255/st,a[Ct]=(ct*_>>>w)*st,a[Ct+1]=(At*_>>>w)*st,a[Ct+2]=(ft*_>>>w)*st):a[Ct]=a[Ct+1]=a[Ct+2]=0,ct-=at,At-=lt,ft-=ut,pt-=ht,at-=g.r,lt-=g.g,ut-=g.b,ht-=g.a,Ct=rt+((Ct=xt+c)<h?Ct:h)*n<<2,ct+=_t+=g.r=a[Ct],At+=yt+=g.g=a[Ct+1],ft+=mt+=g.b=a[Ct+2],pt+=vt+=g.a=a[Ct+3],g=g.next,at+=nt=y.r,lt+=it=y.g,ut+=ot=y.b,ht+=st=y.a,_t-=nt,yt-=it,mt-=ot,vt-=st,y=y.next,v+=n}}return t}(s,0,0,n,i,o),t.getContext("2d").putImageData(s,e,r)}}(l,e,r,n,i,s),a&&a.removeChild(l)}}class cCt extends sxt{constructor(){super(...arguments),this.type="title"}}class ACt extends sxt{constructor(){super(...arguments),this.type="desc"}}var fCt={svg:_xt,rect:wxt,circle:bxt,ellipse:xxt,line:Cxt,polyline:Sxt,polygon:Ext,path:dxt,pattern:Bxt,marker:Ixt,defs:Pxt,linearGradient:Mxt,radialGradient:Lxt,stop:kxt,animate:Oxt,animateColor:Nxt,animateTransform:Rxt,font:Uxt,"font-face":Dxt,"missing-glyph":Qxt,glyph:gxt,text:yxt,tspan:mxt,tref:Gxt,a:jxt,textPath:Vxt,image:qxt,g:Fxt,symbol:Wxt,style:Yxt,use:Zxt,mask:nCt,clipPath:oCt,filter:sCt,feDropShadow:aCt,feMorphology:lCt,feComposite:uCt,feColorMatrix:rCt,feGaussianBlur:hCt,title:cCt,desc:ACt};function pCt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function dCt(){return dCt=Zyt((function*(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=document.createElement("img");return e&&(r.crossOrigin="Anonymous"),new Promise(((e,n)=>{r.onload=()=>{e(r)},r.onerror=(t,e,r,i,o)=>{n(o)},r.src=t}))})),dCt.apply(this,arguments)}class gCt{constructor(t){var{rootEmSize:e=12,emSize:r=12,createCanvas:n=gCt.createCanvas,createImage:i=gCt.createImage,anonymousCrossOrigin:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.canvg=t,this.definitions={},this.styles={},this.stylesSpecificity={},this.images=[],this.fonts=[],this.emSizeStack=[],this.uniqueId=0,this.screen=t.screen,this.rootEmSize=e,this.emSize=r,this.createCanvas=n,this.createImage=this.bindCreateImage(i,o),this.screen.wait(this.isImagesLoaded.bind(this)),this.screen.wait(this.isFontsLoaded.bind(this))}bindCreateImage(t,e){return"boolean"==typeof e?(r,n)=>t(r,"boolean"==typeof n?n:e):t}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){var{emSizeStack:t}=this;return t[t.length-1]}set emSize(t){var{emSizeStack:e}=this;e.push(t)}popEmSize(){var{emSizeStack:t}=this;t.pop()}getUniqueId(){return"canvg".concat(++this.uniqueId)}isImagesLoaded(){return this.images.every((t=>t.loaded))}isFontsLoaded(){return this.fonts.every((t=>t.loaded))}createDocumentElement(t){var e=this.createElement(t.documentElement);return e.root=!0,e.addStylesFromStyleDefinition(),this.documentElement=e,e}createElement(t){var e=t.nodeName.replace(/^[^:]+:/,""),r=gCt.elementTypes[e];return void 0!==r?new r(this,t):new axt(this,t)}createTextNode(t){return new vxt(this,t)}setViewBox(t){this.screen.setViewBox(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?pCt(Object(r),!0).forEach((function(e){v_t(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pCt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({document:this},t))}}function yCt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function mCt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?yCt(Object(r),!0).forEach((function(e){v_t(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):yCt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}gCt.createCanvas=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r},gCt.createImage=function(t){return dCt.apply(this,arguments)},gCt.elementTypes=fCt;class vCt{constructor(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.parser=new Zbt(r),this.screen=new Wbt(t,r),this.options=r;var n=new gCt(this,r),i=n.createDocumentElement(e);this.document=n,this.documentElement=i}static from(t,e){var r=arguments;return Zyt((function*(){var n=r.length>2&&void 0!==r[2]?r[2]:{},i=new Zbt(n),o=yield i.parse(e);return new vCt(t,o,n)}))()}static fromString(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=new Zbt(r).parseFromString(e);return new vCt(t,n,r)}fork(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return vCt.from(t,e,mCt(mCt({},this.options),r))}forkString(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return vCt.fromString(t,e,mCt(mCt({},this.options),r))}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}render(){var t=arguments,e=this;return Zyt((function*(){var r=t.length>0&&void 0!==t[0]?t[0]:{};e.start(mCt({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0},r)),yield e.ready(),e.stop()}))()}start(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{documentElement:e,screen:r,options:n}=this;r.start(e,mCt(mCt({enableRedraw:!0},n),t))}stop(){this.screen.stop()}resize(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.documentElement.resize(t,e,r)}}const _Ct=Object.freeze(Object.defineProperty({__proto__:null,AElement:jxt,AnimateColorElement:Nxt,AnimateElement:Oxt,AnimateTransformElement:Rxt,BoundingBox:Axt,CB1:Obt,CB2:Nbt,CB3:Rbt,CB4:Ubt,Canvg:vCt,CircleElement:bxt,ClipPathElement:oCt,DefsElement:Pxt,DescElement:ACt,Document:gCt,Element:sxt,EllipseElement:xxt,FeColorMatrixElement:rCt,FeCompositeElement:uCt,FeDropShadowElement:aCt,FeGaussianBlurElement:hCt,FeMorphologyElement:lCt,FilterElement:sCt,Font:cxt,FontElement:Uxt,FontFaceElement:Dxt,GElement:Fxt,GlyphElement:gxt,GradientElement:Txt,ImageElement:qxt,LineElement:Cxt,LinearGradientElement:Mxt,MarkerElement:Ixt,MaskElement:nCt,Matrix:ext,MissingGlyphElement:Qxt,Mouse:Vbt,PSEUDO_ZERO:Tbt,Parser:Zbt,PathElement:dxt,PathParser:fxt,PatternElement:Bxt,Point:zbt,PolygonElement:Ext,PolylineElement:Sxt,Property:jbt,QB1:Dbt,QB2:Qbt,QB3:Gbt,RadialGradientElement:Lxt,RectElement:wxt,RenderedElement:pxt,Rotate:$bt,SVGElement:_xt,SVGFontLoader:Xxt,Scale:txt,Screen:Wbt,Skew:rxt,SkewX:nxt,SkewY:ixt,StopElement:kxt,StyleElement:Yxt,SymbolElement:Wxt,TRefElement:Gxt,TSpanElement:mxt,TextElement:yxt,TextPathElement:Vxt,TitleElement:cCt,Transform:oxt,Translate:Jbt,UnknownElement:axt,UseElement:Zxt,ViewPort:Hbt,compressSpaces:pbt,default:vCt,getSelectorSpecificity:Fbt,normalizeAttributeName:vbt,normalizeColor:wbt,parseExternalUrl:_bt,presets:fbt,toNumbers:ybt,trimLeft:dbt,trimRight:gbt,vectorMagnitude:Mbt,vectorsAngle:kbt,vectorsRatio:Lbt},Symbol.toStringTag,{value:"Module"}));exports.Controls=dut,exports.DataType=tm,exports.EventType=Dy,exports.Graphic=mO,exports.Layer=dft,exports.Map=class extends TD{constructor(t="map",r){if(super(),e(this,"_mapOption"),e(this,"_layerArray"),e(this,"_view"),e(this,"_popupDiv"),e(this,"_popupContent"),e(this,"_popupCloser"),e(this,"_popup"),e(this,"baseLayer"),e(this,"_draw"),e(this,"GraphicLayer"),e(this,"MeasureLayer"),e(this,"overviewMapControl"),e(this,"_tooltip"),e(this,"_tooltipcontent"),e(this,"_tooltipElement"),e(this,"_select"),e(this,"_select2"),e(this,"option"),e(this,"controls"),e(this,"Proj"),e(this,"splitInteraction"),e(this,"_multiWindow"),e(this,"highFeature"),this.highFeature=null,this._layerArray=[],this._multiWindow=[],this.baseLayer=[],this._view=null,this._mapOption={zoom:13,center:{lng:102.103952024454,lat:26.1693520685273},minZoom:2,maxZoom:18,basemap:"天地图卫星",centerAutoLevel:15,defaultContextMenu:!0,controls:{scale:!0,locationBar:{crs:"EPSG:3857",template:"<div style='margin-right: 15px'>经度:{lng}</div> <div style='margin-right: 15px'>纬度:{lat}</div> <div style='margin-right: 15px'>横{crsx} 纵{crsy}</div> <div style='margin-right: 15px'>层级:{level}</div>"},layers:{position:"topleft"},zoom:{position:"bottomright"},toolBar:{position:"bottomright"}},basemaps:[{pid:10,name:"天地图卫星",type:"TileTdtLayer",layers:[{name:"底图",type:"tdt",layertype:"img_d",key:["ad5bee3fe473a639887fa9d57a670c6e"],url:"//t{0-7}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=9d8764edc63bda32cbca6c23a0286cc4"},{name:"注记",type:"tdt",layertype:"img_z",key:["ad5bee3fe473a639887fa9d57a670c6e"],url:"//t{0-7}.tianditu.gov.cn/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk=9d8764edc63bda32cbca6c23a0286cc4"}],url:""}]},this.option={contextmenu:[]},!r)return;r.map&&(this._mapOption=r.map,this._mapOption.basemaps.forEach((t=>{let e;switch(t.id||(t.id=Zk.uuid15()),this._mapOption.basemap===t.name&&(t.id="baselayer"),t.type){case Hy.TileGroupLayer:t.layers&&(e=new pQ(t.id,t));break;case Hy.arcgisMapServer:e=new aD(t.id,t);break;case Hy.arcgisMapTile:e=new sD(t.id,t);break;case Hy.imageLayer:e=new dQ(t.id,t);break;case Hy.tencent:e=new OD(t.id,t);break;case Hy.baidu:e=new fQ(t.id,t);break;case Hy.WmsLayer:e=new Eut(t.id,t);break;case Hy.WmsTileLayer:e=new Put(t.id,t);break;case Hy.WmtsLayer:e=new Fut(t.id,t);break;case Hy.TMSLayer:e=new Tut(t.id,t);break;default:e=new kD(t.id,t)}this._layerArray.push(e),this._mapOption.basemap===t.name&&this.baseLayer.push(e.layer)}))),this.controls={locationbar:null,baseLayerSwitch:null,swipe:new fut,selectTransform:new _ut({id:"SelectTransform"}),CrossStars:new Iut({})},this.controls.swipe.on("show",(t=>{this._map.addControl(t.swipe),t.swipe.addLayer(this.getLayer(t.leftlayerID),!0),t.swipe.addLayer(this.getLayer(t.rightlayerID),!1)})),this.controls.swipe.on("hide",(t=>{this._map.removeControl(t)})),this.Proj=new lO,this.init(t),this.controls.selectTransform.appendTo(this._map);let n=new FD;n.getMessage(),n.scanApk(r.appkey,"1.1.96")||this._map.addControl(new But({}))}_addTipElement(){this._tooltipElement=document.createElement("div"),this._tooltipElement.setAttribute("id","tooltip"),this._tooltipElement.setAttribute("class","tooltip"),this._tooltipcontent=document.createElement("div"),this._tooltipcontent.setAttribute("id","tooltip-content"),this._tooltipElement.appendChild(this._tooltipcontent),document.body.appendChild(this._tooltipElement),this._popupDiv=document.createElement("div"),this._popupDiv.setAttribute("id","popup"),this._popupDiv.setAttribute("class","ol-popup"),this._popupCloser=document.createElement("a"),this._popupCloser.setAttribute("id","popup-closer"),this._popupCloser.setAttribute("class","ol-popup-closer"),this._popupContent=document.createElement("div"),this._popupContent.setAttribute("id","popup-content"),this._popupDiv.appendChild(this._popupCloser),this._popupDiv.appendChild(this._popupContent),this._popupCloser.onclick=()=>{var t,e;null==(t=this._popup)||t.setPosition(void 0),null==(e=this._popupCloser)||e.blur(),this._popup.dispatchEvent({type:"popupclose",event:this._popupContent})}}init(t){this._view=new tl({projection:"EPSG:3857",center:dr([this._mapOption.center.lng,this._mapOption.center.lat],"EPSG:4326","EPSG:3857"),rotation:0,zoomFactor:2,zoom:this._mapOption.zoom,minZoom:this._mapOption.minZoom,maxZoom:this._mapOption.maxZoom,smoothResolutionConstraint:!1}),this._addTipElement(),this._popup=new xl({id:"popup",element:this._popupDiv,autoPan:{animation:{duration:250}}}),this._tooltip=new xl({id:"tooltip",element:this._tooltipElement,autoPan:{animation:{duration:250}}}),this._map=new hh({controls:kl({zoom:!1}),target:t,overlays:[this._popup,this._tooltip],layers:this.baseLayer,view:this._view,interactions:lh({doubleClickZoom:!1,pinchRotate:!1})}),this._mapOption.controls&&(this._mapOption.controls.scale&&this._map.addControl(this.scaleControl("scaleline")),this._mapOption.controls.locationBar&&(this.controls.locationbar=new uut({}),this._map.addControl(this.controls.locationbar))),this.controls.baseLayerSwitch=new hut({},this._mapOption.basemap,this._mapOption.basemaps,(t=>{this.setBaseLayer(t)})),this._map.addControl(this.controls.baseLayerSwitch),this._map.addControl(this.controls.CrossStars),this._select=new th({condition:Yl,style:(t,e)=>_O.setHighlightStyle(t),filter:(t,e)=>{if(e)return"kmlLayer"===e.get("layertype")||"ClusterImageLayer"!==e.get("layertype")&&"PbfLayer"!==e.get("layertype")&&!(t.get("editstate")||!t.get("movestate"))}}),this._select.on("select",(t=>{})),this._select2=new th({condition:Yl,style:null}),this._select2.on("select",(t=>{t.selected.length>0?(this._map.getTargetElement().style.cursor="pointer",t.selected.forEach((e=>{e instanceof zc&&(e=Vc(e)),e.get("features")?1===e.get("features").length&&e.get("features")[0].dispatchEvent({type:"mousemove",event:t}):e.dispatchEvent({type:"mousemove",event:t})}))):(this._map.getTargetElement().style.cursor="",t.deselected.forEach((e=>{e instanceof zc&&(e=Vc(e)),e.get("features")?1===e.get("features").length&&e.get("features")[0].dispatchEvent({type:"mouseout",event:t}):e.dispatchEvent({type:"mouseout",event:t})})))})),this._select.setActive(!0),this._select2.setActive(!0),this._map.addInteraction(this._select),this._map.addInteraction(this._select2),this._view.on("change:resolution",(t=>{this.trigger(Ry.onZoomChange,t.target.get("zoom"))})),this._view.on("change:center",(t=>{this.trigger(Ry.onCenterChange,t.target)})),this._map.on("pointermove",(t=>{var e;let r=null==(e=this._map)?void 0:e.getEventCoordinate(t.originalEvent);if(r){let e=dr(r,"EPSG:3857","EPSG:4326"),n=this.Proj.LnglatToCGCS2000(e[0],e[1],3);this.trigger(Ry.onMapMove,{clientX:t.originalEvent.clientX,clientY:t.originalEvent.clientY,lng:e[0],lat:e[1],crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(this._view.getZoom()),pixel:t.pixel}),this.controls.locationbar.updateMousePosition(Zk.format(this._mapOption.controls.locationBar.template,{lng:e[0].toFixed(6),lat:e[1].toFixed(6),crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(this._view.getZoom())}))}t.dragging||this.displayFeatureInfo(t)})),this._map.on("moveend",(t=>{if(t.frameState){const e=t.frameState.viewState;let r=dr(e.center,"EPSG:3857","EPSG:4326"),n=this.Proj.LnglatToCGCS2000(r[0],r[1],3);this.trigger(Ry.onMapMove,{lng:r[0],lat:r[1],crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(e.zoom)})}})),this._map.on("click",(t=>{var e;let r=null==(e=this._map)?void 0:e.getEventCoordinate(t.originalEvent);if(r){let e=dr(r,"EPSG:3857","EPSG:4326"),n=this.Proj.LnglatToCGCS2000(e[0],e[1],3);this.trigger(Ry.onClick,{clientX:t.originalEvent.clientX,clientY:t.originalEvent.clientY,lng:e[0],lat:e[1],crsx:n[0].toFixed(2),crsy:n[1].toFixed(2),level:Math.round(this._view.getZoom())})}})),this._map.on("singleclick",(t=>{var e;const r=null==(e=this._map)?void 0:e.forEachFeatureAtPixel(t.pixel,(function(t,e){return{feature:t,layer:e}}));if(r&&r.feature&&r.layer){let t=this.getUserLayer(r.layer.get("layerid"));"PbfLayer"==t.layertype?t.trigger(Ny.onClick,r.feature.getProperties()):t.trigger(Ny.onClick,r.feature),t.trigger("onClickTolayer",r.feature)}})),this.GraphicLayer=new bO("MyGraphicLayer"),this.MeasureLayer=new ZU(this._map),this.addLayer(this.GraphicLayer),this.initContextmenu(),this._on(this.EventType.XMapEventType.onMapContextmenu,(t=>{0===this.option.contextmenu.length?this.contextmenu.extend(this.contextmenu.getDefaultItems()):this.contextmenu.extend(this.option.contextmenu)})),this._on(this.EventType.featureType.onFeatureContextmenu,(t=>{this._layerArray.forEach((e=>{"MyGraphicLayer"===e.layerid&&e.trigger(this.EventType.featureType.onFeatureContextmenu,t)}))}))}openSplitInteraction(t){this.splitInteraction||(this.splitInteraction=new Sut({sources:t.getSource()}),this._map.addInteraction(this.splitInteraction)),this.splitInteraction.setActive(!0)}closeSplitInteraction(){this.splitInteraction.setActive(!1)}showGridkInfo(){const t=256,e=document.createElement("canvas");e.width=t,e.height=t;const r=e.getContext("2d");r.strokeStyle="rgba(0, 0, 0, 1)",r.textAlign="center",r.font="20px sans-serif";const n=new op({source:new IO({loader:function(e,n,i){const o=128;r.clearRect(0,0,t,t),r.fillStyle="rgba(255, 0, 0, 0.0)",r.fillRect(0,0,t,t),r.fillStyle="rgba(255, 0, 255, 1)",r.fillText(`z: ${e}`,o,98),r.fillText(`x: ${n}`,o,o),r.fillText(`y: ${i}`,o,158),r.strokeRect(0,0,t,t);const s=r.getImageData(0,0,t,t).data;return new Uint8Array(s.buffer)},transition:0})});this._map.addLayer(n)}showGrid(t){const e=t.size,r=document.createElement("canvas");r.width=e,r.height=e;const n=r.getContext("2d");n.lineWidth=5,n.textAlign="center",n.font="20px sans-serif";const i=new op({source:new IO({loader:function(r,i,o){const s=e/10;for(let t=1;t<10;t++)n.strokeStyle=5===t?"rgba(255,20,147, 0.5)":"rgba(211,211,211, 0.5)",n.beginPath(),n.lineWidth=1,n.moveTo(0,s*t),n.lineTo(e,s*t),n.stroke();for(let t=1;t<10;t++)n.strokeStyle=5===t?"rgba(255,20,147, 0.5)":"rgba(211,211,211, 0.5)",n.beginPath(),n.moveTo(s*t,0),n.lineTo(s*t,e),n.closePath(),n.stroke();n.lineWidth=3,n.strokeStyle=t.lineColor,n.strokeRect(0,0,e,e);const a=n.getImageData(0,0,e,e).data;return new Uint8Array(a.buffer)},transition:0})});this._map.addLayer(i)}showOverView(t,e="天地图卫星"){var r;let n;this._mapOption.basemaps.forEach((t=>{t.name===e&&t.layers&&(n=new pQ("OverviewLayer",t).layer)})),this.overviewMapControl=new El({className:"ol-overviewmap ol-custom-overviewmap",layers:[n],collapsed:!0,collapsible:!1,target:t}),null==(r=this._map)||r.addControl(this.overviewMapControl)}bindmenu(){}bindContextmenu(t){t&&(this.option.contextmenu=t)}appendContextmenu(t){t.forEach((t=>{this.contextmenu.push(t)}))}scaleControl(t){let e;return"scaleline"===t?(e=new Ll({units:"metric"}),e):(e=new Ll({units:"metric",bar:!0,steps:2,text:!0,minWidth:140}),e)}setZoomControlVisible(t=!0){if(t){let t=new gl;this._map.addControl(t)}else this._map.getControls().forEach((t=>{t instanceof gl&&this._map.removeControl(t)}))}setBaseLayerVisible(t=!0){this.getUserLayer("baselayer").layer.setVisible(t),this._map.updateSize()}updateSize(){this._map.updateSize()}setBaseLayer(t,e){if(this._map){this._mapOption.basemap=t;let r=this._map.getLayers(),n=this.getBaseLayer(t);n.layer.set("layerid","baselayer"),r.forEach(((t,e)=>{"baselayer"===t.get("layerid")&&(r.remove(t),r.insertAt(0,n.layer))})),e&&n.addFilter(e),this._map.updateSize(),this.controls.baseLayerSwitch.changeBaseLayer(t),this.trigger(Ry.onChangeBaseLayer,{baseLayerName:t})}}getMap(){return this._map}getLayers(){return this._layerArray}getLayer(t){if(this._map){let e;return this._map.getLayers().forEach((r=>{r.get("layerid")!==t||(e=r)})),e}}getBasemaps(){return this._mapOption.basemaps}getUserLayer(t){let e;if(this._map)return e=this._layerArray.find((e=>e.layerid===t)),e}getTileLayer(){let t=[];if(this._map)return this._layerArray.forEach((e=>{"tilelayer"===e.layerclass&&t.push(e)})),t}getBaseLayer(t){let e;return e=this._layerArray.find((function(e,r,n){return e.option.name===t})),e.layerid="baselayer",e.layer.set("layerid","baselayer"),e}addLayer(t){t.appendTo(this._map),this._layerArray.push(t)}removeLayer(t){this._layerArray.forEach(((e,r)=>{var n;if(e.layerid===t){switch(e.layertype){case"EchartLayer":e.layer.remove();break;case"DivLayer":e.trigger(Ry.onRemoveLayer,{layerid:t});break;case"MapVLayer":e.layer.removeLayer();break;default:e.trigger(Ry.onRemoveLayer,{layerid:t}),null==(n=this._map)||n.removeLayer(e.layer)}delete this._layerArray[r]}}))}setCenterBy4326(t,e,r=!1){this._view.setCenter(dr(t,"EPSG:4326","EPSG:3857")),e&&this._view.setZoom(e),r&&this.showflashPoint(dr(t,"EPSG:4326","EPSG:3857"))}setCenter(t,e,r=zy.EPSG3857,n=!1){let i;i=r===zy.EPSG4326?this.Proj.ConvertCoordinatesTo3857(r,t):r===zy.EPSG3857?t:this.Proj.ConvertCoordinatesTo3857(r,t),this._view.setCenter(i),e&&this._view.setZoom(e),n&&this.showflashPoint(i)}getView(){return{center:dr(this._view.getCenter(),"EPSG:3857","EPSG:4326"),level:Math.round(this._view.getZoom())}}getExtent(){return this._view.calculateExtent()}showflashPoint(t){var e;let r=document.createElement("div");r.id="dot",r.style.width="16px",r.style.height="16px",r.style.background="red",r.style.borderRadius="25px",r.style.display="block";let n=new xl({element:r,positioning:"center-center"});n.setPosition(t),n.setPositioning("center-center");let i=0;null==(e=this._map)||e.addOverlay(n);let o=setInterval((()=>{var t;i++,r.style.background=i%2==0?"yellow":"red",i>9&&(clearInterval(o),null==(t=this._map)||t.removeOverlay(n))}),300)}lookToAnimate(t,e=700,r=1){this._view.animate({zoom:this._view.getZoom()+r,duration:e,center:t})}flyToLnglat(t){let e={location:[0,0],firstzoom:this._view.getZoom()-1,tozoom:this._view.getZoom(),duration1:500,duration2:500,duration3:500,callback:null};e=eO.merge(e,t,!0),e.location=dr(t.location,"EPSG:4326","EPSG:3857"),this.flyTo(e)}flyTo(t){(t.location instanceof Mr||t.location instanceof Z)&&(t.location=gO.getCenter(t.location));let e={location:[0,0],firstzoom:this._view.getZoom()-1,tozoom:this._view.getZoom(),duration1:500,duration2:500,duration3:500,callback:null};e=eO.merge(e,t,!0),this._view.animate({zoom:e.firstzoom,duration:e.duration1},{center:e.location,duration:e.duration2},{zoom:e.tozoom,duration:e.duration3},(function(t){t&&e.callback&&e.callback()}))}fit(t,e){this._view.fit(t,e)}displayFeatureInfo(t){var e,r;const n=null==(e=this._map)?void 0:e.forEachFeatureAtPixel(t.pixel,(function(t,e){return{feature:t,layer:e}}),{hitTolerance:5});try{if(n){if("PbfLayer"==(null==(r=n.layer.getProperties())?void 0:r.layertype)){let t=this.getUserLayer(n.layer.get("layerid"));n.feature&&t.trigger("onLayerMove",n.feature)}}else this.getLayers().forEach((t=>{t.trigger("onLayerOut","")}))}catch{}}exportMapSelector(t=".ol-layer canvas, canvas.ol-layer,#huitutext1",e,r){try{const r=this._map.getSize();Rq(document.querySelector(t),{useCORS:!0,scale:window.devicePixelRatio<3?window.devicePixelRatio:2,allowTaint:!0,width:r[0],height:r[1]}).then((t=>{e?e(t):t.toBlob((function(t){Hq.saveAs(t,"map.png")}))}))}catch(XX){r(XX)}}exportMap(t,e){this._map.once("rendercomplete",(()=>{const t=document.createElement("canvas"),e=this._map.getSize();t.width=e[0],t.height=e[1];const r=t.getContext("2d");Array.prototype.forEach.call(this._map.getViewport().querySelectorAll(".ol-layer canvas, canvas.ol-layer,ol-scale-line ol-unselectable,.huitudiv"),(function(t){if(t.width>0){const e=t.parentNode.style.opacity||t.style.opacity;let n;r.globalAlpha=""===e?1:Number(e);const i=t.style.transform;n=i?i.match(/^matrix\(([^\(]*)\)$/)[1].split(",").map(Number):[parseFloat(t.style.width)/t.width,0,0,parseFloat(t.style.height)/t.height,0,0],CanvasRenderingContext2D.prototype.setTransform.apply(r,n);const o=t.parentNode.style.backgroundColor;o&&(r.fillStyle=o,r.fillRect(0,0,t.width,t.height)),r.drawImage(t,0,0)}})),r.globalAlpha=1,r.setTransform(1,0,0,1,0,0);const n=document.createElement("a");n.href=t.toDataURL(),n.download="map.png",n.click()})),this._map.renderSync()}exportMapPdf(){document.body.style.cursor="progress";const t=[297,210],e=Math.round(300*t[0]/25.4),r=Math.round(300*t[1]/25.4),n=this._map.getSize(),i=this._map.getView().getResolution();this._map.once("rendercomplete",(()=>{const o=document.createElement("canvas");o.width=e,o.height=r;const s=o.getContext("2d");Array.prototype.forEach.call(document.querySelectorAll(".ol-layer canvas"),(function(t){if(t.width>0){const e=t.parentNode.style.opacity;s.globalAlpha=""===e?1:Number(e);const r=t.style.transform.match(/^matrix\(([^\(]*)\)$/)[1].split(",").map(Number);CanvasRenderingContext2D.prototype.setTransform.apply(s,r),s.drawImage(t,0,0)}})),s.globalAlpha=1,s.setTransform(1,0,0,1,0,0);const a=new lX("landscape",void 0,"a4");a.addImage(o.toDataURL("image/jpeg"),"JPEG",0,0,t[0],t[1]),a.save("map.pdf"),this._map.setSize(n),this._map.getView().setResolution(i),document.body.style.cursor="auto"}));const o=[e,r];this._map.setSize(o);const s=Math.min(e/n[0],r/n[1]);this._map.getView().setResolution(i/s)}setSelectState(t){this._select.setActive(t),this._select2.setActive(t)}setMapCursor(t){this._map.getTargetElement().style.cursor=t}setRotation(t){this._view.setRotation(t*Math.PI/180)}showBaseMap(t){t?this.getLayer("baselayer").setVisible(!0):this.getLayer("baselayer").setVisible(!1),this._map.updateSize()}showMultiWindow(t){this.hideMultiWindow(),t.length>=1&&t.forEach((t=>{let e,r,n=[];switch(r=t.baselayer?this._mapOption.basemaps.find((e=>e.name===t.baselayer)):this._mapOption.basemaps.find((t=>t.name===this._mapOption.basemap)),r.id||(r.id=Zk.uuid15()),r.type){case Hy.TileGroupLayer:r.layers&&(e=new pQ(r.id,r));break;case Hy.arcgisMapServer:e=new aD(r.id,r);break;case Hy.arcgisMapTile:e=new sD(r.id,r);break;case Hy.imageLayer:e=new dQ(r.id,r);break;case Hy.tencent:e=new OD(r.id,r);break;case Hy.baidu:e=new fQ(r.id,r);break;case Hy.WmsLayer:e=new Eut(r.id,r);break;case Hy.WmsTileLayer:e=new Put(r.id,r);break;case Hy.WmtsLayer:e=new Fut(r.id,r);break;case Hy.TMSLayer:e=new Tut(r.id,r);break;default:e=new kD(r.id,r)}n.push(e.layer),t.overLayer&&n.push(t.overLayer),t.syncGraphicLayer&&n.push(this.GraphicLayer.layer),this._multiWindow.push(new hh({target:t.target,layers:n,view:this._view}))}))}hideMultiWindow(){this._multiWindow.length>0&&(this._multiWindow.forEach((t=>{t.dispose()})),this._multiWindow=[])}setOptions(t,e){switch(t.toLowerCase()){case"zoom":this._map.getView().setZoom(parseInt(e));break;case"backgroundColor":break;case"defaultContextMenu":e&&this.bindContextmenu()}}destroy(){this._map.dispose(),this._popupDiv.parentNode.removeChild(this._popupDiv)}},exports.Query=mft,exports.Resource=gft,exports.SpatialAnalysis=gO,exports.Style=Is,exports.Toolbox=Zk,exports.Util=sO,exports.defaultStyle=_O,exports.eventTarget=Aut,exports.proj=lO,exports.tykg=class extends my{constructor(){super(),e(this,"Option"),this.Option={startPoint:[510367.2358,2895576.008],startNumberX:1,startNumberY:1,maxWidth:100,maxHeight:100,onlyWidth:5,onlyHeight:5,quadrant:1,fqChar:"",firstChar:"T",xChar:"",yChar:"",xReverseOrder:!1,yReverseOrder:!1,wkid:"",digit:100,north:!0,createExtent:[],excludeExtent:[],step:1}}createTF(t){Object.assign(this.Option,t);let e=this.Option.maxWidth/this.Option.onlyWidth,r=this.Option.maxHeight/this.Option.onlyHeight,n=[];for(let i=0;i<e;i++)for(let t=0;t<r;t++){let o="",s="";this.Option.yReverseOrder?e-i+this.Option.startNumberY-1<this.Option.digit?(s=(this.Option.digit+(e-i+this.Option.startNumberY-1)*this.Option.step).toString(),s=s.substring(1,s.length)):s=((e-i+this.Option.startNumberY-1)*this.Option.step).toString():i+this.Option.startNumberY<this.Option.digit?(s=(this.Option.digit+(i+this.Option.startNumberY)*this.Option.step).toString(),s=s.substring(1,s.length)):s=((i+this.Option.startNumberY)*this.Option.step).toString(),this.Option.xReverseOrder?r-t+this.Option.startNumberX-1<this.Option.digit?(o=(this.Option.digit+(r-t+this.Option.startNumberX-1)*this.Option.step).toString(),o=o.substring(1,o.length)):o=((r-t+this.Option.startNumberX-1)*this.Option.step).toString():t+this.Option.startNumberX<this.Option.digit?(o=(this.Option.digit+(t+this.Option.startNumberX)*this.Option.step).toString(),o=o.substring(1,o.length)):o=((t+this.Option.startNumberX)*this.Option.step).toString();let a=this.Option.fqChar+this.Option.firstChar+this.Option.xChar+o+this.Option.yChar+s;this.Option.north||(a=this.Option.fqChar+this.Option.firstChar+this.Option.xChar+s+this.Option.yChar+o);let l=0,u=0,h=0,c=0;switch(this.Option.quadrant){case 1:l=this.Option.startPoint[0]+i*this.Option.onlyWidth,u=this.Option.startPoint[1]+t*this.Option.onlyHeight,h=this.Option.startPoint[0]+(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]+(t+1)*this.Option.onlyHeight;break;case 2:l=this.Option.startPoint[0]-i*this.Option.onlyWidth,u=this.Option.startPoint[1]+t*this.Option.onlyHeight,h=this.Option.startPoint[0]-(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]+(t+1)*this.Option.onlyHeight;break;case 3:l=this.Option.startPoint[0]-i*this.Option.onlyWidth,u=this.Option.startPoint[1]-t*this.Option.onlyHeight,h=this.Option.startPoint[0]-(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]-(t+1)*this.Option.onlyHeight;break;case 4:l=this.Option.startPoint[0]+i*this.Option.onlyWidth,u=this.Option.startPoint[1]-t*this.Option.onlyHeight,h=this.Option.startPoint[0]+(i+1)*this.Option.onlyWidth,c=this.Option.startPoint[1]-(t+1)*this.Option.onlyHeight}let A=[],f=[];f.push([l,c]),f.push([h,c]),f.push([h,u]),f.push([l,u]),f.push([l,c]),A.push(f);let p=[],d=[];"3857"!==this.Option.wkid?(d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[l,c])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[h,c])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[h,u])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[l,u])),d.push(this.ConvertCoordinatesTo3857(this.Option.wkid,[l,c])),p.push(d)):(d=f,p=A);let g=[],y=[];"4326"!==this.Option.wkid?(y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[l,c])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[h,c])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[h,u])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[l,u])),y.push(this.ConvertCoordinatesTo4326(this.Option.wkid,[l,c])),g.push(y)):(y=f,g=A);let m=!1;this.Option.createExtent.length>0?this.Option.createExtent.forEach((t=>{const e=new HA;let r=fm(p,{name:"poly2"});const n=e.writeFeatureObject(t);(OS(n,r)||WS(n,r))&&(m=!0)})):m=!0;let v=!1;this.Option.excludeExtent.length>0&&this.Option.excludeExtent.forEach((t=>{const e=new HA;let r=fm(p,{name:"poly2"});const n=e.writeFeatureObject(t);v=!(!OS(n,r)&&!WS(n,r))})),m&&!v&&n.push({type:"Feature",geometry:{type:"Polygon",coordinates:p},properties:{name:a,dataType:"新增探方","网格编号":a,"原始坐标":f,"负责人":"","分区号":this.Option.fqChar,"坐标3857":d,"坐标4326":y,"长度":this.Option.onlyWidth,"宽度":this.Option.onlyHeight,"探方规格":this.Option.onlyWidth+"*"+this.Option.onlyHeight,style:{GraphicType:"Polygon",fillcolor:"rgba(255,0,0,0)",strokecolor:"rgba(255,255,0,1)",strokewidth:"1",GraphicOutlineStyle:"STYLE_SOLID"}}})}return{type:"FeatureCollection",crs:{type:"name",properties:{name:"EPSG:3857"}},features:n}}createGrid(){}};
|