UNPKG

ed-frame-vue

Version:

easydata 基础组件

1 lines 146 kB
(("undefined"!==typeof self?self:this)["webpackJsonped_frame_vue"]=("undefined"!==typeof self?self:this)["webpackJsonped_frame_vue"]||[]).push([[1],{"01b4":function(t,e){var r=function(){this.head=null,this.tail=null};r.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t){var e=this.head=t.next;return null===e&&(this.tail=null),t.item}}},t.exports=r},"0366":function(t,e,r){var i=r("4625"),n=r("59ed"),a=r("40d5"),s=i(i.bind);t.exports=function(t,e){return n(t),void 0===e?t:a?s(t,e):function(){return t.apply(e,arguments)}}},"0cb2":function(t,e,r){var i=r("e330"),n=r("7b0b"),a=Math.floor,s=i("".charAt),o=i("".replace),u=i("".slice),h=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,c=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,r,i,l,f){var d=r+t.length,g=i.length,p=c;return void 0!==l&&(l=n(l),p=h),o(f,p,(function(n,o){var h;switch(s(o,0)){case"$":return"$";case"&":return t;case"`":return u(e,0,r);case"'":return u(e,d);case"<":h=l[u(o,1,-1)];break;default:var c=+o;if(0===c)return n;if(c>g){var f=a(c/10);return 0===f?n:f<=g?void 0===i[f-1]?s(o,1):i[f-1]+s(o,1):n}h=i[c-1]}return void 0===h?"":h}))}},"0d73":function(t,e,r){"use strict";r.r(e),function(t){r.d(e,"AElement",(function(){return Wt})),r.d(e,"AnimateColorElement",(function(){return zt})),r.d(e,"AnimateElement",(function(){return Ft})),r.d(e,"AnimateTransformElement",(function(){return Ht})),r.d(e,"BoundingBox",(function(){return yt})),r.d(e,"CB1",(function(){return D})),r.d(e,"CB2",(function(){return B})),r.d(e,"CB3",(function(){return U})),r.d(e,"CB4",(function(){return F})),r.d(e,"Canvg",(function(){return Ee})),r.d(e,"CircleElement",(function(){return Et})),r.d(e,"ClipPathElement",(function(){return ce})),r.d(e,"DefsElement",(function(){return kt})),r.d(e,"DescElement",(function(){return ye})),r.d(e,"Document",(function(){return Ae})),r.d(e,"Element",(function(){return ct})),r.d(e,"EllipseElement",(function(){return Pt})),r.d(e,"FeColorMatrixElement",(function(){return oe})),r.d(e,"FeCompositeElement",(function(){return ge})),r.d(e,"FeDropShadowElement",(function(){return fe})),r.d(e,"FeGaussianBlurElement",(function(){return pe})),r.d(e,"FeMorphologyElement",(function(){return de})),r.d(e,"FilterElement",(function(){return le})),r.d(e,"Font",(function(){return vt})),r.d(e,"FontElement",(function(){return Xt})),r.d(e,"FontFaceElement",(function(){return jt})),r.d(e,"GElement",(function(){return It})),r.d(e,"GlyphElement",(function(){return wt})),r.d(e,"GradientElement",(function(){return Lt})),r.d(e,"ImageElement",(function(){return Kt})),r.d(e,"LineElement",(function(){return Mt})),r.d(e,"LinearGradientElement",(function(){return Dt})),r.d(e,"MarkerElement",(function(){return Vt})),r.d(e,"MaskElement",(function(){return ue})),r.d(e,"Matrix",(function(){return it})),r.d(e,"MissingGlyphElement",(function(){return Yt})),r.d(e,"Mouse",(function(){return W})),r.d(e,"PSEUDO_ZERO",(function(){return V})),r.d(e,"Parser",(function(){return J})),r.d(e,"PathElement",(function(){return bt})),r.d(e,"PathParser",(function(){return mt})),r.d(e,"PatternElement",(function(){return _t})),r.d(e,"Point",(function(){return q})),r.d(e,"PolygonElement",(function(){return Rt})),r.d(e,"PolylineElement",(function(){return Nt})),r.d(e,"Property",(function(){return j})),r.d(e,"QB1",(function(){return z})),r.d(e,"QB2",(function(){return H})),r.d(e,"QB3",(function(){return X})),r.d(e,"RadialGradientElement",(function(){return Bt})),r.d(e,"RectElement",(function(){return Ot})),r.d(e,"RenderedElement",(function(){return xt})),r.d(e,"Rotate",(function(){return et})),r.d(e,"SVGElement",(function(){return Ct})),r.d(e,"SVGFontLoader",(function(){return te})),r.d(e,"Scale",(function(){return rt})),r.d(e,"Screen",(function(){return $})),r.d(e,"Skew",(function(){return nt})),r.d(e,"SkewX",(function(){return at})),r.d(e,"SkewY",(function(){return st})),r.d(e,"StopElement",(function(){return Ut})),r.d(e,"StyleElement",(function(){return ee})),r.d(e,"SymbolElement",(function(){return Jt})),r.d(e,"TRefElement",(function(){return qt})),r.d(e,"TSpanElement",(function(){return Tt})),r.d(e,"TextElement",(function(){return St})),r.d(e,"TextPathElement",(function(){return $t})),r.d(e,"TitleElement",(function(){return ve})),r.d(e,"Transform",(function(){return ht})),r.d(e,"Translate",(function(){return tt})),r.d(e,"UnknownElement",(function(){return lt})),r.d(e,"UseElement",(function(){return re})),r.d(e,"ViewPort",(function(){return Y})),r.d(e,"compressSpaces",(function(){return v})),r.d(e,"default",(function(){return Ee})),r.d(e,"getSelectorSpecificity",(function(){return _})),r.d(e,"normalizeAttributeName",(function(){return w})),r.d(e,"normalizeColor",(function(){return T})),r.d(e,"parseExternalUrl",(function(){return S})),r.d(e,"presets",(function(){return p})),r.d(e,"toNumbers",(function(){return x})),r.d(e,"trimLeft",(function(){return y})),r.d(e,"trimRight",(function(){return m})),r.d(e,"vectorMagnitude",(function(){return k})),r.d(e,"vectorsAngle",(function(){return L})),r.d(e,"vectorsRatio",(function(){return I}));r("e6cf");var i=r("c973"),n=r.n(i),a=(r("466d"),r("5319"),r("2ca0"),r("e260"),r("ddb0"),r("9523")),s=r.n(a),o=(r("13d5"),r("8a79"),r("1276"),r("c449")),u=r.n(o),h=(r("498a"),r("58e1")),c=r.n(h),l=(r("c975"),r("2532"),r("26e9"),r("d01f")),f=(r("25f0"),r("5e9e"));function d(){var{DOMParser:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:t,createCanvas(t,e){return new OffscreenCanvas(t,e)},createImage(t){return n()((function*(){var e=yield fetch(t),r=yield e.blob(),i=yield createImageBitmap(r);return i}))()}};return"undefined"===typeof DOMParser&&"undefined"!==typeof t||Reflect.deleteProperty(e,"DOMParser"),e}function g(t){var{DOMParser:e,canvas:r,fetch:i}=t;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:e,fetch:i,createCanvas:r.createCanvas,createImage:r.loadImage}}var p=Object.freeze({__proto__:null,offscreen:d,node:g});function v(t){return t.replace(/(?!\u3000)\s+/gm," ")}function y(t){return t.replace(/^[\n \t]+/,"")}function m(t){return t.replace(/[\n \t]+$/,"")}function x(t){var e=(t||"").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm)||[];return e.map(parseFloat)}var b=/^[A-Z-]+$/;function w(t){return b.test(t)?t.toLowerCase():t}function S(t){var e=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(t)||[];return e[2]||e[3]||e[4]}function T(t){if(!t.startsWith("rgb"))return t;var e=3,r=t.replace(/\d+(\.\d+)?/g,(t,r)=>e--&&r?String(Math.round(parseFloat(t))):t);return r}var A=/(\[[^\]]+\])/g,C=/(#[^\s+>~.[:]+)/g,O=/(\.[^\s+>~.[:]+)/g,E=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,P=/(:[\w-]+\([^)]*\))/gi,M=/(:[^\s+>~.[:]+)/g,N=/([^\s+>~.[:]+)/g;function R(t,e){var r=e.exec(t);return r?[t.replace(e," "),r.length]:[t,0]}function _(t){var e=[0,0,0],r=t.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),i=0;return[r,i]=R(r,A),e[1]+=i,[r,i]=R(r,C),e[0]+=i,[r,i]=R(r,O),e[1]+=i,[r,i]=R(r,E),e[2]+=i,[r,i]=R(r,P),e[1]+=i,[r,i]=R(r,M),e[1]+=i,r=r.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[r,i]=R(r,N),e[2]+=i,e.join("")}var V=1e-8;function k(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))}function I(t,e){return(t[0]*e[0]+t[1]*e[1])/(k(t)*k(e))}function L(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(I(t,e))}function D(t){return t*t*t}function B(t){return 3*t*t*(1-t)}function U(t){return 3*t*(1-t)*(1-t)}function F(t){return(1-t)*(1-t)*(1-t)}function z(t){return t*t}function H(t){return 2*t*(1-t)}function X(t){return(1-t)*(1-t)}class j{constructor(t,e,r){this.document=t,this.name=e,this.value=r,this.isNormalizedColor=!1}static empty(t){return new j(t,"EMPTY","")}split(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:" ",{document:e,name:r}=this;return v(this.getString()).trim().split(t).map(t=>new j(e,r,t))}hasValue(t){var{value:e}=this;return null!==e&&""!==e&&(t||0!==e)&&"undefined"!==typeof 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"undefined"===typeof t||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return"undefined"===typeof t?0:parseFloat(t);var{value:e}=this,r=parseFloat(e);return this.isString(/%$/)&&(r/=100),r}getString(t){return"undefined"===typeof t||this.hasValue()?"undefined"===typeof this.value?"":String(this.value):String(t)}getColor(t){var e=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,e=T(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,i]="boolean"===typeof t?[void 0,t]:[t],{viewPort:n}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(n.computeSize("x"),n.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(n.computeSize("x"),n.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*n.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*n.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(/%$/)&&i:return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*n.computeSize(r);default:var a=this.getNumber();return e&&a<1?a*n.computeSize(r):a}}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 i=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),i.hasValue()&&r.getAttribute("patternTransform",!0).setValue(i.value)}return r.createPattern(this.document.ctx,t,e)}return null}getTextBaseline(){return this.hasValue()?j.textBaselineMapping[this.getString()]:null}addOpacity(t){for(var e=this.getColor(),r=e.length,i=0,n=0;n<r;n++)if(","===e[n]&&i++,3===i)break;if(t.hasValue()&&this.isString()&&3!==i){var a=new c.a(e);a.ok&&(a.alpha=t.getNumber(),e=a.toRGBA())}return new j(this.document,this.name,e)}}j.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 Y{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 q{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,i=e]=x(t);return new q(r,i)}static parseScale(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,[r=e,i=r]=x(t);return new q(r,i)}static parsePath(t){for(var e=x(t),r=e.length,i=[],n=0;n<r;n+=2)i.push(new q(e[n],e[n+1]));return i}angleTo(t){return Math.atan2(t.y-this.y,t.x-this.x)}applyTransform(t){var{x:e,y:r}=this,i=e*t[0]+r*t[2]+t[4],n=e*t[1]+r*t[3]+t[5];this.x=i,this.y=n}}class W{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,i=t.ctx.canvas;i.onclick=e,i.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:i}=t.ctx.canvas;i&&(i.cursor=""),e.forEach((t,e)=>{var{run:i}=t,n=r[e];while(n)i(n),n=n.parent}),this.events=[],this.eventElements=[]}}checkPath(t,e){if(this.working&&e){var{events:r,eventElements:i}=this;r.forEach((r,n)=>{var{x:a,y:s}=r;!i[n]&&e.isPointInPath&&e.isPointInPath(a,s)&&(i[n]=t)})}}checkBoundingBox(t,e){if(this.working&&e){var{events:r,eventElements:i}=this;r.forEach((r,n)=>{var{x:a,y:s}=r;!i[n]&&e.isPointInBox(a,s)&&(i[n]=t)})}}mapXY(t,e){var{window:r,ctx:i}=this.screen,n=new q(t,e),a=i.canvas;while(a)n.x-=a.offsetLeft,n.y-=a.offsetTop,a=a.offsetParent;return r.scrollX&&(n.x+=r.scrollX),r.scrollY&&(n.y+=r.scrollY),n}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 G="undefined"!==typeof window?window:null,Q="undefined"!==typeof fetch?fetch.bind(void 0):null;class ${constructor(t){var{fetch:e=Q,window:r=G}=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 Y,this.mouse=new W(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:i,width:n,desiredWidth:a,height:s,desiredHeight:o,minX:u=0,minY:h=0,refX:c,refY:l,clip:f=!1,clipX:d=0,clipY:g=0}=t,p=v(i).replace(/^defer\s/,""),[y,m]=p.split(" "),x=y||"xMidYMid",b=m||"meet",w=n/a,S=s/o,T=Math.min(w,S),A=Math.max(w,S),C=a,O=o;"meet"===b&&(C*=T,O*=T),"slice"===b&&(C*=A,O*=A);var E=new j(e,"refX",c),P=new j(e,"refY",l),M=E.hasValue()&&P.hasValue();if(M&&r.translate(-T*E.getPixels("x"),-T*P.getPixels("y")),f){var N=T*d,R=T*g;r.beginPath(),r.moveTo(N,R),r.lineTo(n,R),r.lineTo(n,s),r.lineTo(N,s),r.closePath(),r.clip()}if(!M){var _="meet"===b&&T===S,V="slice"===b&&A===S,k="meet"===b&&T===w,I="slice"===b&&A===w;x.startsWith("xMid")&&(_||V)&&r.translate(n/2-C/2,0),x.endsWith("YMid")&&(k||I)&&r.translate(0,s/2-O/2),x.startsWith("xMax")&&(_||V)&&r.translate(n-C,0),x.endsWith("YMax")&&(k||I)&&r.translate(0,s-O)}switch(!0){case"none"===x:r.scale(w,S);break;case"meet"===b:r.scale(T,T);break;case"slice"===b:r.scale(A,A);break}r.translate(-u,-h)}start(t){var{enableRedraw:e=!1,ignoreMouse:r=!1,ignoreAnimation:i=!1,ignoreDimensions:n=!1,ignoreClear:a=!1,forceRedraw:s,scaleWidth:o,scaleHeight:h,offsetX:c,offsetY:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{FRAMERATE:f,mouse:d}=this,g=1e3/f;if(this.frameDuration=g,this.readyPromise=new Promise(t=>{this.resolveReady=t}),this.isReady()&&this.render(t,n,a,o,h,c,l),e){var p=Date.now(),v=p,y=0,m=()=>{p=Date.now(),y=p-v,y>=g&&(v=p-y%g,this.shouldUpdate(i,s)&&(this.render(t,n,a,o,h,c,l),d.runEvents())),this.intervalId=u()(m)};r||d.start(),this.intervalId=u()(m)}}stop(){this.intervalId&&(u.a.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,e){if(!t){var{frameDuration:r}=this,i=this.animations.reduce((t,e)=>e.update(r)||t,!1);if(i)return!0}return!("function"!==typeof e||!e())||(!(this.isReadyLock||!this.isReady())||!!this.mouse.hasEvents())}render(t,e,r,i,n,a,s){var{CLIENT_WIDTH:o,CLIENT_HEIGHT:u,viewPort:h,ctx:c,isFirstRender:l}=this,f=c.canvas;h.clear(),f.width&&f.height?h.setCurrent(f.width,f.height):h.setCurrent(o,u);var d=t.getStyle("width"),g=t.getStyle("height");!e&&(l||"number"!==typeof i&&"number"!==typeof n)&&(d.hasValue()&&(f.width=d.getPixels("x"),f.style&&(f.style.width="".concat(f.width,"px"))),g.hasValue()&&(f.height=g.getPixels("y"),f.style&&(f.style.height="".concat(f.height,"px"))));var p=f.clientWidth||f.width,v=f.clientHeight||f.height;if(e&&d.hasValue()&&g.hasValue()&&(p=d.getPixels("x"),v=g.getPixels("y")),h.setCurrent(p,v),"number"===typeof a&&t.getAttribute("x",!0).setValue(a),"number"===typeof s&&t.getAttribute("y",!0).setValue(s),"number"===typeof i||"number"===typeof n){var y=x(t.getAttribute("viewBox").getString()),m=0,b=0;if("number"===typeof i){var w=t.getStyle("width");w.hasValue()?m=w.getPixels("x")/i:isNaN(y[2])||(m=y[2]/i)}if("number"===typeof n){var S=t.getStyle("height");S.hasValue()?b=S.getPixels("y")/n:isNaN(y[3])||(b=y[3]/n)}m||(m=b),b||(b=m),t.getAttribute("width",!0).setValue(i),t.getAttribute("height",!0).setValue(n);var T=t.getStyle("transform",!0,!0);T.setValue("".concat(T.getString()," scale(").concat(1/m,", ").concat(1/b,")"))}r||c.clearRect(0,0,p,v),t.render(c),l&&(this.isFirstRender=!1)}}$.defaultWindow=G,$.defaultFetch=Q;var{defaultFetch:Z}=$,K="undefined"!==typeof DOMParser?DOMParser:null;class J{constructor(){var{fetch:t=Z,DOMParser:e=K}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fetch=t,this.DOMParser=e}parse(t){var e=this;return n()((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 n()((function*(){var r=yield e.fetch(t),i=yield r.text();return e.parseFromString(i)}))()}}class tt{constructor(t,e){this.type="translate",this.point=null,this.point=q.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 et{constructor(t,e,r){this.type="rotate",this.angle=null,this.originX=null,this.originY=null,this.cx=0,this.cy=0;var i=x(e);this.angle=new j(t,"angle",i[0]),this.originX=r[0],this.originY=r[1],this.cx=i[1]||0,this.cy=i[2]||0}apply(t){var{cx:e,cy:r,originX:i,originY:n,angle:a}=this,s=e+i.getPixels("x"),o=r+n.getPixels("y");t.translate(s,o),t.rotate(a.getRadians()),t.translate(-s,-o)}unapply(t){var{cx:e,cy:r,originX:i,originY:n,angle:a}=this,s=e+i.getPixels("x"),o=r+n.getPixels("y");t.translate(s,o),t.rotate(-1*a.getRadians()),t.translate(-s,-o)}applyToPoint(t){var{cx:e,cy:r,angle:i}=this,n=i.getRadians();t.applyTransform([1,0,0,1,e||0,r||0]),t.applyTransform([Math.cos(n),Math.sin(n),-Math.sin(n),Math.cos(n),0,0]),t.applyTransform([1,0,0,1,-e||0,-r||0])}}class rt{constructor(t,e,r){this.type="scale",this.scale=null,this.originX=null,this.originY=null;var i=q.parseScale(e);0!==i.x&&0!==i.y||(i.x=V,i.y=V),this.scale=i,this.originX=r[0],this.originY=r[1]}apply(t){var{scale:{x:e,y:r},originX:i,originY:n}=this,a=i.getPixels("x"),s=n.getPixels("y");t.translate(a,s),t.scale(e,r||e),t.translate(-a,-s)}unapply(t){var{scale:{x:e,y:r},originX:i,originY:n}=this,a=i.getPixels("x"),s=n.getPixels("y");t.translate(a,s),t.scale(1/e,1/r||e),t.translate(-a,-s)}applyToPoint(t){var{x:e,y:r}=this.scale;t.applyTransform([e||0,0,0,r||0,0,0])}}class it{constructor(t,e,r){this.type="matrix",this.matrix=[],this.originX=null,this.originY=null,this.matrix=x(e),this.originX=r[0],this.originY=r[1]}apply(t){var{originX:e,originY:r,matrix:i}=this,n=e.getPixels("x"),a=r.getPixels("y");t.translate(n,a),t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),t.translate(-n,-a)}unapply(t){var{originX:e,originY:r,matrix:i}=this,n=i[0],a=i[2],s=i[4],o=i[1],u=i[3],h=i[5],c=0,l=0,f=1,d=1/(n*(u*f-h*l)-a*(o*f-h*c)+s*(o*l-u*c)),g=e.getPixels("x"),p=r.getPixels("y");t.translate(g,p),t.transform(d*(u*f-h*l),d*(h*c-o*f),d*(s*l-a*f),d*(n*f-s*c),d*(a*h-s*u),d*(s*o-n*h)),t.translate(-g,-p)}applyToPoint(t){t.applyTransform(this.matrix)}}class nt extends it{constructor(t,e,r){super(t,e,r),this.type="skew",this.angle=null,this.angle=new j(t,"angle",e)}}class at extends nt{constructor(t,e,r){super(t,e,r),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class st extends nt{constructor(t,e,r){super(t,e,r),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}function ot(t){return v(t).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function ut(t){var[e,r]=t.split("(");return[e.trim(),r.trim().replace(")","")]}class ht{constructor(t,e,r){this.document=t,this.transforms=[];var i=ot(e);i.forEach(t=>{if("none"!==t){var[e,i]=ut(t),n=ht.transformTypes[e];"undefined"!==typeof n&&this.transforms.push(new n(this.document,i,r))}})}static fromElement(t,e){var r=e.getStyle("transform",!1,!0),[i,n=i]=e.getStyle("transform-origin",!1,!0).split(),a=[i,n];return r.hasValue()?new ht(t,r.getString(),a):null}apply(t){for(var{transforms:e}=this,r=e.length,i=0;i<r;i++)e[i].apply(t)}unapply(t){for(var{transforms:e}=this,r=e.length,i=r-1;i>=0;i--)e[i].unapply(t)}applyToPoint(t){for(var{transforms:e}=this,r=e.length,i=0;i<r;i++)e[i].applyToPoint(t)}}ht.transformTypes={translate:tt,rotate:et,scale:rt,matrix:it,skewX:at,skewY:st};class ct{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){if(Array.from(e.attributes).forEach(e=>{var r=w(e.nodeName);this.attributes[r]=new j(t,r,e.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()){var i=this.getAttribute("style").getString().split(";").map(t=>t.trim());i.forEach(e=>{if(e){var[r,i]=e.split(":").map(t=>t.trim());this.styles[r]=new j(t,r,i)}})}var{definitions:n}=t,a=this.getAttribute("id");a.hasValue()&&(n[a.getString()]||(n[a.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 i=t.createTextNode(e);i.getText().length>0&&this.addChild(i)}})}}getAttribute(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.attributes[t];if(!r&&e){var i=new j(this.document,t,"");return this.attributes[t]=i,i}return r||j.empty(this.document)}getHrefAttribute(){for(var t in this.attributes)if("href"===t||t.endsWith(":href"))return this.attributes[t];return j.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],i=this.styles[t];if(i)return i;var n=this.getAttribute(t);if(null!==n&&void 0!==n&&n.hasValue())return this.styles[t]=n,n;if(!r){var{parent:a}=this;if(a){var s=a.getStyle(t);if(null!==s&&void 0!==s&&s.hasValue())return s}}if(e){var o=new j(this.document,t,"");return this.styles[t]=o,o}return i||j.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=ht.fromElement(this.document,this);e&&e.apply(t);var r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){var i=r.getDefinition();i&&i.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach(e=>{e.render(t)})}addChild(t){var e=t instanceof ct?t:this.document.createElement(t);e.parent=this,ct.ignoreChildTypes.includes(e.type)||this.children.push(e)}matchesSelector(t){var e,{node:r}=this;if("function"===typeof r.matches)return r.matches(t);var i=null===(e=r.getAttribute)||void 0===e?void 0:e.call(r,"class");return!(!i||""===i)&&i.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 i=t[r],n=e[r];if(i)for(var a in i){var s=this.stylesSpecificity[a];"undefined"===typeof s&&(s="000"),n>=s&&(this.styles[a]=i[a],this.stylesSpecificity[a]=n)}}}removeStyles(t,e){var r=e.reduce((e,r)=>{var i=t.getStyle(r);if(!i.hasValue())return e;var n=i.getString();return i.setValue(""),[...e,[r,n]]},[]);return r}restoreStyles(t,e){e.forEach(e=>{var[r,i]=e;t.getStyle(r,!0).setValue(i)})}isFirstChild(){var t;return 0===(null===(t=this.parent)||void 0===t?void 0:t.children.indexOf(this))}}ct.ignoreChildTypes=["title"];class lt extends ct{constructor(t,e,r){super(t,e,r)}}function ft(t){var e=t.trim();return/^('|")/.test(e)?e:'"'.concat(e,'"')}function dt(e){return"undefined"===typeof t?e:e.trim().split(",").map(ft).join(",")}function gt(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 pt(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 vt{constructor(t,e,r,i,n,a){var s=a?"string"===typeof a?vt.parse(a):a:{};this.fontFamily=n||s.fontFamily,this.fontSize=i||s.fontSize,this.fontStyle=t||s.fontStyle,this.fontWeight=r||s.fontWeight,this.fontVariant=e||s.fontVariant}static parse(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0,r="",i="",n="",a="",s="",o=v(t).trim().split(" "),u={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return o.forEach(t=>{switch(!0){case!u.fontStyle&&vt.styles.includes(t):"inherit"!==t&&(r=t),u.fontStyle=!0;break;case!u.fontVariant&&vt.variants.includes(t):"inherit"!==t&&(i=t),u.fontStyle=!0,u.fontVariant=!0;break;case!u.fontWeight&&vt.weights.includes(t):"inherit"!==t&&(n=t),u.fontStyle=!0,u.fontVariant=!0,u.fontWeight=!0;break;case!u.fontSize:"inherit"!==t&&([a]=t.split("/")),u.fontStyle=!0,u.fontVariant=!0,u.fontWeight=!0,u.fontSize=!0;break;default:"inherit"!==t&&(s+=t)}}),new vt(r,i,n,a,s,e)}toString(){return[gt(this.fontStyle),this.fontVariant,pt(this.fontWeight),this.fontSize,dt(this.fontFamily)].join(" ").trim()}}vt.styles="normal|italic|oblique|inherit",vt.variants="normal|small-caps|inherit",vt.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class yt{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,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Number.NaN;this.x1=t,this.y1=e,this.x2=r,this.y2=i,this.addPoint(t,e),this.addPoint(r,i)}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){"undefined"!==typeof 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)),"undefined"!==typeof 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:i,y2:n}=t;this.addPoint(e,r),this.addPoint(i,n)}}sumCubic(t,e,r,i,n){return Math.pow(1-t,3)*e+3*Math.pow(1-t,2)*t*r+3*(1-t)*Math.pow(t,2)*i+Math.pow(t,3)*n}bezierCurveAdd(t,e,r,i,n){var a=6*e-12*r+6*i,s=-3*e+9*r-9*i+3*n,o=3*r-3*e;if(0!==s){var u=Math.pow(a,2)-4*o*s;if(!(u<0)){var h=(-a+Math.sqrt(u))/(2*s);0<h&&h<1&&(t?this.addX(this.sumCubic(h,e,r,i,n)):this.addY(this.sumCubic(h,e,r,i,n)));var c=(-a-Math.sqrt(u))/(2*s);0<c&&c<1&&(t?this.addX(this.sumCubic(c,e,r,i,n)):this.addY(this.sumCubic(c,e,r,i,n)))}}else{if(0===a)return;var l=-o/a;0<l&&l<1&&(t?this.addX(this.sumCubic(l,e,r,i,n)):this.addY(this.sumCubic(l,e,r,i,n)))}}addBezierCurve(t,e,r,i,n,a,s,o){this.addPoint(t,e),this.addPoint(s,o),this.bezierCurveAdd(!0,t,r,n,s),this.bezierCurveAdd(!1,e,i,a,o)}addQuadraticCurve(t,e,r,i,n,a){var s=t+2/3*(r-t),o=e+2/3*(i-e),u=s+1/3*(n-t),h=o+1/3*(a-e);this.addBezierCurve(t,e,s,u,o,h,n,a)}isPointInBox(t,e){var{x1:r,y1:i,x2:n,y2:a}=this;return r<=t&&t<=n&&i<=e&&e<=a}}class mt extends l["a"]{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 q(0,0),this.control=new q(0,0),this.current=new q(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 q(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!==l["a"].CURVE_TO&&t!==l["a"].SMOOTH_CURVE_TO&&t!==l["a"].QUAD_TO&&t!==l["a"].SMOOTH_QUAD_TO)return this.current;var{current:{x:e,y:r},control:{x:i,y:n}}=this,a=new q(2*e-i,2*r-n);return a}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:i,angles:n}=this;r&&n.length>0&&!n[n.length-1]&&(n[n.length-1]=i[i.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 i=r+1;i<e;i++)if(t[i]){t[r]=t[i];break}return t}}class xt extends ct{constructor(){super(...arguments),this.modifiedEmSizeStack=!1}calculateOpacity(){var t=1,e=this;while(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"),i=this.getStyle("fill-opacity"),n=this.getStyle("stroke"),a=this.getStyle("stroke-opacity");if(r.isUrlDefinition()){var s=r.getFillStyleDefinition(this,i);s&&(t.fillStyle=s)}else if(r.hasValue()){"currentColor"===r.getString()&&r.setValue(this.getStyle("color").getColor());var o=r.getColor();"inherit"!==o&&(t.fillStyle="none"===o?"rgba(0,0,0,0)":o)}if(i.hasValue()){var u=new j(this.document,"fill",t.fillStyle).addOpacity(i).getColor();t.fillStyle=u}if(n.isUrlDefinition()){var h=n.getFillStyleDefinition(this,a);h&&(t.strokeStyle=h)}else if(n.hasValue()){"currentColor"===n.getString()&&n.setValue(this.getStyle("color").getColor());var c=n.getString();"inherit"!==c&&(t.strokeStyle="none"===c?"rgba(0,0,0,0)":c)}if(a.hasValue()){var l=new j(this.document,"stroke",t.strokeStyle).addOpacity(a).getString();t.strokeStyle=l}var f=this.getStyle("stroke-width");if(f.hasValue()){var d=f.getPixels();t.lineWidth=d||V}var g=this.getStyle("stroke-linecap"),p=this.getStyle("stroke-linejoin"),v=this.getStyle("stroke-miterlimit"),y=this.getStyle("stroke-dasharray"),m=this.getStyle("stroke-dashoffset");if(g.hasValue()&&(t.lineCap=g.getString()),p.hasValue()&&(t.lineJoin=p.getString()),v.hasValue()&&(t.miterLimit=v.getNumber()),y.hasValue()&&"none"!==y.getString()){var b=x(y.getString());"undefined"!==typeof t.setLineDash?t.setLineDash(b):"undefined"!==typeof t.webkitLineDash?t.webkitLineDash=b:"undefined"===typeof t.mozDash||1===b.length&&0===b[0]||(t.mozDash=b);var w=m.getPixels();"undefined"!==typeof t.lineDashOffset?t.lineDashOffset=w:"undefined"!==typeof t.webkitLineDashOffset?t.webkitLineDashOffset=w:"undefined"!==typeof t.mozDashOffset&&(t.mozDashOffset=w)}}if(this.modifiedEmSizeStack=!1,"undefined"!==typeof t.font){var S=this.getStyle("font"),T=this.getStyle("font-style"),A=this.getStyle("font-variant"),C=this.getStyle("font-weight"),O=this.getStyle("font-size"),E=this.getStyle("font-family"),P=new vt(T.getString(),A.getString(),C.getString(),O.hasValue()?"".concat(O.getPixels(!0),"px"):"",E.getString(),vt.parse(S.getString(),t.font));T.setValue(P.fontStyle),A.setValue(P.fontVariant),C.setValue(P.fontWeight),O.setValue(P.fontSize),E.setValue(P.fontFamily),t.font=P.toString(),O.isPixels()&&(this.document.emSize=O.getPixels(),this.modifiedEmSizeStack=!0)}e||(this.applyEffects(t),t.globalAlpha=this.calculateOpacity())}clearContext(t){super.clearContext(t),this.modifiedEmSizeStack&&this.document.popEmSize()}}class bt extends xt{constructor(t,e,r){super(t,e,r),this.type="path",this.pathParser=null,this.pathParser=new mt(this.getAttribute("d").getString())}path(t){var{pathParser:e}=this,r=new yt;e.reset(),t&&t.beginPath();while(!e.isEnd())switch(e.next().type){case mt.MOVE_TO:this.pathM(t,r);break;case mt.LINE_TO:this.pathL(t,r);break;case mt.HORIZ_LINE_TO:this.pathH(t,r);break;case mt.VERT_LINE_TO:this.pathV(t,r);break;case mt.CURVE_TO:this.pathC(t,r);break;case mt.SMOOTH_CURVE_TO:this.pathS(t,r);break;case mt.QUAD_TO:this.pathQ(t,r);break;case mt.SMOOTH_QUAD_TO:this.pathT(t,r);break;case mt.ARC:this.pathA(t,r);break;case mt.CLOSE_PATH:this.pathZ(t,r);break}return r}getBoundingBox(t){return this.path()}getMarkers(){var{pathParser:t}=this,e=t.getMarkerPoints(),r=t.getMarkerAngles(),i=e.map((t,e)=>[t,r[e]]);return i}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 i=r.length-1,n=this.getStyle("marker-start"),a=this.getStyle("marker-mid"),s=this.getStyle("marker-end");if(n.isUrlDefinition()){var o=n.getDefinition(),[u,h]=r[0];o.render(t,u,h)}if(a.isUrlDefinition())for(var c=a.getDefinition(),l=1;l<i;l++){var[f,d]=r[l];c.render(t,f,d)}if(s.isUrlDefinition()){var g=s.getDefinition(),[p,v]=r[i];g.render(t,p,v)}}}static pathM(t){var e=t.getAsCurrentPoint();return t.start=t.current,{point:e}}pathM(t,e){var{pathParser:r}=this,{point:i}=bt.pathM(r),{x:n,y:a}=i;r.addMarker(i),e.addPoint(n,a),t&&t.moveTo(n,a)}static pathL(t){var{current:e}=t,r=t.getAsCurrentPoint();return{current:e,point:r}}pathL(t,e){var{pathParser:r}=this,{current:i,point:n}=bt.pathL(r),{x:a,y:s}=n;r.addMarker(n,i),e.addPoint(a,s),t&&t.lineTo(a,s)}static pathH(t){var{current:e,command:r}=t,i=new q((r.relative?e.x:0)+r.x,e.y);return t.current=i,{current:e,point:i}}pathH(t,e){var{pathParser:r}=this,{current:i,point:n}=bt.pathH(r),{x:a,y:s}=n;r.addMarker(n,i),e.addPoint(a,s),t&&t.lineTo(a,s)}static pathV(t){var{current:e,command:r}=t,i=new q(e.x,(r.relative?e.y:0)+r.y);return t.current=i,{current:e,point:i}}pathV(t,e){var{pathParser:r}=this,{current:i,point:n}=bt.pathV(r),{x:a,y:s}=n;r.addMarker(n,i),e.addPoint(a,s),t&&t.lineTo(a,s)}static pathC(t){var{current:e}=t,r=t.getPoint("x1","y1"),i=t.getAsControlPoint("x2","y2"),n=t.getAsCurrentPoint();return{current:e,point:r,controlPoint:i,currentPoint:n}}pathC(t,e){var{pathParser:r}=this,{current:i,point:n,controlPoint:a,currentPoint:s}=bt.pathC(r);r.addMarker(s,a,n),e.addBezierCurve(i.x,i.y,n.x,n.y,a.x,a.y,s.x,s.y),t&&t.bezierCurveTo(n.x,n.y,a.x,a.y,s.x,s.y)}static pathS(t){var{current:e}=t,r=t.getReflectedControlPoint(),i=t.getAsControlPoint("x2","y2"),n=t.getAsCurrentPoint();return{current:e,point:r,controlPoint:i,currentPoint:n}}pathS(t,e){var{pathParser:r}=this,{current:i,point:n,controlPoint:a,currentPoint:s}=bt.pathS(r);r.addMarker(s,a,n),e.addBezierCurve(i.x,i.y,n.x,n.y,a.x,a.y,s.x,s.y),t&&t.bezierCurveTo(n.x,n.y,a.x,a.y,s.x,s.y)}static pathQ(t){var{current:e}=t,r=t.getAsControlPoint("x1","y1"),i=t.getAsCurrentPoint();return{current:e,controlPoint:r,currentPoint:i}}pathQ(t,e){var{pathParser:r}=this,{current:i,controlPoint:n,currentPoint:a}=bt.pathQ(r);r.addMarker(a,n,n),e.addQuadraticCurve(i.x,i.y,n.x,n.y,a.x,a.y),t&&t.quadraticCurveTo(n.x,n.y,a.x,a.y)}static pathT(t){var{current:e}=t,r=t.getReflectedControlPoint();t.control=r;var i=t.getAsCurrentPoint();return{current:e,controlPoint:r,currentPoint:i}}pathT(t,e){var{pathParser:r}=this,{current:i,controlPoint:n,currentPoint:a}=bt.pathT(r);r.addMarker(a,n,n),e.addQuadraticCurve(i.x,i.y,n.x,n.y,a.x,a.y),t&&t.quadraticCurveTo(n.x,n.y,a.x,a.y)}static pathA(t){var{current:e,command:r}=t,{rX:i,rY:n,xRot:a,lArcFlag:s,sweepFlag:o}=r,u=a*(Math.PI/180),h=t.getAsCurrentPoint(),c=new q(Math.cos(u)*(e.x-h.x)/2+Math.sin(u)*(e.y-h.y)/2,-Math.sin(u)*(e.x-h.x)/2+Math.cos(u)*(e.y-h.y)/2),l=Math.pow(c.x,2)/Math.pow(i,2)+Math.pow(c.y,2)/Math.pow(n,2);l>1&&(i*=Math.sqrt(l),n*=Math.sqrt(l));var f=(s===o?-1:1)*Math.sqrt((Math.pow(i,2)*Math.pow(n,2)-Math.pow(i,2)*Math.pow(c.y,2)-Math.pow(n,2)*Math.pow(c.x,2))/(Math.pow(i,2)*Math.pow(c.y,2)+Math.pow(n,2)*Math.pow(c.x,2)));isNaN(f)&&(f=0);var d=new q(f*i*c.y/n,f*-n*c.x/i),g=new q((e.x+h.x)/2+Math.cos(u)*d.x-Math.sin(u)*d.y,(e.y+h.y)/2+Math.sin(u)*d.x+Math.cos(u)*d.y),p=L([1,0],[(c.x-d.x)/i,(c.y-d.y)/n]),v=[(c.x-d.x)/i,(c.y-d.y)/n],y=[(-c.x-d.x)/i,(-c.y-d.y)/n],m=L(v,y);return I(v,y)<=-1&&(m=Math.PI),I(v,y)>=1&&(m=0),{currentPoint:h,rX:i,rY:n,sweepFlag:o,xAxisRotation:u,centp:g,a1:p,ad:m}}pathA(t,e){var{pathParser:r}=this,{currentPoint:i,rX:n,rY:a,sweepFlag:s,xAxisRotation:o,centp:u,a1:h,ad:c}=bt.pathA(r),l=1-s?1:-1,f=h+l*(c/2),d=new q(u.x+n*Math.cos(f),u.y+a*Math.sin(f));if(r.addMarkerAngle(d,f-l*Math.PI/2),r.addMarkerAngle(i,f-l*Math.PI),e.addPoint(i.x,i.y),t&&!isNaN(h)&&!isNaN(c)){var g=n>a?n:a,p=n>a?1:n/a,v=n>a?a/n:1;t.translate(u.x,u.y),t.rotate(o),t.scale(p,v),t.arc(0,0,g,h,h+c,Boolean(1-s)),t.scale(1/p,1/v),t.rotate(-o),t.translate(-u.x,-u.y)}}static pathZ(t){t.current=t.start}pathZ(t,e){bt.pathZ(this.pathParser),t&&e.x1!==e.x2&&e.y1!==e.y2&&t.closePath()}}class wt extends bt{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 St extends xt{constructor(t,e,r){super(t,e,new.target===St||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,i)=>{var n=this.getChildBoundingBox(t,this,this,i);e?e.addBoundingBox(n):e=n}),e}getFontSize(){var{document:t,parent:e}=this,r=vt.parse(t.ctx.font).fontSize,i=e.getStyle("font-size").getNumber(r);return i}getTElementBoundingBox(t){var e=this.getFontSize();return new yt(this.x,this.y-e,this.x+this.measureText(t),this.y)}getGlyph(t,e,r){var i=e[r],n=null;if(t.isArabic){var a=e.length,s=e[r-1],o=e[r+1],u="isolated";if((0===r||" "===s)&&r<a-1&&" "!==o&&(u="terminal"),r>0&&" "!==s&&r<a-1&&" "!==o&&(u="medial"),r>0&&" "!==s&&(r===a-1||" "===o)&&(u="initial"),"undefined"!==typeof t.glyphs[i]){var h=t.glyphs[i];n=h instanceof wt?h:h[u]}}else n=t.glyphs[i];return n||(n=t.missingGlyph),n}getText(){return""}getTextFromNode(t){var e=t||this.node,r=Array.from(e.parentNode.childNodes),i=r.indexOf(e),n=r.length-1,a=v(e.textContent||"");return 0===i&&(a=y(a)),i===n&&(a=m(a)),a}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,i=this.getText(),n=r.getStyle("font-family").getDefinition();if(n)for(var{unitsPerEm:a}=n.fontFace,s=vt.parse(e.ctx.font),o=r.getStyle("font-size").getNumber(s.fontSize),u=r.getStyle("font-style").getString(s.fontStyle),h=o/a,c=n.isRTL?i.split("").reverse().join(""):i,l=x(r.getAttribute("dx").getString()),f=c.length,d=0;d<f;d++){var g=this.getGlyph(n,c,d);t.translate(this.x,this.y),t.scale(h,-h);var p=t.lineWidth;t.lineWidth=t.lineWidth*a/o,"italic"===u&&t.transform(1,0,.4,1,0,0),g.render(t),"italic"===u&&t.transform(1,0,-.4,1,0,0),t.lineWidth=p,t.scale(1/h,-1/h),t.translate(-this.x,-this.y),this.x+=o*(g.horizAdvX||n.horizAdvX)/a,"undefined"===typeof l[d]||isNaN(l[d])||(this.x+=l[d])}else{var{x:v,y:y}=this;t.fillStyle&&t.fillText(i,v,y),t.strokeStyle&&t.strokeText(i,v,y)}}applyAnchoring(){if(!(this.textChunkStart>=this.leafTexts.length)){var t=this.leafTexts[this.textChunkStart],e=t.getStyle("text-anchor").getString("start"),r=!1,i=0;i="start"===e&&!r||"end"===e&&r?t.x-this.minX:"end"===e&&!r||"start"===e&&r?t.x-this.maxX:t.x-(this.minX+this.maxX)/2;for(var n=this.textChunkStart;n<this.leafTexts.length;n++)this.leafTexts[n].x+=i;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,i){var n=r.children[i];n.children.length>0?n.children.forEach((r,i)=>{e.adjustChildCoordinatesRecursiveCore(t,e,n,i)}):this.adjustChildCoordinates(t,e,r,i)}adjustChildCoordinates(t,e,r,i){var n=r.children[i];if("function"!==typeof n.measureText)return n;t.save(),n.setContext(t,!0);var a=n.getAttribute("x"),s=n.getAttribute("y"),o=n.getAttribute("dx"),u=n.getAttribute("dy"),h=n.getStyle("font-family").getDefinition(),c=Boolean(h)&&h.isRTL;0===i&&(a.hasValue()||a.setValue(n.getInheritedAttribute("x")),s.hasValue()||s.setValue(n.getInheritedAttribute("y")),o.hasValue()||o.setValue(n.getInheritedAttribute("dx")),u.hasValue()||u.setValue(n.getInheritedAttribute("dy")));var l=n.measureText(t);return c&&(e.x-=l),a.hasValue()?(e.applyAnchoring(),n.x=a.getPixels("x"),o.hasValue()&&(n.x+=o.getPixels("x"))):(o.hasValue()&&(e.x+=o.getPixels("x")),n.x=e.x),e.x=n.x,c||(e.x+=l),s.hasValue()?(n.y=s.getPixels("y"),u.hasValue()&&(n.y+=u.getPixels("y"))):(u.hasValue()&&(e.y+=u.getPixels("y")),n.y=e.y),e.y=n.y,e.leafTexts.push(n),e.minX=Math.min(e.minX,n.x,n.x+l),e.maxX=Math.max(e.maxX,n.x,n.x+l),n.clearContext(t),t.restore(),n}getChildBoundingBox(t,e,r,i){var n=r.children[i];if("function"!==typeof n.getBoundingBox)return null;var a=n.getBoundingBox(t);return a?(n.children.forEach((r,i)=>{var s=e.getChildBoundingBox(t,e,n,i);a.addBoundingBox(s)}),a):null}renderChild(t,e,r,i){var n=r.children[i];n.render(t),n.children.forEach((r,i)=>{e.renderChild(t,e,n,i)})}measureText(t){var{measureCache:e}=this;if(~e)return e;var r=this.getText(),i=this.measureTargetText(t,r);return this.measureCache=i,i}measureTargetText(t,e){if(!e.length)return 0;var{parent:r}=this,i=r.getStyle("font-family").getDefinition();if(i){for(var n=this.getFontSize(),a=i.isRTL?e.split("").reverse().join(""):e,s=x(r.getAttribute("dx").getString()),o=a.length,u=0,h=0;h<o;h++){var c=this.getGlyph(i,a,h);u+=(c.horizAdvX||i.horizAdvX)*n/i.fontFace.unitsPerEm,"undefined"===typeof s[h]||isNaN(s[h])||(u+=s[h])}return u}if(!t.measureText)return 10*e.length;t.save(),this.setContext(t,!0);var{width:l}=t.measureText(e);return this.clearContext(t),t.restore(),l}getInheritedAttribute(t){var e=this;while(e instanceof St&&e.isFirstChild()){var r=e.parent.getAttribute(t);if(r.hasValue(!0))return r.getValue("0");e=e.parent}return null}}class Tt extends St{constructor(t,e,r){super(t,e,new.target===Tt||r),this.type="tspan",this.text=this.children.length>0?"":this.getTextFromNode()}getText(){return this.text}}class At extends Tt{constructor(){super(...arguments),this.type="textNode"}}class Ct extends xt{constructor(){super(...arguments),this.type="svg",this.root=!1}setContext(t){var e,{document:r}=this,{screen:i,window:n}=r,a=t.canvas;if(i.setDefaults(t),a.style&&"undefined"!==typeof t.font&&n&&"undefined"!==typeof n.getComputedStyle){t.font=n.getComputedStyle(a).getPropertyValue("font");var s=new j(r,"fontSize",vt.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:o,height:u}=i.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 h=this.getAttribute("refX"),c=this.getAttribute("refY"),l=this.getAttribute("viewBox"),f=l.hasValue()?x(l.getString()):null,d=!this.root&&"visible"!==this.getStyle("overflow").getValue("hidden"),g=0,p=0,v=0,y=0;f&&(g=f[0],p=f[1]),this.root||(o=this.getStyle("width").getPixels("x"),u=this.getStyle("height").getPixels("y"),"marker"===this.type&&(v=g,y=p,g=0,p=0)),i.viewPort.setCurrent(o,u),!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")),f&&(o=f[2],u=f[3]),r.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:i.viewPort.width,desiredWidth:o,height:i.viewPort.height,desiredHeight:u,minX:g,minY:p,refX:h.getValue(),refY:c.getValue(),clip:d,clipX:v,clipY:y}),f&&(i.viewPort.removeCurrent(),i.viewPort.setCurrent(o,u))}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],i=this.getAttribute("width",!0),n=this.getAttribute("height",!0),a=this.getAttribute("viewBox"),s=this.getAttribute("style"),o=i.getNumber(0),u=n.getNumber(0);if(r)if("string"===typeof r)this.getAttribute("preserveAspectRatio",!0).setValue(r);else{var h=this.getAttribute("preserveAspectRatio");h.hasValue()&&h.setValue(h.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(i.setValue(t),n.setValue(e),a.hasValue()||a.setValue("0 0 ".concat(o||t," ").concat(u||e)),s.hasValue()){var c=this.getStyle("width"),l=this.getStyle("height");c.hasValue()&&c.setValue("".concat(t,"px")),l.hasValue()&&l.setValue("".concat(e,"px"))}}}class Ot extends bt{constructor(){super(...arguments),this.type="rect"}path(t){var e=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),i=this.getStyle("width",!1,!0).getPixels("x"),n=this.getStyle("height",!1,!0).getPixels("y"),a=this.getAttribute("rx"),s=this.getAttribute("ry"),o=a.getPixels("x"),u=s.getPixels("y");if(a.hasValue()&&!s.hasValue()&&(u=o),s.hasValue()&&!a.hasValue()&&(o=u),o=Math.min(o,i/2),u=Math.min(u,n/2),t){var h=(Math.sqrt(2)-1)/3*4;t.beginPath(),n>0&&i>0&&(t.moveTo(e+o,r),t.lineTo(e+i-o,r),t.bezierCurveTo(e+i-o+h*o,r,e+i,r+u-h*u,e+i,r+u),t.lineTo(e+i,r+n-u),t.bezierCurveTo(e+i,r+n-u+h*u,e+i-o+h*o,r+n,e+i-o,r+n),t.lineTo(e+o,r+n),t.bezierCurveTo(e+o-h*o,r+n,e,r+n-u+h*u,e,r+n-u),t.lineTo(e,r+u),t.bezierCurveTo(e,r+u-h*u,e+o-h*o,r,e+o,r),t.closePath())}return new yt(e,r,e+i,r+n)}getMarkers(){return null}}class Et extends bt{constructor(){super(...arguments),this.type="circle"}path(t){var e=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),i=this.getAttribute("r").getPixels();return t&&i>0&&(t.beginPath(),t.arc(e,r,i,0,2*Math.PI,!1),t.closePath()),new yt(e-i,r-i,e+i,r+i)}getMarkers(){return null}}class Pt extends bt{constructor(){super(...arguments),this.type="ellipse"}path(t){var e=(Math.sqrt(2)-1)/3*4,r=this.getAttribute("rx").getPixels("x"),i=this.getAttribute("ry").getPixels("y"),n=this.g