@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
2 lines • 283 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.drawing.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.drawing.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.DatavizCore={}),e.kendo._globals.Drawing))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.defineProperty,r=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},i=r({ARC:()=>a,ARIA_ACTIVE_DESCENDANT:()=>d,ARROW_DOWN:()=>s,ARROW_LEFT:()=>c,ARROW_RIGHT:()=>l,ARROW_UP:()=>o,AXIS_LABEL_CLICK:()=>f,BLACK:()=>p,BOTTOM:()=>m,CENTER:()=>h,CIRCLE:()=>g,COORD_PRECISION:()=>_,CROSS:()=>v,DATE:()=>y,DEFAULT_FONT:()=>b,DEFAULT_HEIGHT:()=>x,DEFAULT_PRECISION:()=>S,DEFAULT_SERIES_OPACITY:()=>De,DEFAULT_WIDTH:()=>C,END:()=>ee,ENTER:()=>te,ESCAPE:()=>w,FORMAT_REGEX:()=>ne,HEIGHT:()=>re,HIGHLIGHT_ZINDEX:()=>ie,HORIZONTAL:()=>ke,INHERIT:()=>oe,INSIDE:()=>ae,LEFT:()=>T,MAX_VALUE:()=>se,MIN_VALUE:()=>ce,NONE:()=>le,NOTE_CLICK:()=>ue,NOTE_HOVER:()=>de,NOTE_LEAVE:()=>fe,OBJECT:()=>pe,OUTSIDE:()=>me,POINTER:()=>Oe,RECT:()=>Se,RIGHT:()=>he,ROUNDED_RECT:()=>ge,SQUARE:()=>xe,START:()=>_e,STRING:()=>ve,TAB:()=>u,TOP:()=>ye,TRIANGLE:()=>be,VALUE:()=>Ce,VERTICAL:()=>Ae,WHITE:()=>E,WIDTH:()=>we,X:()=>Te,Y:()=>Ee});let a=`arc`,o=`ArrowUp`,s=`ArrowDown`,c=`ArrowLeft`,l=`ArrowRight`,u=`Tab`,d=`aria-activedescendant`,f=`axisLabelClick`,p=`#000`,m=`bottom`,h=`center`,g=`circle`,_=3,v=`cross`,y=`date`,b=`12px sans-serif`,x=400,S=10,C=600,ee=`end`,te=`Enter`,w=`Escape`,ne=/\{\d+:?/,re=`height`,ie=100,ae=`inside`,oe=`inherit`,T=`left`,se=Number.MAX_VALUE,ce=-Number.MAX_VALUE,le=`none`,ue=`noteClick`,de=`noteHover`,fe=`noteLeave`,pe=`object`,me=`outside`,he=`right`,ge=`roundedRect`,_e=`start`,ve=`string`,ye=`top`,be=`triangle`,xe=`square`,Se=`rect`,Ce=`value`,E=`#fff`,we=`width`,Te=`x`,Ee=`y`,De=1,Oe=`pointer`,ke=`horizontal`,Ae=`vertical`;function je(e){return Array.isArray(e)}function Me(e,t){let n=je(t)?t:[t];for(let t=0;t<n.length;t++){let r=n[t];e.className.indexOf(r)===-1&&(e.className+=` `+r)}}let Ne=/\s+/g;function Pe(e,t){e&&e.className&&(e.className=e.className.replace(t,``).replace(Ne,` `))}var D=class{},Fe=class extends D{constructor(){super(),this._events={}}bind(e,t,n){let r=Le(e),i=Ie(t),a=r.length;if(t===void 0){for(let t in e)this.bind(t,e[t]);return this}for(let e=0;e<a;e++){let a=r[e],o=i?t:t[a];if(o){if(n){let e=o;o=()=>{this.unbind(a,o),e.apply(this,arguments)},o.original=e}(this._events[a]=this._events[a]||[]).push(o)}}return this}one(e,t){return this.bind(e,t,!0)}first(e,t){let n=Le(e),r=Ie(t);for(let e=0,i=n.length;e<i;e++){let i=n[e],a=r?t:t[i];a&&(this._events[i]=this._events[i]||[]).unshift(a)}return this}trigger(e,t={}){let n=this._events[e];if(n){let e=n.length;t.sender=this,t._defaultPrevented=!1,t.preventDefault=Re,t.isDefaultPrevented=ze,n=n.slice();for(let r=0;r<e;r++)n[r].call(this,t);return t._defaultPrevented===!0}return!1}unbind(e,t){let n=this._events[e];if(e===void 0)this._events={};else if(n)if(t)for(let e=n.length-1;e>=0;e--)(n[e]===t||n[e].original===t)&&n.splice(e,1);else this._events[e]=[];return this}};function Ie(e){return typeof e==`function`}function Le(e){return typeof e==`string`?[e]:e}function Re(){this._defaultPrevented=!0}function ze(){return this._defaultPrevented===!0}var Be=Fe;let Ve=e=>{let t=typeof window<`u`?window:{},n=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)};Ve=e=>n.call(t,e),Ve(e)};var He=Ve;let Ue=/&/g,We=/</g,Ge=/"/g,Ke=/'/g,qe=/>/g;function Je(e){return String(e).replace(Ue,`&`).replace(We,`<`).replace(qe,`>`).replace(Ge,`"`).replace(Ke,`'`)}function Ye(e){let t=window.console;t!==void 0&&t.log&&t.log(e)}function Xe(e){let t={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+))/i},n={};for(let r in t)if(t.hasOwnProperty(r)){let i=e.match(t[r]);if(i){n[r]=!0,n[i[1].toLowerCase().split(` `)[0].split(`/`)[0]]=!0,n.version=parseInt(document.documentMode||i[2],10);break}}return n}let Ze=null;var Qe={get browser(){return typeof window>`u`||Ze||(Ze=Xe(window.navigator.userAgent)),Ze}},$e=Date.now||function(){return new Date().getTime()};function et(e,t){let n=0,r;if(!t||t<=0)return e;let i=function(){let i=$e()-n,a=arguments,o=function(){e.apply(null,a),n=$e()};if(!n)return o();r&&clearTimeout(r),i>t?o():r=setTimeout(o,t-i)};return i.cancel=function(){clearTimeout(r)},i}var tt={aliceblue:`f0f8ff`,antiquewhite:`faebd7`,aqua:`00ffff`,aquamarine:`7fffd4`,azure:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`000000`,blanchedalmond:`ffebcd`,blue:`0000ff`,blueviolet:`8a2be2`,brown:`a52a2a`,burlywood:`deb887`,cadetblue:`5f9ea0`,chartreuse:`7fff00`,chocolate:`d2691e`,coral:`ff7f50`,cornflowerblue:`6495ed`,cornsilk:`fff8dc`,crimson:`dc143c`,cyan:`00ffff`,darkblue:`00008b`,darkcyan:`008b8b`,darkgoldenrod:`b8860b`,darkgray:`a9a9a9`,darkgrey:`a9a9a9`,darkgreen:`006400`,darkkhaki:`bdb76b`,darkmagenta:`8b008b`,darkolivegreen:`556b2f`,darkorange:`ff8c00`,darkorchid:`9932cc`,darkred:`8b0000`,darksalmon:`e9967a`,darkseagreen:`8fbc8f`,darkslateblue:`483d8b`,darkslategray:`2f4f4f`,darkslategrey:`2f4f4f`,darkturquoise:`00ced1`,darkviolet:`9400d3`,deeppink:`ff1493`,deepskyblue:`00bfff`,dimgray:`696969`,dimgrey:`696969`,dodgerblue:`1e90ff`,firebrick:`b22222`,floralwhite:`fffaf0`,forestgreen:`228b22`,fuchsia:`ff00ff`,gainsboro:`dcdcdc`,ghostwhite:`f8f8ff`,gold:`ffd700`,goldenrod:`daa520`,gray:`808080`,grey:`808080`,green:`008000`,greenyellow:`adff2f`,honeydew:`f0fff0`,hotpink:`ff69b4`,indianred:`cd5c5c`,indigo:`4b0082`,ivory:`fffff0`,khaki:`f0e68c`,lavender:`e6e6fa`,lavenderblush:`fff0f5`,lawngreen:`7cfc00`,lemonchiffon:`fffacd`,lightblue:`add8e6`,lightcoral:`f08080`,lightcyan:`e0ffff`,lightgoldenrodyellow:`fafad2`,lightgray:`d3d3d3`,lightgrey:`d3d3d3`,lightgreen:`90ee90`,lightpink:`ffb6c1`,lightsalmon:`ffa07a`,lightseagreen:`20b2aa`,lightskyblue:`87cefa`,lightslategray:`778899`,lightslategrey:`778899`,lightsteelblue:`b0c4de`,lightyellow:`ffffe0`,lime:`00ff00`,limegreen:`32cd32`,linen:`faf0e6`,magenta:`ff00ff`,maroon:`800000`,mediumaquamarine:`66cdaa`,mediumblue:`0000cd`,mediumorchid:`ba55d3`,mediumpurple:`9370d8`,mediumseagreen:`3cb371`,mediumslateblue:`7b68ee`,mediumspringgreen:`00fa9a`,mediumturquoise:`48d1cc`,mediumvioletred:`c71585`,midnightblue:`191970`,mintcream:`f5fffa`,mistyrose:`ffe4e1`,moccasin:`ffe4b5`,navajowhite:`ffdead`,navy:`000080`,oldlace:`fdf5e6`,olive:`808000`,olivedrab:`6b8e23`,orange:`ffa500`,orangered:`ff4500`,orchid:`da70d6`,palegoldenrod:`eee8aa`,palegreen:`98fb98`,paleturquoise:`afeeee`,palevioletred:`d87093`,papayawhip:`ffefd5`,peachpuff:`ffdab9`,peru:`cd853f`,pink:`ffc0cb`,plum:`dda0dd`,powderblue:`b0e0e6`,purple:`800080`,red:`ff0000`,rosybrown:`bc8f8f`,royalblue:`4169e1`,saddlebrown:`8b4513`,salmon:`fa8072`,sandybrown:`f4a460`,seagreen:`2e8b57`,seashell:`fff5ee`,sienna:`a0522d`,silver:`c0c0c0`,skyblue:`87ceeb`,slateblue:`6a5acd`,slategray:`708090`,slategrey:`708090`,snow:`fffafa`,springgreen:`00ff7f`,steelblue:`4682b4`,tan:`d2b48c`,teal:`008080`,thistle:`d8bfd8`,tomato:`ff6347`,turquoise:`40e0d0`,violet:`ee82ee`,wheat:`f5deb3`,white:`ffffff`,whitesmoke:`f5f5f5`,yellow:`ffff00`,yellowgreen:`9acd32`};let nt=Qe.browser,rt=e=>{let t=Object.keys(tt);t.push(`transparent`);let n=RegExp(`^(`+t.join(`|`)+`)(\\W|$)`,`i`);return rt=e=>n.exec(e),n.exec(e)};var it=class extends D{constructor(){super()}toHSV(){return this}toRGB(){return this}toHex(e){return this.toBytes().toHex(e)}toBytes(){return this}toCss(e){return`#`+this.toHex(e)}toCssRgba(){let e=this.toBytes();return`rgba(${e.r}, ${e.g}, ${e.b}, ${parseFloat(Number(this.a).toFixed(3))})`}toDisplay(){return nt.msie&&nt.version<9?this.toCss():this.toCssRgba()}equals(e){return e===this||e!=null&&this.toCssRgba()===ft(e).toCssRgba()}diff(e){if(e===null)return NaN;let t=this.toBytes(),n=e.toBytes();return Math.sqrt(((t.r-n.r)*.3)**2+((t.g-n.g)*.59)**2+((t.b-n.b)*.11)**2)}clone(){let e=this.toBytes();return e===this&&(e=new ot(e.r,e.g,e.b,e.a)),e}},at=class extends it{constructor(e,t,n,r){super(),this.r=e,this.g=t,this.b=n,this.a=r}toHSV(){let{r:e,g:t,b:n}=this,r=Math.min(e,t,n),i=Math.max(e,t,n),a=i-r,o=i,s,c;return a===0?new ct(0,0,o,this.a):(i===0?(c=0,s=-1):(c=a/i,s=e===i?(t-n)/a:t===i?2+(n-e)/a:4+(e-t)/a,s*=60,s<0&&(s+=360)),new ct(s,c,o,this.a))}toHSL(){let{r:e,g:t,b:n}=this,r=Math.max(e,t,n),i=Math.min(e,t,n),a,o,s=(r+i)/2;if(r===i)a=o=0;else{let c=r-i;switch(o=s>.5?c/(2-r-i):c/(r+i),r){case e:a=(t-n)/c+(t<n?6:0);break;case t:a=(n-e)/c+2;break;case n:a=(e-t)/c+4;break;default:break}}return new lt(a*60,o*100,s*100,this.a)}toBytes(){return new ot(this.r*255,this.g*255,this.b*255,this.a)}},ot=class extends at{constructor(e,t,n,r){super(Math.round(e),Math.round(t),Math.round(n),r)}toRGB(){return new at(this.r/255,this.g/255,this.b/255,this.a)}toHSV(){return this.toRGB().toHSV()}toHSL(){return this.toRGB().toHSL()}toHex(e){let t=st(this.r,2)+st(this.g,2)+st(this.b,2);return e&&e.alpha&&(t+=st(Math.round(this.a*255),2)),t}toBytes(){return this}};function st(e,t,n=`0`){let r=e.toString(16);for(;t>r.length;)r=n+r;return r}var ct=class extends it{constructor(e,t,n,r){super(),this.h=e,this.s=t,this.v=n,this.a=r}toRGB(){let{h:e,s:t,v:n}=this,r,i,a;if(t===0)r=i=a=n;else{e/=60;let o=Math.floor(e),s=e-o,c=n*(1-t),l=n*(1-t*s),u=n*(1-t*(1-s));switch(o){case 0:r=n,i=u,a=c;break;case 1:r=l,i=n,a=c;break;case 2:r=c,i=n,a=u;break;case 3:r=c,i=l,a=n;break;case 4:r=u,i=c,a=n;break;default:r=n,i=c,a=l;break}}return new at(r,i,a,this.a)}toHSL(){return this.toRGB().toHSL()}toBytes(){return this.toRGB().toBytes()}},lt=class extends it{constructor(e,t,n,r){super(),this.h=e,this.s=t,this.l=n,this.a=r}toRGB(){let e=this.h/360,t=this.s/100,n=this.l/100,r,i,a;if(t===0)r=i=a=n;else{let o=n<.5?n*(1+t):n+t-n*t,s=2*n-o;r=ut(s,o,e+1/3),i=ut(s,o,e),a=ut(s,o,e-1/3)}return new at(r,i,a,this.a)}toHSV(){return this.toRGB().toHSV()}toBytes(){return this.toRGB().toBytes()}};function ut(e,t,n){let r=n;return r<0&&(r+=1),r>1&&--r,r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function dt(e){return parseFloat(parseFloat(parseInt(e,16)/255).toFixed(3))}function ft(e,t){let n,r;if(!e||e===`none`)return null;if(e instanceof it)return e;let i=e.toLowerCase();if(n=rt(i))return i=n[1]===`transparent`?new at(1,1,1,0):ft(tt[n[1]],t),i.match=[n[1]],i;if((n=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(i))?r=new ot(parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),1):(n=/^#?([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(i))?r=new ot(parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),1):(n=/^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(i))?r=new ot(parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),dt(n[4]+n[4])):(n=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(i))?r=new ot(parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),dt(n[4])):(n=/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/.exec(i))?r=new ot(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),1):(n=/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)/.exec(i))?r=new ot(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),parseFloat(n[4])):(n=/^rgb\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*\)/.exec(i))?r=new at(parseFloat(n[1])/100,parseFloat(n[2])/100,parseFloat(n[3])/100,1):(n=/^rgba\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9.]+)\s*\)/.exec(i))?r=new at(parseFloat(n[1])/100,parseFloat(n[2])/100,parseFloat(n[3])/100,parseFloat(n[4])):(n=/^color\(\s*srgb\s*([0-9]*\.?[0-9]+)\s+([0-9]*\.?[0-9]+)\s+([0-9]*\.?[0-9]+)\s*(\/\s+([0-9]*\.?[0-9]+))?\)/.exec(i))&&(r=new at(parseFloat(n[1]),parseFloat(n[2]),parseFloat(n[3]),parseFloat(n[5]||`1`))),r)r.match=n;else if(!t)throw Error(`Cannot parse color: `+i);return r}var pt=class e extends D{constructor(t){if(super(),arguments.length===1){let n=e.formats,r=this.resolveColor(t);for(let e=0;e<n.length;e++){let t=n[e].re,i=n[e].process,a=t.exec(r);if(a){let e=i(a);this.r=e[0],this.g=e[1],this.b=e[2]}}}else this.r=arguments[0],this.g=arguments[1],this.b=arguments[2];this.r=this.normalizeByte(this.r),this.g=this.normalizeByte(this.g),this.b=this.normalizeByte(this.b)}toHex(){let e=this.padDigit,t=this.r.toString(16),n=this.g.toString(16),r=this.b.toString(16);return`#`+e(t)+e(n)+e(r)}resolveColor(t){let n=t||`black`;return n.charAt(0)===`#`&&(n=n.substr(1,6)),n=n.replace(/ /g,``),n=n.toLowerCase(),n=e.namedColors[n]||n,n}normalizeByte(e){return e<0||isNaN(e)?0:e>255?255:e}padDigit(e){return e.length===1?`0`+e:e}brightness(e){let t=Math.round;return this.r=t(this.normalizeByte(this.r*e)),this.g=t(this.normalizeByte(this.g*e)),this.b=t(this.normalizeByte(this.b*e)),this}percBrightness(){return Math.sqrt(.241*this.r*this.r+.691*this.g*this.g+.068*this.b*this.b)}isDark(){return this.percBrightness()<180}static fromBytes(e,t,n,r){return new ot(e,t,n,r??1)}static fromRGB(e,t,n,r){return new at(e,t,n,r??1)}static fromHSV(e,t,n,r){return new ct(e,t,n,r??1)}static fromHSL(e,t,n,r){return new lt(e,t,n,r??1)}};pt.formats=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(e){return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10)]}},{re:/^(\w{2})(\w{2})(\w{2})$/,process:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,process:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}}],pt.namedColors=tt;var mt=pt,ht=class extends D{observers(){return this._observers=this._observers||[],this._observers}addObserver(e){return this._observers?this._observers.push(e):this._observers=[e],this}removeObserver(e){let t=this.observers(),n=t.indexOf(e);return n!==-1&&t.splice(n,1),this}trigger(e,t){let n=this._observers;if(n&&!this._suspended)for(let r=0;r<n.length;r++){let i=n[r];i[e]&&i[e](t)}return this}optionsChange(e={}){e.element=this,this.trigger(`optionsChange`,e)}geometryChange(){this.trigger(`geometryChange`,{element:this})}suspend(){return this._suspended=(this._suspended||0)+1,this}resume(){return this._suspended=Math.max((this._suspended||0)-1,0),this}_observerField(e,t){this[e]&&this[e].removeObserver(this),this[e]=t,t.addObserver(this)}};let gt={}.toString;var _t=class e extends ht{constructor(e,t=``){for(let n in super(),this.prefix=t,e){let t=e[n];t=this._wrap(t,n),this[n]=t}}get(e){let t=e.split(`.`),n=this;for(;t.length&&n;){let e=t.shift();n=n[e]}return n}set(e,t){this.get(e)!==t&&(this._set(e,this._wrap(t,e)),this.optionsChange({field:this.prefix+e,value:t}))}_set(t,n){let r=t.indexOf(`.`)>=0,i=this,a=t;if(r){let t=a.split(`.`),n=this.prefix;for(;t.length>1;){a=t.shift(),n+=a+`.`;let r=i[a];r||(r=new e({},n),r.addObserver(this),i[a]=r),i=r}a=t[0]}i._clear(a),i[a]=n}_clear(e){let t=this[e];t&&t.removeObserver&&t.removeObserver(this)}_wrap(t,n){let r=gt.call(t),i=t;return i!=null&&r===`[object Object]`&&(!(t instanceof e)&&!(t instanceof D)&&(i=new e(i,this.prefix+n+`.`)),i.addObserver(this)),i}};function vt(e){return function(t){return this[e]!==t&&(this[e]=t,this.geometryChange()),this}}function yt(e){return function(){return this[e]}}function bt(e,t){for(let n=0;n<t.length;n++){let r=t[n],i=r.charAt(0).toUpperCase()+r.substring(1,r.length);e[`set`+i]=vt(r),e[`get`+i]=yt(r)}}var xt=(e,t)=>{let n=class extends e{};return bt(n.prototype,t),n};function St(e,t){return e.push.apply(e,t),e}let Ct={1:`i`,10:`x`,100:`c`,2:`ii`,20:`xx`,200:`cc`,3:`iii`,30:`xxx`,300:`ccc`,4:`iv`,40:`xl`,400:`cd`,5:`v`,50:`l`,500:`d`,6:`vi`,60:`lx`,600:`dc`,7:`vii`,70:`lxx`,700:`dcc`,8:`viii`,80:`lxxx`,800:`dccc`,9:`ix`,90:`xc`,900:`cm`,1e3:`m`};function wt(e){let t=[1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],n=``;for(;e>0;)e<t[0]?t.shift():(n+=Ct[t[0]],e-=t[0]);return n}function Tt(){let e,t,n=new Promise((r,i)=>{e=e=>(n._state=`resolved`,r(e),n),t=e=>(n._state=`rejected`,i(e),n)});return n._state=`pending`,n.resolve=e,n.reject=t,n.state=()=>n._state,n}function Et(e){return e!==void 0}let Dt=1;function Ot(){return`kdef`+ Dt++}let kt=Math.PI/180,At=Number.MAX_VALUE,jt=-Number.MAX_VALUE;function Mt(e){return e/kt}let Nt=String.fromCharCode;function Pt(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(55296<=r&&r<=56319){let t=r,i=e.charCodeAt(++n);isNaN(i)||(r=(t-55296)*1024+(i-56320)+65536)}r<128?t+=Nt(r):r<2048?(t+=Nt(192|r>>>6),t+=Nt(128|r&63)):r<65536?(t+=Nt(224|r>>>12),t+=Nt(128|r>>>6&63),t+=Nt(128|r&63)):r<1114111&&(t+=Nt(240|r>>>18),t+=Nt(128|r>>>12&63),t+=Nt(128|r>>>6&63),t+=Nt(128|r&63))}return t}let Ft=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`;function It(e){let t=``,n=0,r=Pt(e);for(;n<r.length;){let e=r.charCodeAt(n++),i=r.charCodeAt(n++),a=r.charCodeAt(n++),o=e>>2,s=(e&3)<<4|i>>4,c=(i&15)<<2|a>>6,l=a&63;isNaN(i)?c=l=64:isNaN(a)&&(l=64),t=t+Ft.charAt(o)+Ft.charAt(s)+Ft.charAt(c)+Ft.charAt(l)}return t}function Lt(e){return(e.x||{}).location===void 0?{x:e.pageX||e.clientX||0,y:e.pageY||e.clientY||0}:{x:e.x.location,y:e.y.location}}function Rt(e={}){return e.touch?e.touch.initialTouch:e.target}function zt(e){return e===``||e===null||e===`none`||e===`transparent`||e===void 0}function O(e){if(e)return e[e.length-1]}function Bt(e,t,n){return Math.max(Math.min(e,n),t)}function Vt(e,t){if(e.length<2)return e.slice();function n(e,n){for(var r=[],i=0,a=0,o=0;i<e.length&&a<n.length;)t(e[i],n[a])<=0?r[o++]=e[i++]:r[o++]=n[a++];return i<e.length&&r.push.apply(r,e.slice(i)),a<n.length&&r.push.apply(r,n.slice(a)),r}return(function e(t){if(t.length<=1)return t;var r=Math.floor(t.length/2),i=t.slice(0,r),a=t.slice(r);return i=e(i),a=e(a),n(i,a)})(e)}function Ht(e){return Promise.all(e)}function Ut(e){return e*kt}function Wt(e){return e?10**e:1}function k(e,t){let n=Wt(t);return Math.round(e*n)/n}function Gt(e,t){return e===void 0?t:e}function Kt(e,t){for(let n in t){let r=n.trim().split(` `);for(let i=0;i<r.length;i++)e.addEventListener(r[i],t[n],!1)}}function qt(e){let t=e.getBoundingClientRect(),n=document.documentElement;return{top:t.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||0),left:t.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}}function Jt(e,t){let n={},r=window.getComputedStyle(e)||{},i=Array.isArray(t)?t:[t];for(let e=0;e<i.length;e++){let t=i[e];n[t]=r[t]}return n}function Yt(e){return isNaN(e)?e:e+`px`}function Xt(e,t){if(t){let{width:n,height:r}=t;n!==void 0&&(e.style.width=Yt(n)),r!==void 0&&(e.style.height=Yt(r))}else{let t=Jt(e,[`width`,`height`]);return{width:parseInt(t.width,10),height:parseInt(t.height,10)}}}function Zt(e,t={}){for(let n in t){let r=n.trim().split(` `);for(let i=0;i<r.length;i++)e.removeEventListener(r[i],t[n],!1)}}function Qt(e){let{paddingLeft:t,paddingTop:n}=Jt(e,[`paddingLeft`,`paddingTop`]);return{top:parseFloat(n),left:parseFloat(t)}}var $t=class e extends D{constructor(e=0,t=0,n=0,r=0,i=0,a=0){super(),this.a=e,this.b=t,this.c=n,this.d=r,this.e=i,this.f=a}multiplyCopy(t){return new e(this.a*t.a+this.c*t.b,this.b*t.a+this.d*t.b,this.a*t.c+this.c*t.d,this.b*t.c+this.d*t.d,this.a*t.e+this.c*t.f+this.e,this.b*t.e+this.d*t.f+this.f)}invert(){let{a:t,b:n,c:r,d:i,e:a,f:o}=this,s=t*i-n*r;return s===0?null:new e(i/s,-n/s,-r/s,t/s,(r*o-i*a)/s,(n*a-t*o)/s)}clone(){return new e(this.a,this.b,this.c,this.d,this.e,this.f)}equals(e){return e?this.a===e.a&&this.b===e.b&&this.c===e.c&&this.d===e.d&&this.e===e.e&&this.f===e.f:!1}round(e){return this.a=k(this.a,e),this.b=k(this.b,e),this.c=k(this.c,e),this.d=k(this.d,e),this.e=k(this.e,e),this.f=k(this.f,e),this}toArray(e){let t=[this.a,this.b,this.c,this.d,this.e,this.f];if(e!==void 0)for(let n=0;n<t.length;n++)t[n]=k(t[n],e);return t}toString(e,t=`,`){return this.toArray(e).join(t)}static translate(t,n){return new e(1,0,0,1,t,n)}static unit(){return new e(1,0,0,1,0,0)}static rotate(t,n,r){let i=new e;return i.a=Math.cos(Ut(t)),i.b=Math.sin(Ut(t)),i.c=-i.b,i.d=i.a,i.e=n-n*i.a+r*i.b||0,i.f=r-r*i.a-n*i.b||0,i}static scale(t,n){return new e(t,0,0,n,0,0)}};$t.IDENTITY=$t.unit();var A=$t;let en=/matrix\((.*)\)/;function tn(e){let t=e.match(en);return t===null||t.length!==2?A.unit():new A(...t[1].split(`,`).map(e=>parseFloat(e)))}function nn(e){let t=getComputedStyle(e).transform;return t===`none`?A.unit():tn(t)}function rn(e){if(!e)return A.unit();let t=nn(e),n=e.parentElement;for(;n;){let e=nn(n);t=t.multiplyCopy(e),n=n.parentElement}return t.b=t.c=t.e=t.f=0,t}var an=class extends D{constructor(e){super(),this._size=e,this._length=0,this._map={}}put(e,t){let n=this._map,r={key:e,value:t};n[e]=r,this._head?(this._tail.newer=r,r.older=this._tail,this._tail=r):this._head=this._tail=r,this._length>=this._size?(n[this._head.key]=null,this._head=this._head.newer,this._head.older=null):this._length++}get(e){let t=this._map[e];if(t)return t===this._head&&t!==this._tail&&(this._head=t.newer,this._head.older=null),t!==this._tail&&(t.older&&(t.older.newer=t.newer,t.newer.older=t.older),t.older=this._tail,t.newer=null,this._tail.newer=t,this._tail=t),t.value}};let on=/\r?\n|\r|\t/g;function sn(e){return String(e).replace(on,` `)}function cn(e){let t=[];for(let n in e)t.push(n+e[n]);return t.sort().join(``)}function ln(e){let t=2166136261;for(let n=0;n<e.length;++n)t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t^=e.charCodeAt(n);return t>>>0}function un(){return{width:0,height:0,baseline:0}}let dn={baselineMarkerSize:1},fn;typeof document<`u`&&(fn=document.createElement(`div`),fn.style.setProperty(`position`,`absolute`,`important`),fn.style.setProperty(`top`,`-4000px`,`important`),fn.style.setProperty(`width`,`auto`,`important`),fn.style.setProperty(`height`,`auto`,`important`),fn.style.setProperty(`padding`,`0`,`important`),fn.style.setProperty(`margin`,`0`,`important`),fn.style.setProperty(`border`,`0`,`important`),fn.style.setProperty(`line-height`,`normal`,`important`),fn.style.setProperty(`visibility`,`hidden`,`important`),fn.style.setProperty(`white-space`,`pre`,`important`));var pn=class extends D{constructor(e){super(),this._cache=new an(1e3),this.options=Object.assign({},dn,e)}measure(e,t,n={}){if(e==null)return un();let r=ln(e+cn(t)),i=this._cache.get(r);if(i)return i;let a=un(),o=n.box||fn,s=this._baselineMarker().cloneNode(!1);for(let e in t){let n=t[e];n!==void 0&&(o.style[e]=n)}let c=n.normalizeText===!1?String(e):sn(e);return o.textContent=c,o.appendChild(s),document.body.appendChild(o),c.length&&(a.width=o.offsetWidth-this.options.baselineMarkerSize,a.height=o.offsetHeight,a.baseline=s.offsetTop+this.options.baselineMarkerSize),a.width>0&&a.height>0&&this._cache.put(r,a),o.parentNode.removeChild(o),a}_baselineMarker(){let e=document.createElement(`div`);return e.style.display=`inline-block`,e.style.verticalAlign=`baseline`,e.style.width=this.options.baselineMarkerSize+`px`,e.style.height=this.options.baselineMarkerSize+`px`,e.style.overflow=`hidden`,e}};pn.current=new pn;var mn=pn;function hn(e,t,n){return mn.current.measure(e,t,n)}let gn=()=>typeof window<`u`,_n={wp:/(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,fire:/(Silk)\/(\d+)\.(\d+(\.\d+)?)/,android:/(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)(\.(\d+(\.\d+)?))?/,iphone:/(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,ipad:/(iPad).*OS\s+(\d+)[\._]([\d_]+)/,meego:/(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,webos:/(webOS)\/(\d+)\.(\d+(\.\d+)?)/,blackberry:/(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,playbook:/(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,windows:/(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,tizen:/(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,sailfish:/(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,ffos:/(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/},vn={ios:/^i(phone|pad|pod)$/i,android:/^android|fire$/i,blackberry:/^blackberry|playbook/i,windows:/windows/,wp:/wp/,flat:/sailfish|ffos|tizen/i,meego:/meego/},yn={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+)|)/i},bn={omini:/Opera\sMini/i,omobile:/Opera\sMobi/i,firefox:/Firefox|Fennec/i,mobilesafari:/version\/.*safari/i,ie:/MSIE|Windows\sPhone/i,chrome:/chrome|crios/i,webkit:/webkit/i},xn=(e,t,n)=>{for(let n in t)if(t.hasOwnProperty(n)&&t[n].test(e))return n;return n===void 0?e:n},Sn=e=>{let t,n=[];for(let r in _n)if(_n.hasOwnProperty(r)){if(n=e.match(_n[r]),!n)continue;if(r===`windows`&&`plugins`in window.navigator)return null;let i={};return i.device=r,i.browser=xn(e,bn,`default`),i.name=xn(r,vn),i[i.name]=!0,i.majorVersion=n[2],i.minorVersion=n[3]?n[3].replace(`_`,`.`):`.0`,t=i.minorVersion.replace(`.`,``).substr(0,2),i.flatVersion=i.majorVersion+t+Array(3-(t.length<3?t.length:2)).join(`0`),i.cordova=!0,i.appMode=window.navigator.standalone||/file|local|wmapp/.test(window.location.protocol)||i.cordova,i}return null},Cn=e=>{let t=null,n=[];for(let r in yn)if(yn.hasOwnProperty(r)&&(n=e.match(yn[r]),n)){t={},t[r]=!0,t[n[1].toLowerCase().split(` `)[0].split(`/`)[0]]=!0,t.version=parseInt(document.documentMode||n[2],10);break}return t},wn=gn()&&window.navigator?window.navigator.userAgent:null,Tn=wn?Cn(wn):null;wn&&Sn(wn),gn()&&`ontouchstart`in window,Tn&&!Tn.chrome&&window.MSPointerEvent,Tn&&!Tn.chrome&&window.PointerEvent;let En={};En.undefined=e=>e;let Dn={};Dn.undefined=e=>e;let On=/\/\*[\s\S]*?\*\//g,kn=/([^\s:;]+?)\s*:\s*((?:(?:url\(\s*(?:(?:[^"')\\]|\\.)*|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')\s*\)|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|[^;"'])*?)\s*)(?=;|$)/gi,An=/"|"|"/gi,jn=/'|'|'/gi;function Mn(e){return e.replace(An,`"`).replace(jn,`'`)}function Nn(e){let t={},n=Mn((e||``).replace(On,``)),r=kn.exec(n),i,a;for(;r!==null;)i=r[1].trim(),a=r[2].trim(),t[i]=a,r=kn.exec(n);return t}let Pn=(e,t)=>{let n=Nn(t);Object.keys(n).forEach(t=>{e.style[t]=n[t]})},Fn=`data-style`,In=e=>(e||``).replace(/\sstyle=/g,` `+Fn+`=`),Ln=e=>{Array.from(e.querySelectorAll(`[`+Fn+`]`)).forEach(e=>{let t=e.getAttribute(Fn);e.removeAttribute(Fn),Pn(e,t)})},Rn=(e,t)=>{e.innerHTML=In(t),Ln(e)},zn=(e,t)=>{let n=document.createElement(`div`);Rn(n,t),n.firstElementChild&&e.insertBefore(n.firstElementChild,e.firstChild)};var Bn=r({DEG_TO_RAD:()=>kt,LRUCache:()=>an,MAX_NUM:()=>At,MIN_NUM:()=>jt,TextMetrics:()=>mn,append:()=>St,arabicToRoman:()=>wt,bindEvents:()=>Kt,createPromise:()=>Tt,defined:()=>Et,definitionId:()=>Ot,deg:()=>Mt,elementOffset:()=>qt,elementPadding:()=>Qt,elementScale:()=>rn,elementSize:()=>Xt,elementStyles:()=>Jt,encodeBase64:()=>It,eventCoordinates:()=>Lt,eventElement:()=>Rt,hashKey:()=>ln,isTransparent:()=>zt,last:()=>O,limitValue:()=>Bt,measureText:()=>hn,mergeSort:()=>Vt,normalizeText:()=>sn,now:()=>$e,objectKey:()=>cn,promiseAll:()=>Ht,rad:()=>Ut,round:()=>k,setInnerHTML:()=>Rn,unbindEvents:()=>Zt,valueOrDefault:()=>Gt});function Vn(e){return e&&typeof e.matrix==`function`?e.matrix():e}var j=class e extends xt(ht,[`x`,`y`]){constructor(e,t){super(),this.x=e||0,this.y=t||0}equals(e){return e&&e.x===this.x&&e.y===this.y}clone(){return new e(this.x,this.y)}rotate(t,n){let r=e.create(n)||e.ZERO;return this.transform(A.rotate(t,r.x,r.y))}translate(e,t){return this.x+=e,this.y+=t,this.geometryChange(),this}translateWith(e){return this.translate(e.x,e.y)}move(e,t){return this.x=this.y=0,this.translate(e,t)}scale(e,t=e){return this.x*=e,this.y*=t,this.geometryChange(),this}scaleCopy(e,t){return this.clone().scale(e,t)}transform(e){let t=Vn(e),{x:n,y:r}=this;return this.x=t.a*n+t.c*r+t.e,this.y=t.b*n+t.d*r+t.f,this.geometryChange(),this}transformCopy(e){let t=this.clone();return e&&t.transform(e),t}distanceTo(e){let t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)}round(e){return this.x=k(this.x,e),this.y=k(this.y,e),this.geometryChange(),this}toArray(e){let t=e!==void 0;return[t?k(this.x,e):this.x,t?k(this.y,e):this.y]}toString(e,t=` `){let{x:n,y:r}=this;return e!==void 0&&(n=k(n,e),r=k(r,e)),n+t+r}static create(t,n){if(t!==void 0)return t instanceof e?t:arguments.length===1&&t.length===2?new e(t[0],t[1]):new e(t,n)}static min(){let t=At,n=At;for(let e=0;e<arguments.length;e++){let r=arguments[e];t=Math.min(r.x,t),n=Math.min(r.y,n)}return new e(t,n)}static max(){let t=jt,n=jt;for(let e=0;e<arguments.length;e++){let r=arguments[e];t=Math.max(r.x,t),n=Math.max(r.y,n)}return new e(t,n)}static minPoint(){return new e(jt,jt)}static maxPoint(){return new e(At,At)}static get ZERO(){return new e(0,0)}},Hn=class e extends xt(ht,[`width`,`height`]){constructor(e,t){super(),this.width=e||0,this.height=t||0}equals(e){return e&&e.width===this.width&&e.height===this.height}clone(){return new e(this.width,this.height)}toArray(e){let t=e!==void 0;return[t?k(this.width,e):this.width,t?k(this.height,e):this.height]}static create(t,n){if(t!==void 0)return t instanceof e?t:arguments.length===1&&t.length===2?new e(t[0],t[1]):new e(t,n)}static get ZERO(){return new e(0,0)}},M=class e extends ht{constructor(e=new j,t=new Hn,n=0){super(),this.setOrigin(e),this.setSize(t),this.setCornerRadius(n)}clone(){return new e(this.origin.clone(),this.size.clone())}equals(e){return e&&e.origin.equals(this.origin)&&e.size.equals(this.size)}setOrigin(e){return this._observerField(`origin`,j.create(e)),this.geometryChange(),this}getOrigin(){return this.origin}setCornerRadius(e){return this.cornerRadius=Array.isArray(e)?e:[e,e],this.geometryChange(),this}getCornerRadius(){return this.cornerRadius}setSize(e){return this._observerField(`size`,Hn.create(e)),this.geometryChange(),this}getSize(){return this.size}width(){return this.size.width}height(){return this.size.height}topLeft(){return this.origin.clone()}bottomRight(){return this.origin.clone().translate(this.width(),this.height())}topRight(){return this.origin.clone().translate(this.width(),0)}bottomLeft(){return this.origin.clone().translate(0,this.height())}center(){return this.origin.clone().translate(this.width()/2,this.height()/2)}bbox(t){let n=this.topLeft().transformCopy(t),r=this.topRight().transformCopy(t),i=this.bottomRight().transformCopy(t),a=this.bottomLeft().transformCopy(t);return e.fromPoints(n,r,i,a)}transformCopy(t){return e.fromPoints(this.topLeft().transform(t),this.bottomRight().transform(t))}expand(e,t=e){return this.size.width+=2*e,this.size.height+=2*t,this.origin.translate(-e,-t),this}expandCopy(e,t){return this.clone().expand(e,t)}containsPoint(e){let t=this.origin,n=this.bottomRight();return!(e.x<t.x||e.y<t.y||n.x<e.x||n.y<e.y)}_isOnPath(e,t){let n=this.expandCopy(t,t),r=this.expandCopy(-t,-t);return n.containsPoint(e)&&!r.containsPoint(e)}static fromPoints(){let t=j.min.apply(null,arguments),n=j.max.apply(null,arguments);return new e(t,new Hn(n.x-t.x,n.y-t.y))}static union(t,n){return e.fromPoints(j.min(t.topLeft(),n.topLeft()),j.max(t.bottomRight(),n.bottomRight()))}static intersect(t,n){let r={left:t.topLeft().x,top:t.topLeft().y,right:t.bottomRight().x,bottom:t.bottomRight().y},i={left:n.topLeft().x,top:n.topLeft().y,right:n.bottomRight().x,bottom:n.bottomRight().y};if(r.left<=i.right&&i.left<=r.right&&r.top<=i.bottom&&i.top<=r.bottom)return e.fromPoints(new j(Math.max(r.left,i.left),Math.max(r.top,i.top)),new j(Math.min(r.right,i.right),Math.min(r.bottom,i.bottom)))}},Un=class e extends ht{constructor(e=A.unit()){super(),this._matrix=e}clone(){return new e(this._matrix.clone())}equals(e){return e&&e._matrix.equals(this._matrix)}translate(e,t){return this._matrix=this._matrix.multiplyCopy(A.translate(e,t)),this._optionsChange(),this}scale(e,t=e,n=null){let r=n;return r&&(r=j.create(r),this._matrix=this._matrix.multiplyCopy(A.translate(r.x,r.y))),this._matrix=this._matrix.multiplyCopy(A.scale(e,t)),r&&(this._matrix=this._matrix.multiplyCopy(A.translate(-r.x,-r.y))),this._optionsChange(),this}rotate(e,t){let n=j.create(t)||j.ZERO;return this._matrix=this._matrix.multiplyCopy(A.rotate(e,n.x,n.y)),this._optionsChange(),this}multiply(e){let t=Vn(e);return this._matrix=this._matrix.multiplyCopy(t),this._optionsChange(),this}matrix(e){return e?(this._matrix=e,this._optionsChange(),this):this._matrix}_optionsChange(){this.optionsChange({field:`transform`,value:this})}};function N(e){return e===null?null:e instanceof Un?e:new Un(e)}let Wn={dot:[1.5,3.5],dash:[4,3.5],longdash:[8,3.5],dashdot:[3.5,3.5,1.5,3.5],longdashdot:[8,3.5,1.5,3.5],longdashdotdot:[8,3.5,1.5,3.5,1.5,3.5]},Gn=`solid`,Kn=`butt`,qn=`Pattern`;var Jn=class extends ht{get nodeType(){return`Rect`}constructor(e){super(),this._initOptions(e)}_initOptions(e={}){let{clip:t,transform:n}=e;n&&(e.transform=N(n)),t&&!t.id&&(t.id=Ot()),this.options=new _t(e),this.options.addObserver(this)}transform(e){if(e!==void 0)this.options.set(`transform`,N(e));else return this.options.get(`transform`)}parentTransform(){let e=this,t;for(;e.parent;){e=e.parent;let n=e.transform();n&&(t=n.matrix().multiplyCopy(t||A.unit()))}if(t)return N(t)}currentTransform(e=this.parentTransform()){let t=Vn(this.transform()),n=Vn(e),r;if(r=t&&n?n.multiplyCopy(t):t||n,r)return N(r)}visible(e){return e===void 0?this.options.get(`visible`)!==!1:(this.options.set(`visible`,e),this)}clip(e){let t=this.options;return e===void 0?t.get(`clip`):(e&&!e.id&&(e.id=Ot()),t.set(`clip`,e),this)}opacity(e){return e===void 0?Gt(this.options.get(`opacity`),1):(this.options.set(`opacity`,e),this)}className(e){return e===void 0?this.options.get(`className`):(this.options.set(`className`,e),this)}clippedBBox(e){let t=this._clippedBBox(e);if(t){let n=this.clip();return n?M.intersect(t,n.bbox(e)):t}}containsPoint(e,t){if(this.visible()){let n=this.currentTransform(t),r=e;return n&&(r=e.transformCopy(n.matrix().invert())),this._hasFill()&&this._containsPoint(r)||this._isOnPath&&this._hasStroke()&&this._isOnPath(r)}return!1}_hasFill(){let e=this.options.fill;return e&&(e.nodeType===qn||!zt(e.color))}_hasStroke(){let e=this.options.stroke;return e&&e.width>0&&!zt(e.color)}_clippedBBox(e){return this.bbox(e)}};function Yn(e,t,n,r){let i=0,a=0;return r&&(i=Math.atan2(r.c*n,r.a*t),r.b!==0&&(a=Math.atan2(r.d*n,r.b*t))),{x:i,y:a}}let Xn=Math.PI/2;var Zn=class e extends xt(ht,[`radius`]){constructor(e=new j,t=0){super(),this.setCenter(e),this.setRadius(t)}setCenter(e){return this._observerField(`center`,j.create(e)),this.geometryChange(),this}getCenter(){return this.center}equals(e){return e&&e.center.equals(this.center)&&e.radius===this.radius}clone(){return new e(this.center.clone(),this.radius)}pointAt(e){return this._pointAt(Ut(e))}bbox(e){let t=Yn(this.center,this.radius,this.radius,e),n=j.maxPoint(),r=j.minPoint();for(let i=0;i<4;i++){let a=this._pointAt(t.x+i*Xn).transformCopy(e),o=this._pointAt(t.y+i*Xn).transformCopy(e),s=new j(a.x,o.y);n=j.min(n,s),r=j.max(r,s)}return M.fromPoints(n,r)}_pointAt(e){let{center:t,radius:n}=this;return new j(t.x+n*Math.cos(e),t.y+n*Math.sin(e))}containsPoint(e){let{center:t,radius:n}=this;return(e.x-t.x)**2+(e.y-t.y)**2<=n**2}_isOnPath(e,t){let{center:n,radius:r}=this,i=n.distanceTo(e);return r-t<=i&&i<=r+t}},Qn=e=>class extends e{fill(e,t){let n=this.options;if(e!==void 0){if(e&&e.nodeType!==`Gradient`){let r={color:e};t!==void 0&&(r.opacity=t),n.set(`fill`,r)}else n.set(`fill`,e);return this}return n.get(`fill`)}stroke(e,t,n){return e===void 0?this.options.get(`stroke`):(this.options.set(`stroke.color`,e),t!==void 0&&this.options.set(`stroke.width`,t),n!==void 0&&this.options.set(`stroke.opacity`,n),this)}};let $n=A.IDENTITY.toString();var er=e=>class extends e{bbox(e){let t=Vn(this.currentTransform(e)),n=t?t.toString():$n,r;this._bboxCache&&this._matrixHash===n?r=this._bboxCache.clone():(r=this._bbox(t),this._bboxCache=r?r.clone():null,this._matrixHash=n);let i=this.options.get(`stroke.width`);return i&&r&&r.expand(i/2),r}geometryChange(){delete this._bboxCache,this.trigger(`geometryChange`,{element:this})}};function tr(e){let t=`_`+e;return function(e){return e===void 0?this[t]:(this._observerField(t,e),this.geometryChange(),this)}}function nr(e,t){for(let n=0;n<t.length;n++)e[t[n]]=tr(t[n])}var rr=(e,t=[`geometry`])=>{let n=class extends e{};return nr(n.prototype,t),n},ir=class extends Qn(er(rr(Jn))){get nodeType(){return`Circle`}constructor(e=new Zn,t={}){super(t),this.geometry(e),this.options.stroke===void 0&&this.stroke(`#000`)}rawBBox(){return this._geometry.bbox()}_bbox(e){return this._geometry.bbox(e)}_containsPoint(e){return this.geometry().containsPoint(e)}_isOnPath(e){return this.geometry()._isOnPath(e,this.options.stroke.width/2)}};function ar(e,t,n=10){return k(Math.abs(e-t),n)===0}function or(e,t,n){return e<t||ar(e,t,n)}function sr(e,t,n,r){let i=t.x-e.x,a=r.x-n.x,o=t.y-e.y,s=r.y-n.y,c=e.x-n.x,l=e.y-n.y,u=i*s-a*o,d=(i*l-o*c)/u,f=(a*l-s*c)/u;if(d>=0&&d<=1&&f>=0&&f<=1)return new j(e.x+f*i,e.y+f*o)}let cr=Math.pow,lr=[`radiusX`,`radiusY`,`startAngle`,`endAngle`,`anticlockwise`];var ur=class e extends xt(ht,lr){constructor(e=new j,t={}){super(),this.setCenter(e),this.radiusX=t.radiusX,this.radiusY=t.radiusY||t.radiusX,this.startAngle=t.startAngle,this.endAngle=t.endAngle,this.anticlockwise=t.anticlockwise||!1,this.xRotation=t.xRotation}clone(){return new e(this.center,{radiusX:this.radiusX,radiusY:this.radiusY,startAngle:this.startAngle,endAngle:this.endAngle,anticlockwise:this.anticlockwise})}setCenter(e){return this._observerField(`center`,j.create(e)),this.geometryChange(),this}getCenter(){return this.center}pointAt(e){let t=this.center,n=Ut(e);return new j(t.x+this.radiusX*Math.cos(n),t.y+this.radiusY*Math.sin(n))}curvePoints(){let e=this.startAngle,t=this.anticlockwise?-1:1,n=[this.pointAt(e)],r=this._arcInterval(),i=r.endAngle-r.startAngle,a=Math.ceil(i/45),o=i/a,s=e,c;this.xRotation&&(c=N().rotate(this.xRotation,this.center));for(let e=1;e<=a;e++){let e=s+t*o,r=this._intervalCurvePoints(s,e,c);n.push(r.cp1,r.cp2,r.p2),s=e}return n}bbox(e){let t=this._arcInterval(),n=t.startAngle,r=t.endAngle,i=Yn(this.center,this.radiusX,this.radiusY,e),a=Mt(i.x),o=Mt(i.y),s=this.pointAt(r).transformCopy(e),c=pr(a,n),l=pr(o,n),u=this.pointAt(n).transformCopy(e),d=j.min(u,s),f=j.max(u,s);for(;c<r||l<r;){let t;c<r&&(t=this.pointAt(c).transformCopy(e),c+=90);let n;l<r&&(n=this.pointAt(l).transformCopy(e),l+=90),u=new j(t.x,n.y),d=j.min(d,u),f=j.max(f,u)}return M.fromPoints(d,f)}_arcInterval(){let{startAngle:e,endAngle:t,anticlockwise:n}=this;if(n){let n=e;e=t,t=n}return(e>t||n&&e===t)&&(t+=360),{startAngle:e,endAngle:t}}_intervalCurvePoints(e,t,n){let r=this.pointAt(e),i=this.pointAt(t),a=this._derivativeAt(e),o=this._derivativeAt(t),s=(Ut(t)-Ut(e))/3,c=new j(r.x+s*a.x,r.y+s*a.y),l=new j(i.x-s*o.x,i.y-s*o.y);return n&&(r.transform(n),i.transform(n),c.transform(n),l.transform(n)),{p1:r,cp1:c,cp2:l,p2:i}}_derivativeAt(e){let t=Ut(e);return new j(-this.radiusX*Math.sin(t),this.radiusY*Math.cos(t))}containsPoint(e){let t=this._arcInterval(),n=t.endAngle-t.startAngle,{center:r,radiusX:i,radiusY:a}=this,o=r.distanceTo(e),s=Math.atan2(e.y-r.y,e.x-r.x),c=i*a/Math.sqrt(cr(i,2)*cr(Math.sin(s),2)+cr(a,2)*cr(Math.cos(s),2)),l=this.pointAt(this.startAngle).round(10),u=this.pointAt(this.endAngle).round(10),d=sr(r,e.round(10),l,u),f;if(n<180)f=d&&or(r.distanceTo(d),o)&&or(o,c);else{let n=dr(r.x,r.y,i,a,e.x,e.y);n!==360&&(n=(360+n)%360);let s=t.startAngle<=n&&n<=t.endAngle;f=s&&or(o,c)||!s&&(!d||d.equals(e))}return f}_isOnPath(e,t){let n=this._arcInterval(),r=this.center,i=dr(r.x,r.y,this.radiusX,this.radiusY,e.x,e.y);return i!==360&&(i=(360+i)%360),n.startAngle<=i&&i<=n.endAngle&&this.pointAt(i).distanceTo(e)<=t}static fromPoints(t,n,r,i,a,o,s){let c=fr({x1:t.x,y1:t.y,x2:n.x,y2:n.y,rx:r,ry:i,largeArc:a,swipe:o,rotation:s});return new e(c.center,{startAngle:c.startAngle,endAngle:c.endAngle,radiusX:c.radiusX,radiusY:c.radiusY,xRotation:c.xRotation,anticlockwise:o===0})}};function dr(e,t,n,r,i,a){let o=k((i-e)/n,3),s=k((a-t)/r,3);return k(Mt(Math.atan2(s,o)))}function fr(e){let{x1:t,y1:n,x2:r,y2:i,rx:a,ry:o,largeArc:s,swipe:c,rotation:l=0}=e,u=Ut(l),d=Math.cos(u),f=Math.sin(u),p=d*(t-r)/2+f*(n-i)/2,m=-f*(t-r)/2+d*(n-i)/2,h=s===c?-1:1,g=p**2,_=m**2,v=a**2,y=o**2,b=g/v+_/y;b>1&&(b=Math.sqrt(g/v+_/y),a=b*a,v=a**2,o=b*o,y=o**2);let x=h*Math.sqrt((v*y-v*_-y*g)/(v*_+y*g));isNaN(x)&&(x=0);let S=a*m*x/o,C=-x*(o*p)/a,ee=d*S-f*C+(t+r)/2,te=f*S+d*C+(n+i)/2,w=(p-S)/a,ne=(m-C)/o,re=-(p+S)/a,ie=-(m+C)/o,ae=(ne>=0?1:-1)*Mt(Math.acos(w/Math.sqrt(w*w+ne*ne))),oe=k((w*re+ne*ie)/(Math.sqrt(w*w+ne*ne)*Math.sqrt(re*re+ie*ie)),10),T=(w*ie-ne*re>=0?1:-1)*Mt(Math.acos(oe));!c&&T>0&&(T-=360),c&&T<0&&(T+=360);let se=ae+T,ce=se>=0?1:-1;return se=Math.abs(se)%360*ce,{center:new j(ee,te),startAngle:ae,endAngle:se,radiusX:a,radiusY:o,xRotation:l}}function pr(e,t){let n=e;for(;n<t;)n+=90;return n}var mr=ur;let hr=[].splice,gr=[].slice;var _r=class extends ht{constructor(e=[]){super(),this.length=0,this._splice(0,e.length,e)}elements(e){return e?(this._splice(0,this.length,e),this._change(),this):this.slice(0)}push(...e){let t=this.length,n=e.length;for(let r=0;r<n;r++)this[t+r]=e[r],e[r].addObserver(this);return this.length=t+n,this._change(),this.length}slice(){return gr.call(this)}pop(){if(this.length>0){let e=this[this.length-1];return this.length--,e.removeObserver(this),this._change(),e}}splice(e,t,...n){let r=this._splice(e,t,n);return this._change(),r}shift(){if(this.length>0){let e=this[0];for(let e=1;e<this.length;e++)this[e-1]=this[e];return this.length--,e.removeObserver(this),this._change(),e}}unshift(...e){let t=e.length;for(let e=this.length-1;e>=0;e--)this[e+t]=this[e];for(let n=0;n<t;n++)this[n]=e[n],e[n].addObserver(this);return this.length+=t,this._change(),this.length}indexOf(e){let t=this.length;for(let n=0;n<t;n++)if(this[n]===e)return n;return-1}_splice(e,t,n){let r=hr.apply(this,[e,t].concat(n));return this._clearObserver(r),this._setObserver(n),r}_add(e){this._setObserver(e),this._change()}_remove(e){this._clearObserver(e),this._change()}_setObserver(e){for(let t=0;t<e.length;t++)e[t].addObserver(this)}_clearObserver(e){for(let t=0;t<e.length;t++)e[t].removeObserver(this)}_change(){}},vr=class extends _r{_change(){this.geometryChange()}};function yr(e,t,n){let r=Mt(Math.atan2(t.y-e.y,t.x-e.x));return n.transformCopy(N().rotate(-r,e)).x<e.x}function br(e,t,n){let r=1-e;return r**3*n[0][t]+3*r**2*e*n[1][t]+3*e**2*r*n[2][t]+e**3*n[3][t]}function xr(e,t){return[-e[0][t]+3*e[1][t]-3*e[2][t]+e[3][t],3*(e[0][t]-2*e[1][t]+e[2][t]),3*(-e[0][t]+e[1][t]),e[0][t]]}var Sr=class e extends D{constructor(e=0,t=0){super(),this.real=e,this.img=t}add(t){return new e(k(this.real+t.real,10),k(this.img+t.img,10))}addConstant(t){return new e(this.real+t,this.img)}negate(){return new e(-this.real,-this.img)}multiply(t){return new e(this.real*t.real-this.img*t.img,this.real*t.img+this.img*t.real)}multiplyConstant(t){return new e(this.real*t,this.img*t)}nthRoot(t){let n=Math.atan2(this.img,this.real),r=Math.sqrt(this.img**2+this.real**2)**(1/t);return new e(r*Math.cos(n/t),r*Math.sin(n/t))}equals(e){return this.real===e.real&&this.img===e.img}isReal(){return this.img===0}};function Cr(e){return e<0?-1:1}function wr(e,t,n){let r=Math.sqrt(t**2-4*e*n);return[(-t+r)/(2*e),(-t-r)/(2*e)]}function Tr(e,t,n,r){if(e===0)return wr(t,n,r);let i=(3*e*n-t**2)/(3*e**2),a=(2*t**3-9*e*t*n+27*e**2*r)/(27*e**3),o=(i/3)**3+(a/2)**2,s=new Sr(0,1),c=-t/(3*e),l,u,d,f,p,m,h;o<0?(l=new Sr(-a/2,Math.sqrt(-o)).nthRoot(3),u=new Sr(-a/2,-Math.sqrt(-o)).nthRoot(3)):(l=-a/2+Math.sqrt(o),l=new Sr(Cr(l)*Math.abs(l)**(1/3)),u=-a/2-Math.sqrt(o),u=new Sr(Cr(u)*Math.abs(u)**(1/3))),d=l.add(u),m=l.add(u).multiplyConstant(-1/2),h=l.add(u.negate()).multiplyConstant(Math.sqrt(3)/2),f=m.add(s.multiply(h)),p=m.add(s.negate().multiply(h));let g=[];return d.isReal()&&g.push(k(d.real+c,10)),f.isReal()&&g.push(k(f.real+c,10)),p.isReal()&&g.push(k(p.real+c,10)),g}function Er(e,t,n,r,i){let a=xr(e,r),o=Tr(a[0],a[1],a[2],a[3]-t[r]),s;for(let r=0;r<o.length;r++)if(0<=o[r]&&o[r]<=1&&(s=br(o[r],n,e),Math.abs(s-t[n])<=i))return!0}function Dr(e,t,n){let r=xr(e,`x`),i=Tr(r[0],r[1],r[2],r[3]-t.x),a,o,s=0;for(let r=0;r<i.length;r++)a=br(i[r],`y`,e),o=ar(a,t.y)||a>t.y,o&&((i[r]===0||i[r]===1)&&n.bottomRight().x>t.x||0<i[r]&&i[r]<1)&&s++;return s}function Or(e,t,n){let r;if(e.x!==t.x){let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y),c=i<=n.x&&n.x<a;r=o===s?n.y<=o&&c:c&&(s-o)*((e.x-t.x)*(e.y-t.y)>0?n.x-i:a-n.x)/(a-i)+o-n.y>=0}return r?1:0}function kr(e){let t=`_`+e;return function(e){return e===void 0?this[t]:(this._observerField(t,j.create(e)),this.geometryChange(),this)}}function Ar(e,t){for(let n=0;n<t.length;n++)e[t[n]]=kr(t[n])}var jr=(e,t)=>{let n=class extends e{};return Ar(n.prototype,t),n};let Mr=[`anchor`,`controlIn`,`controlOut`];var Nr=class extends jr(ht,Mr){constructor(e,t,n){super(),this.anchor(e||new j),this.controlIn(t),this.controlOut(n)}bboxTo(e,t){let n=this.anchor().transformCopy(t),r=e.anchor().transformCopy(t),i;return i=this.controlOut()&&e.controlIn()?this._curveBoundingBox(n,this.controlOut().transformCopy(t),e.controlIn().transformCopy(t),r):this._lineBoundingBox(n,r),i}_lineBoundingBox(e,t){return M.fromPoints(e,t)}_curveBoundingBox(e,t,n,r){let i=[e,t,n,r],a=this._curveExtremesFor(i,`x`),o=this._curveExtremesFor(i,`y`),s=Pr([a.min,a.max,e.x,r.x]),c=Pr([o.min,o.max,e.y,r.y]);return M.fromPoints(new j(s.min,c.min),new j(s.max,c.max))}_curveExtremesFor(e,t){let n=this._curveExtremes(e[0][t],e[1][t],e[2][t],e[3][t]);return{min:br(n.min,t,e),max:br(n.max,t,e)}}_curveExtremes(e,t,n,r){let i=e-3*t+3*n-r,a=-2*(e-2*t+n),o=e-t,s=Math.sqrt(a*a-4*i*o),c=0,l=1;i===0?a!==0&&(c=l=-o/a):isNaN(s)||(c=(-a+s)/(2*i),l=(-a-s)/(2*i));let u=Math.max(Math.min(c,l),0);(u<0||u>1)&&(u=0);let d=Math.min(Math.max(c,l),1);return(d>1||d<0)&&(d=1),{min:u,max:d}}_intersectionsTo(e,t){let n;return n=this.controlOut()&&e.controlIn()?Dr([this.anchor(),this.controlOut(),e.controlIn(),e.anchor()],t,this.bboxTo(e)):Or(this.anchor(),e.anchor(),t),n}_isOnCurveTo(e,t,n,r){if(this.bboxTo(e).expand(n,n).containsPoint(t)){let i=this.anchor(),a=this.controlOut(),o=e.controlIn(),s=e.anchor();if(r===`start`&&i.distanceTo(t)<=n)return!yr(i,a,t);if(r===`end`&&s.distanceTo(t)<=n)return!yr(s,o,t);let c=[i,a,o,s];if(Er(c,t,`x`,`y`,n)||Er(c,t,`y`,`x`,n))return!0;let l=N().rotate(45,t),u=[i.transformCopy(l),a.transformCopy(l),o.transformCopy(l),s.transformCopy(l)];return Er(u,t,`x`,`y`,n)||Er(u,t,`y`,`x`,n)}}_isOnLineTo(e,t,n){let r=this.anchor(),i=e.anchor(),a=Mt(Math.atan2(i.y-r.y,i.x-r.x));return new M([r.x,r.y-n/2],[r.distanceTo(i),n]).containsPoint(t.transformCopy(N().rotate(-a,r)))}_isOnPathTo(e,t,n,r){let i;return i=this.controlOut()&&e.controlIn()?this._isOnCurveTo(e,t,n/2,r):this._isOnLineTo(e,t,n),i}};function Pr(e){let t=e.length,n=At,r=jt;for(let i=0;i<t;i++)r=Math.max(r,e[i]),n=Math.min(n,e[i]);return{min:n,max:r}}var Fr=Nr;let Ir=.333;function Lr(e,t){let n=e.slice(0),r=[],i=n.length;if(i>2&&(Rr(0,n),i=n.length),i<2||i===2&&n[0].equals(n[1]))return r;let a=n[0],o=n[1],s=n[2];for(r.push(new Fr(a));a.equals(n[i-1]);)t=!0,n.pop(),i--;if(i===2){let e=Wr(a,o,`x`,`y`);return O(r).controlOut(Kr(e,a,o,`x`,`y`)),r.push(new Fr(o,qr(e,a,o,`x`,`y`))),r}let c,l;if(t){a=n[i-1],o=n[0],s=n[1];let e=Hr(a,o,s);c=e[1],l=e[0]}else c=Kr(Wr(a,o,`x`,`y`),a,o,`x`,`y`);let u=c;for(let e=0;e<=i-3;e++)if(Rr(e,n),i=n.length,e+3<=i){a=n[e],o=n[e+1],s=n[e+2];let t=Hr(a,o,s);O(r).controlOut(u),u=t[1];let i=t[0];r.push(new Fr(o,i))}if(t){a=n[i-2],o=n[i-1],s=n[0];let e=Hr(a,o,s);O(r).controlOut(u),r.push(new Fr(o,e[0])),O(r).controlOut(e[1]),r.push(new Fr(s,l))}else{let e=Wr(o,s,`x`,`y`);O(r).controlOut(u),r.push(new Fr(s,qr(e,o,s,`x`,`y`)))}return r}function Rr(e,t){for(;t[e+1]&&(t[e].equals(t[e+1])||t[e+1].equals(t[e+2]));)t.splice(e+1,1)}function zr(e,t,n){let r=!1;if(e.x===t.x)r=!0;else if(t.x===n.x)(t.y<n.y&&e.y<=t.y||n.y<t.y&&t.y<=e.y)&&(r=!0);else{let i=Yr(Vr(e,t),n.x);!(e.y<=t.y&&n.y<=i)&&!(t.y<=e.y&&n.y>=i)&&(r=!0)}return r}function Br(e,t,n){let r=Yr(Vr(e,t),n.x);return e.x===t.x&&t.x===n.x||k(r,1)===k(n.y,1)}function Vr(e,t){let n=(t.y-e.y)/(t.x-e.x);return[e.y-n*e.x,n]}function Hr(e,t,n){let r=`x`,i=`y`,a=!1,o=!1,s;if(Br(e,t,n))s=Wr(e,t,`x`,`y`);else{let c={x:Gr(e,t,n,`x`),y:Gr(e,t,n,`y`)};if(c.x&&c.y)s=Wr(e,n,`x`,`y`),a=!0;else if(zr(e,t,n)&&(r=`y`,i=`x`),c[r])s=0;else{let a;a=n[i]<e[i]&&e[i]<=t[i]||e[i]<n[i]&&t[i]<=e[i]?Xr((n[i]-e[i])*(t[r]-e[r])):-Xr((n[r]-e[r])*(t[i]-e[i])),s=.01*a,o=!0}}let c=qr(s,e,t,r,i);if(o){let e=r;r=i,i=e}let l=Kr(s,t,n,r,i);return a&&(Ur(e,t,c,s),Ur(t,n,l,s)),[c,l]}function Ur(e,t,n,r){e.y<t.y?t.y<n.y?(n.x=e.x+(t.y-e.y)/r,n.y=t.y):n.y<e.y&&(n.x=t.x-(t.y-e.y)/r,n.y=e.y):n.y<t.y?(n.x=e.x-(e.y-t.y)/r,n.y=t.y):e.y<n.y&&(n.x=t.x+(e.y-t.y)/r,n.y=e.y)}function Wr(e,t,n,r){let i=t[n]-e[n],a=t[r]-e[r],o;return o=i===0?0:a/i,o}function Gr(e,t,n,r){return n[r]>t[r]&&t[r]>e[r]||n[r]<t[r]&&t[r]<e[r]}function Kr(e,t,n,r,i){let a=t[r],o=(n[r]-a)*Ir;return Jr(a+o,t[i]+o*e,r,i)}function qr(e,t,n,r,i){let a=t[r],o=n[r],s=(o-a)*Ir;return Jr(o-s,n[i]-s*e,r,i)}function Jr(e,t,n,r){let i=new j;return i[n]=e,i[r]=t,i}function Yr(e,t){let n=e.length,r=0;for(let i=0;i<n;i++)r+=t**+i*e[i];return r}function Xr(e){return e<=0?-1:1}let Zr={l:function(e,t){let{parameters:n,position:r}=t;for(let i=0;i<n.length;i+=2){let a=new j(n[i],n[i+1]);t.isRelative&&a.translateWith(r),e.lineTo(a.x,a.y),r.x=a.x,r.y=a.y}},c:function(e,t){let{parameters:n,position:r}=t;for(let i=0;i<n.length;i+=6){let a=new j(n[i],n[i+1]),o=new j(n[i+2],n[i+3]),s=new j(n[i+4],n[i+5]);t.isRelative&&(o.translateWith(r),a.translateWith(r),s.translateWith(r)),e.curveTo(a,o,s),r.x=s.x,r.y=s.y}},v:function(e,t){let n=t.isRelative?0:t.position.x;Qr(t.parameters,!0,n),this.l(e,t)},h:function(e,t){let n=t.isRelative?0:t.position.y;Qr(t.parameters,!