svg-path-commander 2.1.11 → 2.2.0

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.
@@ -1,2 +0,0 @@
1
- var SVGPathCommander=function(){"use strict";var Ee=Object.defineProperty,Re=(e,t,r)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,V=(e,t,r)=>Re(e,typeof t!="symbol"?t+"":t,r);const je={a:1,b:0,c:0,d:1,e:0,f:0,m11:1,m12:0,m13:0,m14:0,m21:0,m22:1,m23:0,m24:0,m31:0,m32:0,m33:1,m34:0,m41:0,m42:0,m43:0,m44:1,is2D:!0,isIdentity:!0},Ft=e=>(e instanceof Float64Array||e instanceof Float32Array||Array.isArray(e)&&e.every(t=>typeof t=="number"))&&[6,16].some(t=>e.length===t),Gt=e=>e instanceof DOMMatrix||e instanceof S||typeof e=="object"&&Object.keys(je).every(t=>e&&t in e),et=e=>{const t=new S,r=Array.from(e);if(!Ft(r))throw TypeError(`CSSMatrix: "${r.join(",")}" must be an array with 6/16 numbers.`);if(r.length===16){const[s,n,i,o,a,c,l,m,h,f,g,u,y,p,b,A]=r;t.m11=s,t.a=s,t.m21=a,t.c=a,t.m31=h,t.m41=y,t.e=y,t.m12=n,t.b=n,t.m22=c,t.d=c,t.m32=f,t.m42=p,t.f=p,t.m13=i,t.m23=l,t.m33=g,t.m43=b,t.m14=o,t.m24=m,t.m34=u,t.m44=A}else if(r.length===6){const[s,n,i,o,a,c]=r;t.m11=s,t.a=s,t.m12=n,t.b=n,t.m21=i,t.c=i,t.m22=o,t.d=o,t.m41=a,t.e=a,t.m42=c,t.f=c}return t},Ut=e=>{if(Gt(e))return et([e.m11,e.m12,e.m13,e.m14,e.m21,e.m22,e.m23,e.m24,e.m31,e.m32,e.m33,e.m34,e.m41,e.m42,e.m43,e.m44]);throw TypeError(`CSSMatrix: "${JSON.stringify(e)}" is not a DOMMatrix / CSSMatrix / JSON compatible object.`)},_t=e=>{if(typeof e!="string")throw TypeError(`CSSMatrix: "${JSON.stringify(e)}" is not a string.`);const t=String(e).replace(/\s/g,"");let r=new S;const s=`CSSMatrix: invalid transform string "${e}"`;return t.split(")").filter(n=>n).forEach(n=>{const[i,o]=n.split("(");if(!o)throw TypeError(s);const a=o.split(",").map(u=>u.includes("rad")?parseFloat(u)*(180/Math.PI):parseFloat(u)),[c,l,m,h]=a,f=[c,l,m],g=[c,l,m,h];if(i==="perspective"&&c&&[l,m].every(u=>u===void 0))r.m34=-1/c;else if(i.includes("matrix")&&[6,16].includes(a.length)&&a.every(u=>!Number.isNaN(+u))){const u=a.map(y=>Math.abs(y)<1e-6?0:y);r=r.multiply(et(u))}else if(i==="translate3d"&&f.every(u=>!Number.isNaN(+u)))r=r.translate(c,l,m);else if(i==="translate"&&c&&m===void 0)r=r.translate(c,l||0,0);else if(i==="rotate3d"&&g.every(u=>!Number.isNaN(+u))&&h)r=r.rotateAxisAngle(c,l,m,h);else if(i==="rotate"&&c&&[l,m].every(u=>u===void 0))r=r.rotate(0,0,c);else if(i==="scale3d"&&f.every(u=>!Number.isNaN(+u))&&f.some(u=>u!==1))r=r.scale(c,l,m);else if(i==="scale"&&!Number.isNaN(c)&&(c!==1||l!==1)&&m===void 0){const u=Number.isNaN(+l)?c:l;r=r.scale(c,u,1)}else if(i==="skew"&&(c||!Number.isNaN(c)&&l)&&m===void 0)r=r.skew(c,l||0);else if(["translate","rotate","scale","skew"].some(u=>i.includes(u))&&/[XYZ]/.test(i)&&c&&[l,m].every(u=>u===void 0))if(i==="skewX"||i==="skewY")r=r[i](c);else{const u=i.replace(/[XYZ]/,""),y=i.replace(u,""),p=["X","Y","Z"].indexOf(y),b=u==="scale"?1:0,A=[p===0?c:b,p===1?c:b,p===2?c:b];r=r[u](...A)}else throw TypeError(s)}),r},Nt=(e,t)=>t?[e.a,e.b,e.c,e.d,e.e,e.f]:[e.m11,e.m12,e.m13,e.m14,e.m21,e.m22,e.m23,e.m24,e.m31,e.m32,e.m33,e.m34,e.m41,e.m42,e.m43,e.m44],Jt=(e,t,r)=>{const s=new S;return s.m41=e,s.e=e,s.m42=t,s.f=t,s.m43=r,s},Kt=(e,t,r)=>{const s=new S,n=Math.PI/180,i=e*n,o=t*n,a=r*n,c=Math.cos(i),l=-Math.sin(i),m=Math.cos(o),h=-Math.sin(o),f=Math.cos(a),g=-Math.sin(a),u=m*f,y=-m*g;s.m11=u,s.a=u,s.m12=y,s.b=y,s.m13=h;const p=l*h*f+c*g;s.m21=p,s.c=p;const b=c*f-l*h*g;return s.m22=b,s.d=b,s.m23=-l*m,s.m31=l*g-c*h*f,s.m32=l*f+c*h*g,s.m33=c*m,s},Wt=(e,t,r,s)=>{const n=new S,i=Math.sqrt(e*e+t*t+r*r);if(i===0)return n;const o=e/i,a=t/i,c=r/i,l=s*(Math.PI/360),m=Math.sin(l),h=Math.cos(l),f=m*m,g=o*o,u=a*a,y=c*c,p=1-2*(u+y)*f;n.m11=p,n.a=p;const b=2*(o*a*f+c*m*h);n.m12=b,n.b=b,n.m13=2*(o*c*f-a*m*h);const A=2*(a*o*f-c*m*h);n.m21=A,n.c=A;const x=1-2*(y+g)*f;return n.m22=x,n.d=x,n.m23=2*(a*c*f+o*m*h),n.m31=2*(c*o*f+a*m*h),n.m32=2*(c*a*f-o*m*h),n.m33=1-2*(g+u)*f,n},Xt=(e,t,r)=>{const s=new S;return s.m11=e,s.a=e,s.m22=t,s.d=t,s.m33=r,s},mt=(e,t)=>{const r=new S;if(e){const s=e*Math.PI/180,n=Math.tan(s);r.m21=n,r.c=n}if(t){const s=t*Math.PI/180,n=Math.tan(s);r.m12=n,r.b=n}return r},Yt=e=>mt(e,0),te=e=>mt(0,e),B=(e,t)=>{const r=t.m11*e.m11+t.m12*e.m21+t.m13*e.m31+t.m14*e.m41,s=t.m11*e.m12+t.m12*e.m22+t.m13*e.m32+t.m14*e.m42,n=t.m11*e.m13+t.m12*e.m23+t.m13*e.m33+t.m14*e.m43,i=t.m11*e.m14+t.m12*e.m24+t.m13*e.m34+t.m14*e.m44,o=t.m21*e.m11+t.m22*e.m21+t.m23*e.m31+t.m24*e.m41,a=t.m21*e.m12+t.m22*e.m22+t.m23*e.m32+t.m24*e.m42,c=t.m21*e.m13+t.m22*e.m23+t.m23*e.m33+t.m24*e.m43,l=t.m21*e.m14+t.m22*e.m24+t.m23*e.m34+t.m24*e.m44,m=t.m31*e.m11+t.m32*e.m21+t.m33*e.m31+t.m34*e.m41,h=t.m31*e.m12+t.m32*e.m22+t.m33*e.m32+t.m34*e.m42,f=t.m31*e.m13+t.m32*e.m23+t.m33*e.m33+t.m34*e.m43,g=t.m31*e.m14+t.m32*e.m24+t.m33*e.m34+t.m34*e.m44,u=t.m41*e.m11+t.m42*e.m21+t.m43*e.m31+t.m44*e.m41,y=t.m41*e.m12+t.m42*e.m22+t.m43*e.m32+t.m44*e.m42,p=t.m41*e.m13+t.m42*e.m23+t.m43*e.m33+t.m44*e.m43,b=t.m41*e.m14+t.m42*e.m24+t.m43*e.m34+t.m44*e.m44;return et([r,s,n,i,o,a,c,l,m,h,f,g,u,y,p,b])};class S{constructor(t){return this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this.m11=1,this.m12=0,this.m13=0,this.m14=0,this.m21=0,this.m22=1,this.m23=0,this.m24=0,this.m31=0,this.m32=0,this.m33=1,this.m34=0,this.m41=0,this.m42=0,this.m43=0,this.m44=1,t?this.setMatrixValue(t):this}get isIdentity(){return this.m11===1&&this.m12===0&&this.m13===0&&this.m14===0&&this.m21===0&&this.m22===1&&this.m23===0&&this.m24===0&&this.m31===0&&this.m32===0&&this.m33===1&&this.m34===0&&this.m41===0&&this.m42===0&&this.m43===0&&this.m44===1}get is2D(){return this.m31===0&&this.m32===0&&this.m33===1&&this.m34===0&&this.m43===0&&this.m44===1}setMatrixValue(t){return typeof t=="string"&&t.length&&t!=="none"?_t(t):Array.isArray(t)||t instanceof Float64Array||t instanceof Float32Array?et(t):typeof t=="object"?Ut(t):this}toFloat32Array(t){return Float32Array.from(Nt(this,t))}toFloat64Array(t){return Float64Array.from(Nt(this,t))}toString(){const{is2D:t}=this,r=this.toFloat64Array(t).join(", ");return`${t?"matrix":"matrix3d"}(${r})`}toJSON(){const{is2D:t,isIdentity:r}=this;return{...this,is2D:t,isIdentity:r}}multiply(t){return B(this,t)}translate(t,r,s){const n=t;let i=r,o=s;return typeof i>"u"&&(i=0),typeof o>"u"&&(o=0),B(this,Jt(n,i,o))}scale(t,r,s){const n=t;let i=r,o=s;return typeof i>"u"&&(i=t),typeof o>"u"&&(o=1),B(this,Xt(n,i,o))}rotate(t,r,s){let n=t,i=r||0,o=s||0;return typeof t=="number"&&typeof r>"u"&&typeof s>"u"&&(o=n,n=0,i=0),B(this,Kt(n,i,o))}rotateAxisAngle(t,r,s,n){if([t,r,s,n].some(i=>Number.isNaN(+i)))throw new TypeError("CSSMatrix: expecting 4 values");return B(this,Wt(t,r,s,n))}skewX(t){return B(this,Yt(t))}skewY(t){return B(this,te(t))}skew(t,r){return B(this,mt(t,r))}transformPoint(t){const r=this.m11*t.x+this.m21*t.y+this.m31*t.z+this.m41*t.w,s=this.m12*t.x+this.m22*t.y+this.m32*t.z+this.m42*t.w,n=this.m13*t.x+this.m23*t.y+this.m33*t.z+this.m43*t.w,i=this.m14*t.x+this.m24*t.y+this.m34*t.z+this.m44*t.w;return t instanceof DOMPoint?new DOMPoint(r,s,n,i):{x:r,y:s,z:n,w:i}}}V(S,"Translate",Jt),V(S,"Rotate",Kt),V(S,"RotateAxisAngle",Wt),V(S,"Scale",Xt),V(S,"SkewX",Yt),V(S,"SkewY",te),V(S,"Skew",mt),V(S,"Multiply",B),V(S,"fromArray",et),V(S,"fromMatrix",Ut),V(S,"fromString",_t),V(S,"toArray",Nt),V(S,"isCompatibleArray",Ft),V(S,"isCompatibleObject",Gt);const O=(e,t,r)=>{const[s,n]=e,[i,o]=t;return[s+(i-s)*r,n+(o-n)*r]},ut=(e,t)=>Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])),nt=(e,t,r,s)=>ut([e,t],[r,s]),wt=(e,t,r,s,n)=>{let i={x:e,y:t};if(typeof n=="number"){const o=ut([e,t],[r,s]);if(n<=0)i={x:e,y:t};else if(n>=o)i={x:r,y:s};else{const[a,c]=O([e,t],[r,s],n/o);i={x:a,y:c}}}return i},Lt=(e,t,r,s)=>{const{min:n,max:i}=Math;return[n(e,r),n(t,s),i(e,r),i(t,s)]},Qe={getLineBBox:Lt,getLineLength:nt,getPointAtLineLength:wt},Tt=(e,t,r)=>{const s=r/2,n=Math.sin(s),i=Math.cos(s),o=e**2*n**2,a=t**2*i**2,c=Math.sqrt(o+a)*r;return Math.abs(c)},_=(e,t,r,s,n,i)=>{const{sin:o,cos:a}=Math,c=a(n),l=o(n),m=r*a(i),h=s*o(i);return[e+c*m-l*h,t+l*m+c*h]},vt=(e,t)=>{const{x:r,y:s}=e,{x:n,y:i}=t,o=r*n+s*i,a=Math.sqrt((r**2+s**2)*(n**2+i**2));return(r*i-s*n<0?-1:1)*Math.acos(o/a)},ht=(e,t,r,s,n,i,o,a,c)=>{const{abs:l,sin:m,cos:h,sqrt:f,PI:g}=Math;let u=l(r),y=l(s);const b=(n%360+360)%360*(g/180);if(e===a&&t===c)return{rx:u,ry:y,startAngle:0,endAngle:0,center:{x:a,y:c}};if(u===0||y===0)return{rx:u,ry:y,startAngle:0,endAngle:0,center:{x:(a+e)/2,y:(c+t)/2}};const A=(e-a)/2,x=(t-c)/2,d={x:h(b)*A+m(b)*x,y:-m(b)*A+h(b)*x},M=d.x**2/u**2+d.y**2/y**2;M>1&&(u*=f(M),y*=f(M));const P=u**2*y**2-u**2*d.y**2-y**2*d.x**2,$=u**2*d.y**2+y**2*d.x**2;let q=P/$;q=q<0?0:q;const T=(i!==o?1:-1)*f(q),N={x:T*(u*d.y/y),y:T*(-(y*d.x)/u)},Z={x:h(b)*N.x-m(b)*N.y+(e+a)/2,y:m(b)*N.x+h(b)*N.y+(t+c)/2},J={x:(d.x-N.x)/u,y:(d.y-N.y)/y},z=vt({x:1,y:0},J),C={x:(-d.x-N.x)/u,y:(-d.y-N.y)/y};let k=vt(J,C);!o&&k>0?k-=2*g:o&&k<0&&(k+=2*g),k%=2*g;const D=z+k;return{center:Z,startAngle:z,endAngle:D,rx:u,ry:y}},$t=(e,t,r,s,n,i,o,a,c)=>{const{rx:l,ry:m,startAngle:h,endAngle:f}=ht(e,t,r,s,n,i,o,a,c);return Tt(l,m,f-h)},ee=(e,t,r,s,n,i,o,a,c,l)=>{let m={x:e,y:t};const{center:h,rx:f,ry:g,startAngle:u,endAngle:y}=ht(e,t,r,s,n,i,o,a,c);if(typeof l=="number"){const p=Tt(f,g,y-u);if(l<=0)m={x:e,y:t};else if(l>=p)m={x:a,y:c};else{if(e===a&&t===c)return{x:a,y:c};if(f===0||g===0)return wt(e,t,a,c,l);const{PI:b,cos:A,sin:x}=Math,d=y-u,P=(n%360+360)%360*(b/180),$=u+d*(l/p),q=f*A($),T=g*x($);m={x:A(P)*q-x(P)*T+h.x,y:x(P)*q+A(P)*T+h.y}}}return m},ne=(e,t,r,s,n,i,o,a,c)=>{const{center:l,rx:m,ry:h,startAngle:f,endAngle:g}=ht(e,t,r,s,n,i,o,a,c),u=g-f,{min:y,max:p,tan:b,atan2:A,PI:x}=Math,{x:d,y:M}=l,P=n*x/180,$=b(P),q=A(-h*$,m),T=q,N=q+x,Z=A(h,m*$),J=Z+x,z=[a],C=[c];let k=y(e,a),D=p(e,a),E=y(t,c),H=p(t,c);const tt=g-u*1e-5,K=_(d,M,m,h,P,tt),w=g-u*.99999,I=_(d,M,m,h,P,w);if(K[0]>D||I[0]>D){const v=_(d,M,m,h,P,T);z.push(v[0]),C.push(v[1])}if(K[0]<k||I[0]<k){const v=_(d,M,m,h,P,N);z.push(v[0]),C.push(v[1])}if(K[1]<E||I[1]<E){const v=_(d,M,m,h,P,J);z.push(v[0]),C.push(v[1])}if(K[1]>H||I[1]>H){const v=_(d,M,m,h,P,Z);z.push(v[0]),C.push(v[1])}return k=y.apply([],z),E=y.apply([],C),D=p.apply([],z),H=p.apply([],C),[k,E,D,H]},Ze={angleBetween:vt,arcLength:Tt,arcPoint:_,getArcBBox:ne,getArcLength:$t,getArcProps:ht,getPointAtArcLength:ee},qt=[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],re=[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],se=e=>{const t=[];for(let r=e,s=r.length,n=s-1;s>1;s-=1,n-=1){const i=[];for(let o=0;o<n;o+=1)i.push({x:n*(r[o+1].x-r[o].x),y:n*(r[o+1].y-r[o].y),t:0});t.push(i),r=i}return t},ie=(e,t)=>{if(t===0)return e[0].t=0,e[0];const r=e.length-1;if(t===1)return e[r].t=1,e[r];const s=1-t;let n=e;if(r===0)return e[0].t=t,e[0];if(r===1)return{x:s*n[0].x+t*n[1].x,y:s*n[0].y+t*n[1].y,t};const i=s*s,o=t*t;let a=0,c=0,l=0,m=0;return r===2?(n=[n[0],n[1],n[2],{x:0,y:0}],a=i,c=s*t*2,l=o):r===3&&(a=i*s,c=i*t*3,l=s*o*3,m=t*o),{x:a*n[0].x+c*n[1].x+l*n[2].x+m*n[3].x,y:a*n[0].y+c*n[1].y+l*n[2].y+m*n[3].y,t}},oe=(e,t)=>{const r=e(t),s=r.x*r.x+r.y*r.y;return Math.sqrt(s)},ce=e=>{const r=qt.length;let s=0;for(let n=0,i;n<r;n++)i=.5*qt[n]+.5,s+=re[n]*oe(e,i);return .5*s},rt=e=>{const t=[];for(let s=0,n=e.length,i=2;s<n;s+=i)t.push({x:e[s],y:e[s+1]});const r=se(t);return ce(s=>ie(r[0],s))},ae=1e-8,ft=([e,t,r])=>{const s=Math.min(e,r),n=Math.max(e,r);if(t>=e?r>=t:r<=t)return[s,n];const i=(e*r-t*t)/(e-2*t+r);return i<s?[i,n]:[s,i]},zt=([e,t,r,s])=>{const n=e-3*t+3*r-s;if(Math.abs(n)<ae)return e===s&&e===t?[e,s]:ft([e,-.5*e+1.5*t,e-3*t+3*r]);const i=-e*r+e*s-t*r-t*s+t*t+r*r;if(i<=0)return[Math.min(e,s),Math.max(e,s)];const o=Math.sqrt(i);let a=Math.min(e,s),c=Math.max(e,s);const l=e-2*t+r;for(let m=(l+o)/n,h=1;h<=2;m=(l-o)/n,h++)if(m>0&&m<1){const f=e*(1-m)*(1-m)*(1-m)+t*3*(1-m)*(1-m)*m+r*3*(1-m)*m*m+s*m*m*m;f<a&&(a=f),f>c&&(c=f)}return[a,c]},De={bezierLength:ce,calculateBezier:oe,CBEZIER_MINMAX_EPSILON:ae,computeBezier:ie,Cvalues:re,deriveBezier:se,getBezierLength:rt,minmaxC:zt,minmaxQ:ft,Tvalues:qt},le=([e,t,r,s,n,i,o,a],c)=>{const l=1-c;return{x:l**3*e+3*l**2*c*r+3*l*c**2*n+c**3*o,y:l**3*t+3*l**2*c*s+3*l*c**2*i+c**3*a}},gt=(e,t,r,s,n,i,o,a)=>rt([e,t,r,s,n,i,o,a]),me=(e,t,r,s,n,i,o,a,c)=>{const l=typeof c=="number";let m={x:e,y:t};if(l){const h=rt([e,t,r,s,n,i,o,a]);c<=0||(c>=h?m={x:o,y:a}:m=le([e,t,r,s,n,i,o,a],c/h))}return m},kt=(e,t,r,s,n,i,o,a)=>{const c=zt([e,r,n,o]),l=zt([t,s,i,a]);return[c[0],l[0],c[1],l[1]]},Oe={getCubicBBox:kt,getCubicLength:gt,getPointAtCubicLength:me,getPointAtCubicSegmentLength:le},ue=([e,t,r,s,n,i],o)=>{const a=1-o;return{x:a**2*e+2*a*o*r+o**2*n,y:a**2*t+2*a*o*s+o**2*i}},yt=(e,t,r,s,n,i)=>rt([e,t,r,s,n,i]),he=(e,t,r,s,n,i,o)=>{const a=typeof o=="number";let c={x:e,y:t};if(a){const l=rt([e,t,r,s,n,i]);o<=0||(o>=l?c={x:n,y:i}:c=ue([e,t,r,s,n,i],o/l))}return c},It=(e,t,r,s,n,i)=>{const o=ft([e,r,n]),a=ft([t,s,i]);return[o[0],a[0],o[1],a[1]]},Be={getPointAtQuadLength:he,getPointAtQuadSegmentLength:ue,getQuadBBox:It,getQuadLength:yt},He={polygonArea:e=>{const t=e.length;let r=-1,s,n=e[t-1],i=0;for(;++r<t;)s=n,n=e[r],i+=s[1]*n[0]-s[0]*n[1];return i/2},polygonLength:e=>e.reduce((t,r,s)=>s?t+ut(e[s-1],r):0,0)},st=(e,t,r)=>{const{sin:s,cos:n}=Math,i=e*n(r)-t*s(r),o=e*s(r)+t*n(r);return{x:i,y:o}},L=(e,t)=>{const r=t>=1?10**t:1;return t>0?Math.round(e*r)/r:Math.round(e)},F={origin:[0,0,0],round:4},W={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},Vt=e=>{let t=e.pathValue[e.segmentStart],r=t.toLowerCase();const{data:s}=e;for(;s.length>=W[r]&&(r==="m"&&s.length>2?(e.segments.push([t].concat(s.splice(0,2))),r="l",t=t==="m"?"l":"L"):e.segments.push([t].concat(s.splice(0,W[r]))),!!W[r]););},R="SVGPathCommander Error",fe=e=>{const{index:t,pathValue:r}=e,s=r.charCodeAt(t);if(s===48){e.param=0,e.index+=1;return}if(s===49){e.param=1,e.index+=1;return}e.err=`${R}: invalid Arc flag "${r[t]}", expecting 0 or 1 at index ${t}`},G=e=>e>=48&&e<=57,U="Invalid path value",ge=e=>{const{max:t,pathValue:r,index:s}=e;let n=s,i=!1,o=!1,a=!1,c=!1,l;if(n>=t){e.err=`${R}: ${U} at index ${n}, "pathValue" is missing param`;return}if(l=r.charCodeAt(n),(l===43||l===45)&&(n+=1,l=r.charCodeAt(n)),!G(l)&&l!==46){e.err=`${R}: ${U} at index ${n}, "${r[n]}" is not a number`;return}if(l!==46){if(i=l===48,n+=1,l=r.charCodeAt(n),i&&n<t&&l&&G(l)){e.err=`${R}: ${U} at index ${s}, "${r[s]}" illegal number`;return}for(;n<t&&G(r.charCodeAt(n));)n+=1,o=!0;l=r.charCodeAt(n)}if(l===46){for(c=!0,n+=1;G(r.charCodeAt(n));)n+=1,a=!0;l=r.charCodeAt(n)}if(l===101||l===69){if(c&&!o&&!a){e.err=`${R}: ${U} at index ${n}, "${r[n]}" invalid float exponent`;return}if(n+=1,l=r.charCodeAt(n),(l===43||l===45)&&(n+=1),n<t&&G(r.charCodeAt(n)))for(;n<t&&G(r.charCodeAt(n));)n+=1;else{e.err=`${R}: ${U} at index ${n}, "${r[n]}" invalid integer exponent`;return}}e.index=n,e.param=+e.pathValue.slice(s,n)},ye=e=>[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279,10,13,8232,8233,32,9,11,12,160].includes(e),X=e=>{const{pathValue:t,max:r}=e;for(;e.index<r&&ye(t.charCodeAt(e.index));)e.index+=1},xe=e=>{switch(e|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}},de=e=>G(e)||e===43||e===45||e===46,pe=e=>(e|32)===97,be=e=>{switch(e|32){case 109:case 77:return!0;default:return!1}},Et=e=>{var c;const{max:t,pathValue:r,index:s,segments:n}=e,i=r.charCodeAt(s),o=W[r[s].toLowerCase()];if(e.segmentStart=s,!xe(i)){e.err=`${R}: ${U} "${r[s]}" is not a path command at index ${s}`;return}const a=n[n.length-1];if(!be(i)&&((c=a==null?void 0:a[0])==null?void 0:c.toLocaleLowerCase())==="z"){e.err=`${R}: ${U} "${r[s]}" is not a MoveTo path command at index ${s}`;return}if(e.index+=1,X(e),e.data=[],!o){Vt(e);return}for(;;){for(let l=o;l>0;l-=1){if(pe(i)&&(l===3||l===4)?fe(e):ge(e),e.err.length)return;e.data.push(e.param),X(e),e.index<t&&r.charCodeAt(e.index)===44&&(e.index+=1,X(e))}if(e.index>=e.max||!de(r.charCodeAt(e.index)))break}Vt(e)};class Rt{constructor(t){this.segments=[],this.pathValue=t,this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}}const j=e=>{if(typeof e!="string")return e.slice(0);const t=new Rt(e);for(X(t);t.index<t.max&&!t.err.length;)Et(t);if(!t.err.length)t.segments.length&&(t.segments[0][0]="M");else throw TypeError(t.err);return t.segments},it=(e,t,r,s)=>{const[n]=e,i=n.toUpperCase();if(t===0||i===n)return e;if(i==="A")return[i,e[1],e[2],e[3],e[4],e[5],e[6]+r,e[7]+s];if(i==="V")return[i,e[1]+s];if(i==="H")return[i,e[1]+r];if(i==="L")return[i,e[1]+r,e[2]+s];{const a=[],c=e.length;for(let l=1;l<c;l+=1)a.push(e[l]+(l%2?r:s));return[i].concat(a)}},Q=(e,t)=>{let r=e.length,s,n="M",i="M",o=!1,a=0,c=0,l=0,m=0,h=0;for(let f=0;f<r;f+=1){s=e[f],[n]=s,h=s.length,i=n.toUpperCase(),o=i!==n;const g=t(s,f,a,c);if(g===!1)break;i==="Z"?(a=l,c=m):i==="H"?a=s[1]+(o?a:0):i==="V"?c=s[1]+(o?c:0):(a=s[h-2]+(o?a:0),c=s[h-1]+(o?c:0),i==="M"&&(l=a,m=c)),g&&(e[f]=g,g[0]==="C"&&(r=e.length))}return e},xt=e=>{const t=j(e);return Q(t,it)},jt=(e,t,r,s)=>{const[n]=e,i=n.toLowerCase();if(t===0||n===i)return e;if(i==="a")return[i,e[1],e[2],e[3],e[4],e[5],e[6]-r,e[7]-s];if(i==="v")return[i,e[1]-s];if(i==="h")return[i,e[1]-r];if(i==="l")return[i,e[1]-r,e[2]-s];{const a=[],c=e.length;for(let l=1;l<c;l+=1)a.push(e[l]-(l%2?r:s));return[i].concat(a)}},Ae=e=>{const t=j(e);return Q(t,jt)},dt=(e,t,r,s,n,i,o,a,c,l)=>{let m=e,h=t,f=r,g=s,u=a,y=c;const p=Math.PI*120/180,b=Math.PI/180*(+n||0);let A=[],x,d,M,P,$;if(l)[d,M,P,$]=l;else{x=st(m,h,-b),m=x.x,h=x.y,x=st(u,y,-b),u=x.x,y=x.y;const w=(m-u)/2,I=(h-y)/2;let v=w*w/(f*f)+I*I/(g*g);v>1&&(v=Math.sqrt(v),f*=v,g*=v);const Bt=f*f,Ht=g*g,Ve=(i===o?-1:1)*Math.sqrt(Math.abs((Bt*Ht-Bt*I*I-Ht*w*w)/(Bt*I*I+Ht*w*w)));P=Ve*f*I/g+(m+u)/2,$=Ve*-g*w/f+(h+y)/2,d=Math.asin(((h-$)/g*10**9>>0)/10**9),M=Math.asin(((y-$)/g*10**9>>0)/10**9),d=m<P?Math.PI-d:d,M=u<P?Math.PI-M:M,d<0&&(d=Math.PI*2+d),M<0&&(M=Math.PI*2+M),o&&d>M&&(d-=Math.PI*2),!o&&M>d&&(M-=Math.PI*2)}let q=M-d;if(Math.abs(q)>p){const w=M,I=u,v=y;M=d+p*(o&&M>d?1:-1),u=P+f*Math.cos(M),y=$+g*Math.sin(M),A=dt(u,y,f,g,n,0,o,I,v,[M,w,P,$])}q=M-d;const T=Math.cos(d),N=Math.sin(d),Z=Math.cos(M),J=Math.sin(M),z=Math.tan(q/4),C=4/3*f*z,k=4/3*g*z,D=[m,h],E=[m+C*N,h-k*T],H=[u+C*J,y-k*Z],tt=[u,y];if(E[0]=2*D[0]-E[0],E[1]=2*D[1]-E[1],l)return[E[0],E[1],H[0],H[1],tt[0],tt[1]].concat(A);A=[E[0],E[1],H[0],H[1],tt[0],tt[1]].concat(A);const K=[];for(let w=0,I=A.length;w<I;w+=1)K[w]=w%2?st(A[w-1],A[w],b).y:st(A[w],A[w+1],b).x;return K},Me=(e,t,r,s,n,i)=>{const o=.3333333333333333,a=2/3;return[o*e+a*r,o*t+a*s,o*n+a*r,o*i+a*s,n,i]},Qt=(e,t,r,s)=>{const n=O([e,t],[r,s],.3333333333333333),i=O([e,t],[r,s],2/3);return[n[0],n[1],i[0],i[1],r,s]},Ce=(e,t)=>{const[r]=e,s=e.slice(1).map(Number),[n,i]=s,{x1:o,y1:a,x:c,y:l}=t;return"TQ".includes(r)||(t.qx=null,t.qy=null),r==="M"?(t.x=n,t.y=i,e):r==="A"?["C"].concat(dt(o,a,s[0],s[1],s[2],s[3],s[4],s[5],s[6])):r==="Q"?(t.qx=n,t.qy=i,["C"].concat(Me(o,a,s[0],s[1],s[2],s[3]))):r==="L"?["C"].concat(Qt(o,a,n,i)):r==="Z"?["C"].concat(Qt(o,a,c,l)):e},pt=(e,t)=>{const[r]=e,s=r.toUpperCase(),n=r!==s,{x1:i,y1:o,x2:a,y2:c,x:l,y:m}=t,h=e.slice(1);let f=h.map((g,u)=>g+(n?u%2?m:l:0));if("TQ".includes(s)||(t.qx=null,t.qy=null),s==="A")return f=h.slice(0,-2).concat(h[5]+(n?l:0),h[6]+(n?m:0)),["A"].concat(f);if(s==="H")return["L",e[1]+(n?l:0),o];if(s==="V")return["L",i,e[1]+(n?m:0)];if(s==="L")return["L",e[1]+(n?l:0),e[2]+(n?m:0)];if(s==="M")return["M",e[1]+(n?l:0),e[2]+(n?m:0)];if(s==="C")return["C"].concat(f);if(s==="S"){const g=i*2-a,u=o*2-c;return t.x1=g,t.y1=u,["C",g,u].concat(f)}else if(s==="T"){const g=i*2-(t.qx?t.qx:0),u=o*2-(t.qy?t.qy:0);return t.qx=g,t.qy=u,["Q",g,u].concat(f)}else if(s==="Q"){const[g,u]=f;return t.qx=g,t.qy=u,["Q"].concat(f)}else if(s==="Z")return["Z"];return e},ot={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null},bt=e=>{const t={...ot},r=j(e);return Q(r,(s,n,i,o)=>{t.x=i,t.y=o;const a=pt(s,t);let c=Ce(a,t);c[0]==="C"&&c.length>7&&(r.splice(n+1,0,["C"].concat(c.slice(7))),c=c.slice(0,7));const m=c.length;return t.x1=+c[m-2],t.y1=+c[m-1],t.x2=+c[m-4]||t.x1,t.y2=+c[m-3]||t.y1,c})},Zt=(e,t)=>{const r=e.length;let{round:s}=F,n=e[0],i="";s=t==="off"||typeof t=="number"&&t>=0?t:typeof s=="number"&&s>=0?s:"off";for(let o=0;o<r;o+=1){n=e[o];const[a]=n,c=n.slice(1);if(i+=a,s==="off")i+=c.join(" ");else{let l=0;const m=c.length;for(;l<m;)i+=L(c[l],s),l!==m-1&&(i+=" "),l+=1}}return i},Pe=e=>{if(!e)return{x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0};const t=j(e);let r="M",s=0,n=0;const{max:i,min:o}=Math;let a=1/0,c=1/0,l=-1/0,m=-1/0,h=0,f=0,g=0,u=0,y=0,p=0,b=0,A=0,x=0,d=0;Q(t,($,q,T,N)=>{[r]=$;const Z=r.toUpperCase(),z=Z!==r?it($,q,T,N):$.slice(0),C=Z==="V"?["L",T,z[1]]:Z==="H"?["L",z[1],N]:z;if([r]=C,"TQ".includes(Z)||(x=0,d=0),r==="M")[,s,n]=C,h=s,f=n,g=s,u=n;else if(r==="L")[h,f,g,u]=Lt(T,N,C[1],C[2]);else if(r==="A")[h,f,g,u]=ne(T,N,C[1],C[2],C[3],C[4],C[5],C[6],C[7]);else if(r==="S"){const k=y*2-b,D=p*2-A;[h,f,g,u]=kt(T,N,k,D,C[1],C[2],C[3],C[4])}else r==="C"?[h,f,g,u]=kt(T,N,C[1],C[2],C[3],C[4],C[5],C[6]):r==="T"?(x=y*2-x,d=p*2-d,[h,f,g,u]=It(T,N,x,d,C[1],C[2])):r==="Q"?(x=C[1],d=C[2],[h,f,g,u]=It(T,N,C[1],C[2],C[3],C[4])):r==="Z"&&([h,f,g,u]=Lt(T,N,s,n));a=o(h,a),c=o(f,c),l=i(g,l),m=i(u,m),[y,p]=r==="Z"?[s,n]:C.slice(-2),[b,A]=r==="C"?[C[3],C[4]]:r==="S"?[C[1],C[2]]:[y,p]});const M=l-a,P=m-c;return{width:M,height:P,x:a,y:c,x2:l,y2:m,cx:a+M/2,cy:c+P/2,cz:Math.max(M,P)+Math.min(M,P)/2}},Y=e=>{const t=j(e);let r=0,s=0,n=0,i=0,o=0,a=0,c="M",l=0,m=0,h=0;return Q(t,(f,g,u,y)=>{[c]=f;const p=c.toUpperCase(),A=p!==c?it(f,g,u,y):f.slice(0),x=p==="V"?["L",u,A[1]]:p==="H"?["L",A[1],y]:A;if([c]=x,"TQ".includes(p)||(o=0,a=0),c==="M")[,l,m]=x;else if(c==="L")h+=nt(u,y,x[1],x[2]);else if(c==="A")h+=$t(u,y,x[1],x[2],x[3],x[4],x[5],x[6],x[7]);else if(c==="S"){const d=r*2-n,M=s*2-i;h+=gt(u,y,d,M,x[1],x[2],x[3],x[4])}else c==="C"?h+=gt(u,y,x[1],x[2],x[3],x[4],x[5],x[6]):c==="T"?(o=r*2-o,a=s*2-a,h+=yt(u,y,o,a,x[1],x[2])):c==="Q"?(o=x[1],a=x[2],h+=yt(u,y,x[1],x[2],x[3],x[4])):c==="Z"&&(h+=nt(u,y,l,m));[r,s]=c==="Z"?[l,m]:x.slice(-2),[n,i]=c==="C"?[x[3],x[4]]:c==="S"?[x[1],x[2]]:[r,s]}),h},At=1e-5,ct=e=>{const t=j(e),r={...ot};return Q(t,(s,n,i,o)=>{r.x=i,r.y=o;const a=pt(s,r),c=a.length;return r.x1=+a[c-2],r.y1=+a[c-1],r.x2=+a[c-4]||r.x1,r.y2=+a[c-3]||r.y1,a})},at=(e,t)=>{const r=ct(e);let s=!1,n=[],i="M",o=0,a=0,[c,l]=r[0].slice(1);const m=typeof t=="number";let h={x:c,y:l},f=0,g=h,u=0;return!m||t<At?h:(Q(r,(y,p,b,A)=>{if([i]=y,s=i==="M",n=s?n:[b,A].concat(y.slice(1)),s?([,c,l]=y,h={x:c,y:l},f=0):i==="L"?(h=wt(n[0],n[1],n[2],n[3],t-u),f=nt(n[0],n[1],n[2],n[3])):i==="A"?(h=ee(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],t-u),f=$t(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8])):i==="C"?(h=me(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],t-u),f=gt(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7])):i==="Q"?(h=he(n[0],n[1],n[2],n[3],n[4],n[5],t-u),f=yt(n[0],n[1],n[2],n[3],n[4],n[5])):i==="Z"&&(n=[b,A,c,l],h={x:c,y:l},f=nt(n[0],n[1],n[2],n[3])),[o,a]=n.slice(-2),u<t)g=h;else return!1;u+=f}),t>u-At?{x:o,y:a}:g)},Dt=(e,t)=>{const r=j(e);let s=r.slice(0),n=Y(s),i=s.length-1,o=0,a=0,c=r[0];if(i<=0||!t||!Number.isFinite(t))return{segment:c,index:0,length:a,lengthAtSegment:o};if(t>=n)return s=r.slice(0,-1),o=Y(s),a=n-o,c=r[i],{segment:c,index:i,length:a,lengthAtSegment:o};const l=[];for(;i>0;)c=s[i],s=s.slice(0,-1),o=Y(s),a=n-o,n=o,l.push({segment:c,index:i,length:a,lengthAtSegment:o}),i-=1;return l.find(({lengthAtSegment:m})=>m<=t)},Mt=(e,t)=>{const r=j(e),s=ct(r),n=Y(s),i=d=>{const M=d.x-t.x,P=d.y-t.y;return M*M+P*P};let o=8,a,c={x:0,y:0},l=0,m=0,h=1/0;for(let d=0;d<=n;d+=o)a=at(s,d),l=i(a),l<h&&(c=a,m=d,h=l);o/=2;let f,g,u=0,y=0,p=0,b=0;for(;o>1e-6&&(u=m-o,f=at(s,u),p=i(f),y=m+o,g=at(s,y),b=i(g),u>=0&&p<h?(c=f,m=u,h=p):y<=n&&b<h?(c=g,m=y,h=b):o/=2,!(o<1e-5)););const A=Dt(r,m),x=Math.sqrt(h);return{closest:c,distance:x,segment:A}},Fe=(e,t)=>Mt(e,t).closest,Ge=(e,t,r,s,n,i,o,a)=>3*((a-t)*(r+n)-(o-e)*(s+i)+s*(e-n)-r*(t-i)+a*(n+e/3)-o*(i+t/3))/20,Se=e=>{let t=0,r=0,s=0;return bt(e).map(n=>{switch(n[0]){case"M":return[,t,r]=n,0;default:return s=Ge(t,r,n[1],n[2],n[3],n[4],n[5],n[6]),[t,r]=n.slice(-2),s}}).reduce((n,i)=>n+i,0)},Ue=e=>Se(bt(e))>=0,_e=(e,t)=>Dt(e,t).segment,Je=(e,t)=>Mt(e,t).segment,Ct=e=>Array.isArray(e)&&e.every(t=>{const r=t[0].toLowerCase();return W[r]===t.length-1&&"achlmqstvz".includes(r)&&t.slice(1).every(Number.isFinite)})&&e.length>0,Ne=e=>Ct(e)&&e.every(([t])=>t===t.toUpperCase()),we=e=>Ne(e)&&e.every(([t])=>"ACLMQZ".includes(t)),Ke=e=>we(e)&&e.every(([t])=>"MC".includes(t)),We=(e,t)=>{const{distance:r}=Mt(e,t);return Math.abs(r)<At},Xe=e=>Ct(e)&&e.slice(1).every(([t])=>t===t.toLowerCase()),Le=e=>{if(typeof e!="string"||!e.length)return!1;const t=new Rt(e);for(X(t);t.index<t.max&&!t.err.length;)Et(t);return!t.err.length&&"mM".includes(t.segments[0][0])},lt={line:["x1","y1","x2","y2"],circle:["cx","cy","r"],ellipse:["cx","cy","rx","ry"],rect:["width","height","x","y","rx","ry"],polygon:["points"],polyline:["points"],glyph:["d"]},Te=e=>e!=null&&typeof e=="object"&&e.nodeType===1,Ye=e=>{let{x1:t,y1:r,x2:s,y2:n}=e;return[t,r,s,n]=[t,r,s,n].map(i=>+i),[["M",t,r],["L",s,n]]},tn=e=>{const t=[],r=(e.points||"").trim().split(/[\s|,]/).map(n=>+n);let s=0;for(;s<r.length;)t.push([s?"L":"M",r[s],r[s+1]]),s+=2;return e.type==="polygon"?[...t,["z"]]:t},en=e=>{let{cx:t,cy:r,r:s}=e;return[t,r,s]=[t,r,s].map(n=>+n),[["M",t-s,r],["a",s,s,0,1,0,2*s,0],["a",s,s,0,1,0,-2*s,0]]},nn=e=>{let{cx:t,cy:r}=e,s=e.rx||0,n=e.ry||s;return[t,r,s,n]=[t,r,s,n].map(i=>+i),[["M",t-s,r],["a",s,n,0,1,0,2*s,0],["a",s,n,0,1,0,-2*s,0]]},rn=e=>{const t=+e.x||0,r=+e.y||0,s=+e.width,n=+e.height;let i=+(e.rx||0),o=+(e.ry||i);return i||o?(i*2>s&&(i-=(i*2-s)/2),o*2>n&&(o-=(o*2-n)/2),[["M",t+i,r],["h",s-i*2],["s",i,0,i,o],["v",n-o*2],["s",0,o,-i,o],["h",-s+i*2],["s",-i,0,-i,-o],["v",-n+o*2],["s",0,-o,i,-o]]):[["M",t,r],["h",s],["v",n],["H",t],["Z"]]},ve=e=>{const t=Object.keys(lt),r=Te(e),s=r?e.tagName:null;if(s&&[...t,"path"].every(c=>s!==c))throw TypeError(`${R}: "${s}" is not SVGElement`);const n=r?s:e.type,i=lt[n],o={type:n};r?i.forEach(c=>{o[c]=e.getAttribute(c)}):Object.assign(o,e);let a=[];return n==="circle"?a=en(o):n==="ellipse"?a=nn(o):["polyline","polygon"].includes(n)?a=tn(o):n==="rect"?a=rn(o):n==="line"?a=Ye(o):["glyph","path"].includes(n)&&(a=j(r?e.getAttribute("d")||"":e.d||"")),Ct(a)&&a.length?a:!1},sn=(e,t,r)=>{const s=r||document,n=Object.keys(lt),i=Te(e),o=i?e.tagName:null;if(o==="path")throw TypeError(`${R}: "${o}" is already SVGPathElement`);if(o&&n.every(u=>o!==u))throw TypeError(`${R}: "${o}" is not SVGElement`);const a=s.createElementNS("http://www.w3.org/2000/svg","path"),c=i?o:e.type,l=lt[c],m={type:c},h=F.round,f=ve(e),g=f&&f.length?Zt(f,h):"";return i?(l.forEach(u=>{m[u]=e.getAttribute(u)}),Object.values(e.attributes).forEach(({name:u,value:y})=>{l.includes(u)||a.setAttribute(u,y)})):(Object.assign(m,e),Object.keys(m).forEach(u=>{!l.includes(u)&&u!=="type"&&a.setAttribute(u.replace(/[A-Z]/g,y=>`-${y.toLowerCase()}`),m[u])})),Le(g)?(a.setAttribute("d",g),t&&i&&(e.before(a,e),e.remove()),a):!1},$e=(e,t,r,s)=>{const[n]=e,{round:i}=F,o=typeof i=="number"?i:4,a=t.slice(1),{x1:c,y1:l,x2:m,y2:h,x:f,y:g}=r,[u,y]=a.slice(-2),p=e;if("TQ".includes(n)||(r.qx=null,r.qy=null),n==="L"){if(L(f,o)===L(u,o))return["V",y];if(L(g,o)===L(y,o))return["H",u]}else if(n==="C"){const[b,A]=a;if(r.x1=b,r.y1=A,"CS".includes(s)&&(L(b,o)===L(c*2-m,o)&&L(A,o)===L(l*2-h,o)||L(c,o)===L(m*2-f,o)&&L(l,o)===L(h*2-g,o)))return["S",a[2],a[3],a[4],a[5]]}else if(n==="Q"){const[b,A]=a;if(r.qx=b,r.qy=A,"QT".includes(s)&&L(b,o)===L(c*2-m,o)&&L(A,o)===L(l*2-h,o))return["T",a[2],a[3]]}return p},Pt=(e,t)=>{const r=e.slice(1).map(s=>L(s,t));return[e[0]].concat(r)},qe=(e,t)=>{const r=xt(e),s=typeof t=="number"&&t>=0?t:2,n={...ot},i=[];let o="M",a="Z";return Q(r,(c,l,m,h)=>{n.x=m,n.y=h;const f=pt(c,n);let g=c;if([o]=c,i[l]=o,l){a=i[l-1];const y=$e(c,f,n,a),p=Pt(y,s),b=p.join(""),A=jt(y,l,m,h),x=Pt(A,s),d=x.join("");g=b.length<d.length?p:x}const u=f.length;return n.x1=+f[u-2],n.y1=+f[u-1],n.x2=+f[u-4]||n.x1,n.y2=+f[u-3]||n.y1,g})},St=e=>{const t=xt(e),r=ct(t),s=t.length,n=t[s-1][0]==="Z",i=Q(t,(o,a)=>{const c=r[a],l=a&&t[a-1],m=l&&l[0],h=t[a+1],f=h&&h[0],[g]=o,[u,y]=r[a?a-1:s-1].slice(-2);let p=o;switch(g){case"M":p=n?["Z"]:[g,u,y];break;case"A":p=[g,o[1],o[2],o[3],o[4],o[5]===1?0:1,u,y];break;case"C":h&&f==="S"?p=["S",o[1],o[2],u,y]:p=[g,o[3],o[4],o[1],o[2],u,y];break;case"S":m&&"CS".includes(m)&&(!h||f!=="S")?p=["C",c[3],c[4],c[1],c[2],u,y]:p=[g,c[1],c[2],u,y];break;case"Q":h&&f==="T"?p=["T",u,y]:p=[g,o[1],o[2],u,y];break;case"T":m&&"QT".includes(m)&&(!h||f!=="T")?p=["Q",c[1],c[2],u,y]:p=[g,u,y];break;case"Z":p=["M",u,y];break;case"H":p=[g,u];break;case"V":p=[g,y];break;default:p=[g].concat(o.slice(1,-2),u,y)}return p});return n?i.reverse():[i[0]].concat(i.slice(1).reverse())},ze=e=>{const t=[];let r,s=-1,n=0,i=0,o=0,a=0;const c={...ot};return e.forEach(l=>{const[m]=l,h=m.toUpperCase(),f=m.toLowerCase(),g=m===f,u=l.slice(1);h==="M"?(s+=1,[n,i]=u,n+=g?c.x:0,i+=g?c.y:0,o=n,a=i,r=[g?[h,o,a]:l]):(h==="Z"?(n=o,i=a):h==="H"?([,n]=l,n+=g?c.x:0):h==="V"?([,i]=l,i+=g?c.y:0):([n,i]=l.slice(-2),n+=g?c.x:0,i+=g?c.y:0),r.push(l)),c.x=n,c.y=i,t[s]=r}),t},ke=e=>{let t=new S;const{origin:r}=e,[s,n]=r,{translate:i}=e,{rotate:o}=e,{skew:a}=e,{scale:c}=e;return Array.isArray(i)&&i.length>=2&&i.every(l=>!Number.isNaN(+l))&&i.some(l=>l!==0)?t=t.translate(...i):typeof i=="number"&&!Number.isNaN(i)&&(t=t.translate(i)),(o||a||c)&&(t=t.translate(s,n),Array.isArray(o)&&o.length>=2&&o.every(l=>!Number.isNaN(+l))&&o.some(l=>l!==0)?t=t.rotate(...o):typeof o=="number"&&!Number.isNaN(o)&&(t=t.rotate(o)),Array.isArray(a)&&a.length===2&&a.every(l=>!Number.isNaN(+l))&&a.some(l=>l!==0)?(t=a[0]?t.skewX(a[0]):t,t=a[1]?t.skewY(a[1]):t):typeof a=="number"&&!Number.isNaN(a)&&(t=t.skewX(a)),Array.isArray(c)&&c.length>=2&&c.every(l=>!Number.isNaN(+l))&&c.some(l=>l!==1)?t=t.scale(...c):typeof c=="number"&&!Number.isNaN(c)&&(t=t.scale(c)),t=t.translate(-s,-n)),t},on=(e,t)=>{let r=S.Translate(t[0],t[1],t[2]);return[,,,r.m44]=t,r=e.multiply(r),[r.m41,r.m42,r.m43,r.m44]},Ot=(e,t,r)=>{const[s,n,i]=r,[o,a,c]=on(e,[t[0],t[1],0,1]),l=o-s,m=a-n,h=c-i;return[l*(Math.abs(i)/Math.abs(h)||1)+s,m*(Math.abs(i)/Math.abs(h)||1)+n]},Ie=(e,t)=>{let r=0,s=0,n=0,i=0,o=0,a=0,c="M";const l=j(e),m=t&&Object.keys(t);if(!t||m&&!m.length)return l.slice(0);t.origin||Object.assign(t,{origin:F.origin});const h=t.origin,f=ke(t);return f.isIdentity?l.slice(0):Q(l,(g,u,y,p)=>{[c]=g;const b=c.toUpperCase(),x=b!==c?it(g,u,y,p):g.slice(0);let d=b==="A"?["C"].concat(dt(y,p,x[1],x[2],x[3],x[4],x[5],x[6],x[7])):b==="V"?["L",y,x[1]]:b==="H"?["L",x[1],p]:x;c=d[0];const M=c==="C"&&d.length>7,P=M?d.slice(0,7):d.slice(0);if(M&&(l.splice(u+1,0,["C"].concat(d.slice(7))),d=P),c==="L")[n,i]=Ot(f,[d[1],d[2]],h),r!==n&&s!==i?d=["L",n,i]:s===i?d=["H",n]:r===n&&(d=["V",i]);else for(o=1,a=d.length;o<a;o+=2)[n,i]=Ot(f,[+d[o],+d[o+1]],h),d[o]=n,d[o+1]=i;return r=n,s=i,d})},cn=e=>{const t=e.slice(1).map((r,s,n)=>s?n[s-1].slice(-2).concat(r.slice(1)):e[0].slice(1).concat(r.slice(1))).map(r=>r.map((s,n)=>r[r.length-n-2*(1-n%2)])).reverse();return[["M"].concat(t[0].slice(0,2))].concat(t.map(r=>["C"].concat(r.slice(2))))},an=(e,t)=>{let{round:r}=F;return r=t==="off"||typeof t=="number"&&t>=0?t:typeof r=="number"&&r>=0?r:"off",r==="off"?e.slice(0):Q(e,s=>Pt(s,r))},ln=(e,t=.5)=>{const r=t,s=e.slice(0,2),n=e.slice(2,4),i=e.slice(4,6),o=e.slice(6,8),a=O(s,n,r),c=O(n,i,r),l=O(i,o,r),m=O(a,c,r),h=O(c,l,r),f=O(m,h,r);return[["C",a[0],a[1],m[0],m[1],f[0],f[1]],["C",h[0],h[1],l[0],l[1],o[0],o[1]]]};class mn{constructor(t,r){const s=r||{},n=typeof t>"u";if(n||!t.length)throw TypeError(`${R}: "pathValue" is ${n?"undefined":"empty"}`);this.segments=j(t);const{round:i,origin:o}=s;let a;Number.isInteger(i)||i==="off"?a=i:a=F.round;let c=F.origin;if(Array.isArray(o)&&o.length>=2){const[l,m,h]=o.map(Number);c=[Number.isNaN(l)?0:l,Number.isNaN(m)?0:m,Number.isNaN(h)?0:h]}return this.round=a,this.origin=c,this}get bbox(){return Pe(this.segments)}get length(){return Y(this.segments)}getBBox(){return this.bbox}getTotalLength(){return this.length}getPointAtLength(t){return at(this.segments,t)}toAbsolute(){const{segments:t}=this;return this.segments=xt(t),this}toRelative(){const{segments:t}=this;return this.segments=Ae(t),this}toCurve(){const{segments:t}=this;return this.segments=bt(t),this}reverse(t){const{segments:r}=this,s=ze(r),n=s.length>1?s:!1,i=n?n.map((a,c)=>t?c?St(a):a.slice(0):St(a)):r.slice(0);let o=[];return n?o=i.flat(1):o=t?r:St(r),this.segments=o.slice(0),this}normalize(){const{segments:t}=this;return this.segments=ct(t),this}optimize(){const{segments:t}=this,r=this.round==="off"?2:this.round;return this.segments=qe(t,r),this}transform(t){if(!t||typeof t!="object"||typeof t=="object"&&!["translate","rotate","skew","scale"].some(c=>c in t))return this;const{segments:r,origin:[s,n,i]}=this,o={};for(const[c,l]of Object.entries(t))c==="skew"&&Array.isArray(l)||(c==="rotate"||c==="translate"||c==="origin"||c==="scale")&&Array.isArray(l)?o[c]=l.map(Number):c!=="origin"&&typeof Number(l)=="number"&&(o[c]=Number(l));const{origin:a}=o;if(Array.isArray(a)&&a.length>=2){const[c,l,m]=a.map(Number);o.origin=[Number.isNaN(c)?s:c,Number.isNaN(l)?n:l,m||i]}else o.origin=[s,n,i];return this.segments=Ie(r,o),this}flipX(){const{cx:t,cy:r}=this.bbox;return this.transform({rotate:[0,180,0],origin:[t,r,0]}),this}flipY(){const{cx:t,cy:r}=this.bbox;return this.transform({rotate:[180,0,0],origin:[t,r,0]}),this}toString(){return Zt(this.segments,this.round)}dispose(){Object.keys(this).forEach(t=>delete this[t])}static get options(){return F}static get CSSMatrix(){return S}static get arcTools(){return Ze}static get bezierTools(){return De}static get cubicTools(){return Oe}static get lineTools(){return Qe}static get polygonTools(){return He}static get quadTools(){return Be}static get pathToAbsolute(){return xt}static get pathToRelative(){return Ae}static get pathToCurve(){return bt}static get pathToString(){return Zt}static get distanceSquareRoot(){return ut}static get midPoint(){return O}static get rotateVector(){return st}static get roundTo(){return L}static get parsePathString(){return j}static get finalizeSegment(){return Vt}static get invalidPathValue(){return U}static get isArcCommand(){return pe}static get isDigit(){return G}static get isDigitStart(){return de}static get isMoveCommand(){return be}static get isPathCommand(){return xe}static get isSpace(){return ye}static get paramsCount(){return W}static get paramsParser(){return ot}static get pathParser(){return Rt}static get scanFlag(){return fe}static get scanParam(){return ge}static get scanSegment(){return Et}static get skipSpaces(){return X}static get distanceEpsilon(){return At}static get getClosestPoint(){return Fe}static get getDrawDirection(){return Ue}static get getPathArea(){return Se}static get getPathBBox(){return Pe}static get getPointAtLength(){return at}static get getPropertiesAtLength(){return Dt}static get getPropertiesAtPoint(){return Mt}static get getSegmentAtLength(){return _e}static get getSegmentOfPoint(){return Je}static get getTotalLength(){return Y}static get isAbsoluteArray(){return Ne}static get isCurveArray(){return Ke}static get isNormalizedArray(){return we}static get isPathArray(){return Ct}static get isPointInStroke(){return We}static get isRelativeArray(){return Xe}static get isValidPath(){return Le}static get shapeParams(){return lt}static get shapeToPath(){return sn}static get shapeToPathArray(){return ve}static get absolutizeSegment(){return it}static get arcToCubic(){return dt}static get getSVGMatrix(){return ke}static get iterate(){return Q}static get lineToCubic(){return Qt}static get normalizePath(){return ct}static get normalizeSegment(){return pt}static get optimizePath(){return qe}static get projection2d(){return Ot}static get quadToCubic(){return Me}static get relativizeSegment(){return jt}static get reverseCurve(){return cn}static get reversePath(){return St}static get roundPath(){return an}static get roundSegment(){return Pt}static get segmentToCubic(){return Ce}static get shortenSegment(){return $e}static get splitCubic(){return ln}static get splitPath(){return ze}static get transformPath(){return Ie}}return mn}();
2
- //# sourceMappingURL=svg-path-commander.js.map