teechart.js 4.0.5 → 5.0.0-beta.1

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.
Files changed (274) hide show
  1. package/3D-COMPATIBILITY.md +45 -0
  2. package/README.md +463 -27
  3. package/dist/chunks/chart-p639xVyw.js +16 -0
  4. package/dist/chunks/chart-p639xVyw.js.map +1 -0
  5. package/dist/chunks/palette-series-DfyYptK1.js +16 -0
  6. package/dist/chunks/palette-series-DfyYptK1.js.map +1 -0
  7. package/dist/chunks/series-DeozLXIv.js +16 -0
  8. package/dist/chunks/series-DeozLXIv.js.map +1 -0
  9. package/dist/teechart.3d.esm.js +27 -0
  10. package/dist/teechart.3d.esm.js.map +1 -0
  11. package/dist/teechart.auto.esm.js +16 -0
  12. package/dist/teechart.auto.esm.js.map +1 -0
  13. package/dist/teechart.core.esm.js +16 -0
  14. package/dist/teechart.core.esm.js.map +1 -0
  15. package/dist/teechart.esm.js +3 -3
  16. package/dist/teechart.esm.js.map +1 -1
  17. package/dist/teechart.js +14 -3
  18. package/dist/teechart.js.map +1 -1
  19. package/dist/teechart.maps.esm.js +16 -0
  20. package/dist/teechart.maps.esm.js.map +1 -0
  21. package/dist/types/accessibility.d.ts +29 -0
  22. package/dist/types/accessibility.d.ts.map +1 -0
  23. package/dist/types/auto.d.ts +4 -0
  24. package/dist/types/auto.d.ts.map +1 -0
  25. package/dist/types/chart-options.d.ts +826 -0
  26. package/dist/types/chart-options.d.ts.map +1 -0
  27. package/dist/types/chart.d.ts +252 -0
  28. package/dist/types/chart.d.ts.map +1 -0
  29. package/dist/types/checkbox.d.ts +12 -0
  30. package/dist/types/checkbox.d.ts.map +1 -0
  31. package/dist/types/core/elements/axes.d.ts +17 -0
  32. package/dist/types/core/elements/axes.d.ts.map +1 -0
  33. package/dist/types/core/elements/axis-grid.d.ts +20 -0
  34. package/dist/types/core/elements/axis-grid.d.ts.map +1 -0
  35. package/dist/types/core/elements/axis-labels.d.ts +54 -0
  36. package/dist/types/core/elements/axis-labels.d.ts.map +1 -0
  37. package/dist/types/core/elements/axis-ticks.d.ts +19 -0
  38. package/dist/types/core/elements/axis-ticks.d.ts.map +1 -0
  39. package/dist/types/core/elements/axis-title.d.ts +16 -0
  40. package/dist/types/core/elements/axis-title.d.ts.map +1 -0
  41. package/dist/types/core/elements/axis.d.ts +125 -0
  42. package/dist/types/core/elements/axis.d.ts.map +1 -0
  43. package/dist/types/core/elements/chart-image.d.ts +13 -0
  44. package/dist/types/core/elements/chart-image.d.ts.map +1 -0
  45. package/dist/types/core/elements/font.d.ts +28 -0
  46. package/dist/types/core/elements/font.d.ts.map +1 -0
  47. package/dist/types/core/elements/format.d.ts +125 -0
  48. package/dist/types/core/elements/format.d.ts.map +1 -0
  49. package/dist/types/core/elements/gradient.d.ts +23 -0
  50. package/dist/types/core/elements/gradient.d.ts.map +1 -0
  51. package/dist/types/core/elements/legend-symbol.d.ts +49 -0
  52. package/dist/types/core/elements/legend-symbol.d.ts.map +1 -0
  53. package/dist/types/core/elements/legend.d.ts +131 -0
  54. package/dist/types/core/elements/legend.d.ts.map +1 -0
  55. package/dist/types/core/elements/margins.d.ts +9 -0
  56. package/dist/types/core/elements/margins.d.ts.map +1 -0
  57. package/dist/types/core/elements/panel.d.ts +13 -0
  58. package/dist/types/core/elements/panel.d.ts.map +1 -0
  59. package/dist/types/core/elements/scroll.d.ts +14 -0
  60. package/dist/types/core/elements/scroll.d.ts.map +1 -0
  61. package/dist/types/core/elements/shadow.d.ts +14 -0
  62. package/dist/types/core/elements/shadow.d.ts.map +1 -0
  63. package/dist/types/core/elements/stroke.d.ts +19 -0
  64. package/dist/types/core/elements/stroke.d.ts.map +1 -0
  65. package/dist/types/core/elements/wall.d.ts +13 -0
  66. package/dist/types/core/elements/wall.d.ts.map +1 -0
  67. package/dist/types/core/elements/zoom.d.ts +33 -0
  68. package/dist/types/core/elements/zoom.d.ts.map +1 -0
  69. package/dist/types/core/primitives.d.ts +33 -0
  70. package/dist/types/core/primitives.d.ts.map +1 -0
  71. package/dist/types/core.d.ts +96 -0
  72. package/dist/types/core.d.ts.map +1 -0
  73. package/dist/types/data/data-engine.d.ts +245 -0
  74. package/dist/types/data/data-engine.d.ts.map +1 -0
  75. package/dist/types/date.format.d.ts +5 -0
  76. package/dist/types/date.format.d.ts.map +1 -0
  77. package/dist/types/declarative-tools.d.ts +6 -0
  78. package/dist/types/declarative-tools.d.ts.map +1 -0
  79. package/dist/types/do-http-request.d.ts +2 -0
  80. package/dist/types/do-http-request.d.ts.map +1 -0
  81. package/dist/types/dom-tip.d.ts +41 -0
  82. package/dist/types/dom-tip.d.ts.map +1 -0
  83. package/dist/types/events.d.ts +82 -0
  84. package/dist/types/events.d.ts.map +1 -0
  85. package/dist/types/extras.d.ts +18 -0
  86. package/dist/types/extras.d.ts.map +1 -0
  87. package/dist/types/index.d.ts +5 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/interaction.d.ts +67 -0
  90. package/dist/types/interaction.d.ts.map +1 -0
  91. package/dist/types/map-series-definition.d.ts +5 -0
  92. package/dist/types/map-series-definition.d.ts.map +1 -0
  93. package/dist/types/maps/africa-map.d.ts +10 -0
  94. package/dist/types/maps/africa-map.d.ts.map +1 -0
  95. package/dist/types/maps/asia-map.d.ts +10 -0
  96. package/dist/types/maps/asia-map.d.ts.map +1 -0
  97. package/dist/types/maps/australia-map.d.ts +10 -0
  98. package/dist/types/maps/australia-map.d.ts.map +1 -0
  99. package/dist/types/maps/europe-map.d.ts +10 -0
  100. package/dist/types/maps/europe-map.d.ts.map +1 -0
  101. package/dist/types/maps/europe27-map.d.ts +10 -0
  102. package/dist/types/maps/europe27-map.d.ts.map +1 -0
  103. package/dist/types/maps/layout-map.d.ts +51 -0
  104. package/dist/types/maps/layout-map.d.ts.map +1 -0
  105. package/dist/types/maps/map-types.d.ts +19 -0
  106. package/dist/types/maps/map-types.d.ts.map +1 -0
  107. package/dist/types/maps/south-america-map.d.ts +10 -0
  108. package/dist/types/maps/south-america-map.d.ts.map +1 -0
  109. package/dist/types/maps/spain-map.d.ts +11 -0
  110. package/dist/types/maps/spain-map.d.ts.map +1 -0
  111. package/dist/types/maps/svg-map.d.ts +37 -0
  112. package/dist/types/maps/svg-map.d.ts.map +1 -0
  113. package/dist/types/maps/usa-map.d.ts +12 -0
  114. package/dist/types/maps/usa-map.d.ts.map +1 -0
  115. package/dist/types/maps/world-map.d.ts +14 -0
  116. package/dist/types/maps/world-map.d.ts.map +1 -0
  117. package/dist/types/maps.d.ts +15 -0
  118. package/dist/types/maps.d.ts.map +1 -0
  119. package/dist/types/marks-animation.d.ts +16 -0
  120. package/dist/types/marks-animation.d.ts.map +1 -0
  121. package/dist/types/modern-theme.d.ts +14 -0
  122. package/dist/types/modern-theme.d.ts.map +1 -0
  123. package/dist/types/optional-options.d.ts +6 -0
  124. package/dist/types/optional-options.d.ts.map +1 -0
  125. package/dist/types/palette.d.ts +11 -0
  126. package/dist/types/palette.d.ts.map +1 -0
  127. package/dist/types/platform.d.ts +27 -0
  128. package/dist/types/platform.d.ts.map +1 -0
  129. package/dist/types/plugin.d.ts +80 -0
  130. package/dist/types/plugin.d.ts.map +1 -0
  131. package/dist/types/quadrants-plugin.d.ts +45 -0
  132. package/dist/types/quadrants-plugin.d.ts.map +1 -0
  133. package/dist/types/register-all.d.ts +3 -0
  134. package/dist/types/register-all.d.ts.map +1 -0
  135. package/dist/types/rendering/canvas-graphics.d.ts +65 -0
  136. package/dist/types/rendering/canvas-graphics.d.ts.map +1 -0
  137. package/dist/types/rendering/graphics.d.ts +59 -0
  138. package/dist/types/rendering/graphics.d.ts.map +1 -0
  139. package/dist/types/rendering/renderer.d.ts +58 -0
  140. package/dist/types/rendering/renderer.d.ts.map +1 -0
  141. package/dist/types/rendering/three-graphics.d.ts +22 -0
  142. package/dist/types/rendering/three-graphics.d.ts.map +1 -0
  143. package/dist/types/responsive.d.ts +8 -0
  144. package/dist/types/responsive.d.ts.map +1 -0
  145. package/dist/types/series/activity-gauge.d.ts +18 -0
  146. package/dist/types/series/activity-gauge.d.ts.map +1 -0
  147. package/dist/types/series/arc-gauge.d.ts +74 -0
  148. package/dist/types/series/arc-gauge.d.ts.map +1 -0
  149. package/dist/types/series/area.d.ts +24 -0
  150. package/dist/types/series/area.d.ts.map +1 -0
  151. package/dist/types/series/bar.d.ts +17 -0
  152. package/dist/types/series/bar.d.ts.map +1 -0
  153. package/dist/types/series/box-plot.d.ts +140 -0
  154. package/dist/types/series/box-plot.d.ts.map +1 -0
  155. package/dist/types/series/bubble.d.ts +25 -0
  156. package/dist/types/series/bubble.d.ts.map +1 -0
  157. package/dist/types/series/bullet.d.ts +86 -0
  158. package/dist/types/series/bullet.d.ts.map +1 -0
  159. package/dist/types/series/candle.d.ts +27 -0
  160. package/dist/types/series/candle.d.ts.map +1 -0
  161. package/dist/types/series/circular-gauge.d.ts +100 -0
  162. package/dist/types/series/circular-gauge.d.ts.map +1 -0
  163. package/dist/types/series/color-series.d.ts +59 -0
  164. package/dist/types/series/color-series.d.ts.map +1 -0
  165. package/dist/types/series/composed-series.d.ts +76 -0
  166. package/dist/types/series/composed-series.d.ts.map +1 -0
  167. package/dist/types/series/custom-bar.d.ts +63 -0
  168. package/dist/types/series/custom-bar.d.ts.map +1 -0
  169. package/dist/types/series/custom-series.d.ts +74 -0
  170. package/dist/types/series/custom-series.d.ts.map +1 -0
  171. package/dist/types/series/donut.d.ts +17 -0
  172. package/dist/types/series/donut.d.ts.map +1 -0
  173. package/dist/types/series/gantt.d.ts +47 -0
  174. package/dist/types/series/gantt.d.ts.map +1 -0
  175. package/dist/types/series/high-low-bar.d.ts +24 -0
  176. package/dist/types/series/high-low-bar.d.ts.map +1 -0
  177. package/dist/types/series/histogram.d.ts +36 -0
  178. package/dist/types/series/histogram.d.ts.map +1 -0
  179. package/dist/types/series/horiz-area.d.ts +11 -0
  180. package/dist/types/series/horiz-area.d.ts.map +1 -0
  181. package/dist/types/series/horiz-bar.d.ts +23 -0
  182. package/dist/types/series/horiz-bar.d.ts.map +1 -0
  183. package/dist/types/series/line.d.ts +22 -0
  184. package/dist/types/series/line.d.ts.map +1 -0
  185. package/dist/types/series/linear-gauge.d.ts +73 -0
  186. package/dist/types/series/linear-gauge.d.ts.map +1 -0
  187. package/dist/types/series/map-series.d.ts +82 -0
  188. package/dist/types/series/map-series.d.ts.map +1 -0
  189. package/dist/types/series/numeric-gauge.d.ts +96 -0
  190. package/dist/types/series/numeric-gauge.d.ts.map +1 -0
  191. package/dist/types/series/palette-series.d.ts +39 -0
  192. package/dist/types/series/palette-series.d.ts.map +1 -0
  193. package/dist/types/series/pie.d.ts +81 -0
  194. package/dist/types/series/pie.d.ts.map +1 -0
  195. package/dist/types/series/point-xy.d.ts +13 -0
  196. package/dist/types/series/point-xy.d.ts.map +1 -0
  197. package/dist/types/series/polar.d.ts +37 -0
  198. package/dist/types/series/polar.d.ts.map +1 -0
  199. package/dist/types/series/sankey.d.ts +90 -0
  200. package/dist/types/series/sankey.d.ts.map +1 -0
  201. package/dist/types/series/series-list.d.ts +127 -0
  202. package/dist/types/series/series-list.d.ts.map +1 -0
  203. package/dist/types/series/series-list.types.d.ts +43 -0
  204. package/dist/types/series/series-list.types.d.ts.map +1 -0
  205. package/dist/types/series/sliced.d.ts +13 -0
  206. package/dist/types/series/sliced.d.ts.map +1 -0
  207. package/dist/types/series/surface.d.ts +24 -0
  208. package/dist/types/series/surface.d.ts.map +1 -0
  209. package/dist/types/series/treemap.d.ts +107 -0
  210. package/dist/types/series/treemap.d.ts.map +1 -0
  211. package/dist/types/series/violin.d.ts +105 -0
  212. package/dist/types/series/violin.d.ts.map +1 -0
  213. package/dist/types/series/volume.d.ts +11 -0
  214. package/dist/types/series/volume.d.ts.map +1 -0
  215. package/dist/types/series-definitions.d.ts +30 -0
  216. package/dist/types/series-definitions.d.ts.map +1 -0
  217. package/dist/types/series-registry.d.ts +37 -0
  218. package/dist/types/series-registry.d.ts.map +1 -0
  219. package/dist/types/series-utils.d.ts +29 -0
  220. package/dist/types/series-utils.d.ts.map +1 -0
  221. package/dist/types/series.d.ts +342 -0
  222. package/dist/types/series.d.ts.map +1 -0
  223. package/dist/types/slider.d.ts +49 -0
  224. package/dist/types/slider.d.ts.map +1 -0
  225. package/dist/types/spline.d.ts +2 -0
  226. package/dist/types/spline.d.ts.map +1 -0
  227. package/dist/types/table/chart-table.d.ts +27 -0
  228. package/dist/types/table/chart-table.d.ts.map +1 -0
  229. package/dist/types/teechart-3d.d.ts +4 -0
  230. package/dist/types/teechart-3d.d.ts.map +1 -0
  231. package/dist/types/theme.d.ts +41 -0
  232. package/dist/types/theme.d.ts.map +1 -0
  233. package/dist/types/three/chart-3d.d.ts +77 -0
  234. package/dist/types/three/chart-3d.d.ts.map +1 -0
  235. package/dist/types/three/chart-options-3d.d.ts +5 -0
  236. package/dist/types/three/chart-options-3d.d.ts.map +1 -0
  237. package/dist/types/three/teechart-3d.d.ts +25 -0
  238. package/dist/types/three/teechart-3d.d.ts.map +1 -0
  239. package/dist/types/three-context.d.ts +184 -0
  240. package/dist/types/three-context.d.ts.map +1 -0
  241. package/dist/types/three-context.types.d.ts +177 -0
  242. package/dist/types/three-context.types.d.ts.map +1 -0
  243. package/dist/types/three-parametric-geometry.d.ts +7 -0
  244. package/dist/types/three-parametric-geometry.d.ts.map +1 -0
  245. package/dist/types/three.d.ts +6 -0
  246. package/dist/types/three.d.ts.map +1 -0
  247. package/dist/types/tools/animate-hover.d.ts +13 -0
  248. package/dist/types/tools/animate-hover.d.ts.map +1 -0
  249. package/dist/types/tools/annotation.d.ts +169 -0
  250. package/dist/types/tools/annotation.d.ts.map +1 -0
  251. package/dist/types/tools/base-animation.d.ts +83 -0
  252. package/dist/types/tools/base-animation.d.ts.map +1 -0
  253. package/dist/types/tools/cursor-tool.d.ts +51 -0
  254. package/dist/types/tools/cursor-tool.d.ts.map +1 -0
  255. package/dist/types/tools/drag-tool.d.ts +28 -0
  256. package/dist/types/tools/drag-tool.d.ts.map +1 -0
  257. package/dist/types/tools/index.d.ts +8 -0
  258. package/dist/types/tools/index.d.ts.map +1 -0
  259. package/dist/types/tools/tool.d.ts +27 -0
  260. package/dist/types/tools/tool.d.ts.map +1 -0
  261. package/dist/types/tools/tools.d.ts +33 -0
  262. package/dist/types/tools/tools.d.ts.map +1 -0
  263. package/dist/types/utils.d.ts +23 -0
  264. package/dist/types/utils.d.ts.map +1 -0
  265. package/dist/types/worker.d.ts +92 -0
  266. package/dist/types/worker.d.ts.map +1 -0
  267. package/package.json +73 -26
  268. package/dist/Tween.js +0 -13
  269. package/dist/date.format.js +0 -145
  270. package/dist/excanvas/canvas.text.js +0 -489
  271. package/dist/excanvas/excanvas.compiled.js +0 -35
  272. package/dist/excanvas/excanvas.js +0 -924
  273. package/dist/excanvas/excanvas_text.js +0 -1416
  274. package/dist/three.js +0 -990
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @preserve TeeChart(tm) for JavaScript(tm) * @fileOverview TeeChart for JavaScript(tm)
3
+ * v5.0.0-beta.1 Jun 2026
4
+ * Copyright(c) 2012-2026 by Steema Software SL. All Rights Reserved.
5
+ * https://www.steema.com
6
+ *
7
+ * Licensed with commercial and non-commercial attributes,
8
+ * specifically: https://www.steema.com/licensing/html5
9
+ *
10
+ * JavaScript is a trademark of Oracle Corporation.
11
+ * @author <a href="mailto:david@steema.com">Steema Software</a>
12
+ * @version 5.0.0-beta.1
13
+ */
14
+
15
+ import{S as t,R as e}from"./series-DeozLXIv.js";class s extends t{rgb=[];numcolors=0;_min=0;_range=0;constructor(t,s){super(t,s),this.palette.colors=e()}prepareColors(){const t=this.palette.colors;this.numcolors=t.length,this.rgb=new Array(this.numcolors);for(let e=0;e<this.numcolors;e++){const s=t[e].trim();if(7===s.length)this.rgb[e]={r:parseInt(s.substr(1,2),16),g:parseInt(s.substr(3,2),16),b:parseInt(s.substr(5,2),16),a:0};else if("rgb("===s.substr(0,4)){const t=s.slice(4,s.length-1).split(",");this.rgb[e]={r:t[0],g:t[1],b:t[2],a:t[3]||0}}}}getColor(t){const e=(this.numcolors-1)*((t-this._min)/this._range)|0;return this.rgb[this.palette.inverted?this.numcolors-1-e:e]}legendCount(){return this.palette.colors?this.palette.colors.length:0}legendColor(t){const e=this.palette,s=e.colors;let r=e.inverted;if(this.chart.legend.inverted&&(r=!r),e.grayScale){let e=255*t/s.length|0;return r&&(e=255-e),`rgb(${e},${e},${e})`}return s?s[r?t:this.legendCount()-t-1]:this.format.fill}legendText(t){return t=-1+this.legendCount()-t,(this._min+t*this._range/(this.palette.colors.length-1)).toFixed(this.decimals)}}export{s as P};
16
+ //# sourceMappingURL=palette-series-DfyYptK1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-series-DfyYptK1.js","sources":["../../../../src/series/palette-series.ts"],"sourcesContent":["import { RainbowPalette } from \"../palette.js\"\nimport { Series } from \"../series.js\"\nimport type { SeriesInput, SeriesLabels } from \"../series.js\"\n\n/**\n * @constructor\n * @augments Series\n * @class Calculates each point color using point values and the palette colors array.\n */\nexport class PaletteSeries extends Series {\n\t// rgb() colors keep the text of their components, hex colors hold numbers.\n\trgb: Array<{ r: number | string; g: number | string; b: number | string; a: number | string }> = []\n\tnumcolors = 0\n\t_min = 0\n\t_range = 0\n\n\tconstructor(o?: SeriesInput | null, o2?: SeriesLabels | null) {\n\t\tsuper(o, o2)\n\n\t\tthis.palette.colors = RainbowPalette()\n\t}\n\n\tprepareColors(): void {\n\t\tconst colors = this.palette.colors\n\n\t\tthis.numcolors = colors.length\n\t\tthis.rgb = new Array(this.numcolors)\n\n\t\tfor (let c = 0; c < this.numcolors; c++) {\n\t\t\tconst color = colors[c].trim()\n\n\t\t\tif (color.length === 7)\n\t\t\t\t// #RRGGBB\n\t\t\t\tthis.rgb[c] = {\n\t\t\t\t\tr: parseInt(color.substr(1, 2), 16),\n\t\t\t\t\tg: parseInt(color.substr(3, 2), 16),\n\t\t\t\t\tb: parseInt(color.substr(5, 2), 16),\n\t\t\t\t\ta: 0\n\t\t\t\t}\n\t\t\telse if (color.substr(0, 4) === \"rgb(\") {\n\t\t\t\tconst tmp = color.slice(4, color.length - 1).split(\",\")\n\t\t\t\tthis.rgb[c] = { r: tmp[0], g: tmp[1], b: tmp[2], a: tmp[3] || 0 }\n\t\t\t}\n\t\t}\n\t}\n\n\tgetColor(value: number) {\n\t\tconst colorIndex = ((this.numcolors - 1) * ((value - this._min) / this._range)) | 0\n\t\treturn this.rgb[this.palette.inverted ? this.numcolors - 1 - colorIndex : colorIndex]\n\t}\n\n\t/**\n\t * @returns {Number} Returns the number of items to show at legend.\n\t */\n\tlegendCount(): number {\n\t\treturn this.palette.colors ? this.palette.colors.length : 0\n\t}\n\n\t/**\n\t * @returns {String} Returns the color of index'th legend symbol.\n\t */\n\tlegendColor(index: number): string {\n\t\tconst palette = this.palette\n\t\tconst colors = palette.colors\n\t\tlet inverted = palette.inverted\n\n\t\tif (this.chart.legend.inverted) inverted = !inverted\n\n\t\tif (palette.grayScale) {\n\t\t\tlet grayscaleValue = ((index * 255) / colors.length) | 0\n\t\t\tif (inverted) grayscaleValue = 255 - grayscaleValue\n\t\t\treturn `rgb(${grayscaleValue},${grayscaleValue},${grayscaleValue})`\n\t\t} else return colors ? colors[inverted ? index : this.legendCount() - index - 1] : this.format.fill\n\t}\n\n\t/**\n\t * @returns {String} Returns the palette value of index'th legend symbol.\n\t */\n\tlegendText(index: number /*,style,title,asArray*/): string {\n\t\tindex = -1 + this.legendCount() - index\n\t\treturn (this._min + (index * this._range) / (this.palette.colors.length - 1)).toFixed(this.decimals)\n\t}\n}\n"],"names":["PaletteSeries","Series","rgb","numcolors","_min","_range","constructor","o","o2","super","this","palette","colors","RainbowPalette","prepareColors","length","Array","c","color","trim","r","parseInt","substr","g","b","a","tmp","slice","split","getColor","value","colorIndex","inverted","legendCount","legendColor","index","chart","legend","grayScale","grayscaleValue","format","fill","legendText","toFixed","decimals"],"mappings":";;;;;;;;;;;;;;gDASM,MAAOA,UAAsBC,EAElCC,IAAiG,GACjGC,UAAY,EACZC,KAAO,EACPC,OAAS,EAET,WAAAC,CAAYC,EAAwBC,GACnCC,MAAMF,EAAGC,GAETE,KAAKC,QAAQC,OAASC,GACvB,CAEA,aAAAC,GACC,MAAMF,EAASF,KAAKC,QAAQC,OAE5BF,KAAKP,UAAYS,EAAOG,OACxBL,KAAKR,IAAM,IAAIc,MAAMN,KAAKP,WAE1B,IAAK,IAAIc,EAAI,EAAGA,EAAIP,KAAKP,UAAWc,IAAK,CACxC,MAAMC,EAAQN,EAAOK,GAAGE,OAExB,GAAqB,IAAjBD,EAAMH,OAETL,KAAKR,IAAIe,GAAK,CACbG,EAAGC,SAASH,EAAMI,OAAO,EAAG,GAAI,IAChCC,EAAGF,SAASH,EAAMI,OAAO,EAAG,GAAI,IAChCE,EAAGH,SAASH,EAAMI,OAAO,EAAG,GAAI,IAChCG,EAAG,QAEA,GAA2B,SAAvBP,EAAMI,OAAO,EAAG,GAAe,CACvC,MAAMI,EAAMR,EAAMS,MAAM,EAAGT,EAAMH,OAAS,GAAGa,MAAM,KACnDlB,KAAKR,IAAIe,GAAK,CAAEG,EAAGM,EAAI,GAAIH,EAAGG,EAAI,GAAIF,EAAGE,EAAI,GAAID,EAAGC,EAAI,IAAM,EAC/D,CACD,CACD,CAEA,QAAAG,CAASC,GACR,MAAMC,GAAerB,KAAKP,UAAY,KAAO2B,EAAQpB,KAAKN,MAAQM,KAAKL,QAAW,EAClF,OAAOK,KAAKR,IAAIQ,KAAKC,QAAQqB,SAAWtB,KAAKP,UAAY,EAAI4B,EAAaA,EAC3E,CAKA,WAAAE,GACC,OAAOvB,KAAKC,QAAQC,OAASF,KAAKC,QAAQC,OAAOG,OAAS,CAC3D,CAKA,WAAAmB,CAAYC,GACX,MAAMxB,EAAUD,KAAKC,QACfC,EAASD,EAAQC,OACvB,IAAIoB,EAAWrB,EAAQqB,SAIvB,GAFItB,KAAK0B,MAAMC,OAAOL,WAAUA,GAAYA,GAExCrB,EAAQ2B,UAAW,CACtB,IAAIC,EAA2B,IAARJ,EAAevB,EAAOG,OAAU,EAEvD,OADIiB,IAAUO,EAAiB,IAAMA,GAC9B,OAAOA,KAAkBA,KAAkBA,IACnD,CAAO,OAAO3B,EAASA,EAAOoB,EAAWG,EAAQzB,KAAKuB,cAAgBE,EAAQ,GAAKzB,KAAK8B,OAAOC,IAChG,CAKA,UAAAC,CAAWP,GAEV,OADAA,GAAQ,EAAKzB,KAAKuB,cAAgBE,GAC1BzB,KAAKN,KAAQ+B,EAAQzB,KAAKL,QAAWK,KAAKC,QAAQC,OAAOG,OAAS,IAAI4B,QAAQjC,KAAKkC,SAC5F"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @preserve TeeChart(tm) for JavaScript(tm) * @fileOverview TeeChart for JavaScript(tm)
3
+ * v5.0.0-beta.1 Jun 2026
4
+ * Copyright(c) 2012-2026 by Steema Software SL. All Rights Reserved.
5
+ * https://www.steema.com
6
+ *
7
+ * Licensed with commercial and non-commercial attributes,
8
+ * specifically: https://www.steema.com/licensing/html5
9
+ *
10
+ * JavaScript is a trademark of Oracle Corporation.
11
+ * @author <a href="mailto:david@steema.com">Steema Software</a>
12
+ * @version 5.0.0-beta.1
13
+ */
14
+
15
+ function t(t,i){t.values=[],t.labels=[];const e=i.split("\n");for(let i=0;i<e.length;i++){const s=e[i].split(",");let a=!1;for(const t of s){const i=parseFloat(t);if(!Number.isNaN(i)){a=!0;break}}if(!a){t.values[i]=0;continue}let r=parseFloat(1===s.length||2===s.length?s[0]:s[1]);Number.isNaN(r)&&(r=0),s.length>1&&(t.labels[i]=s[s.length-1]),t.values[i]=r}}function i(t){return Array.isArray(t)}function e(t){return t instanceof Date?t.getTime():Number(t)}function s(t){let i=-Number.MAX_VALUE;for(let s=0;s<t.length;s++){const a=e(t[s]);if(!(a>=i))return!1;i=a}return!0}function a(t,i,a,r){if(t.length!==i||0===i||Number.isNaN(a)||Number.isNaN(r))return null;if(!s(t))return null;const n=Math.min(a,r),h=Math.max(a,r),o=(s,a)=>{let r=0,n=i;for(;r<n;){const i=r+n>>>1,h=e(t[i]);(a?h>s:h>=s)?n=i:r=i+1}return r};return[Math.max(0,o(n,!1)-1),Math.min(i,o(h,!0)+1)]}function r(t){const e=i(t);let s=-Number.MAX_VALUE;for(let i=0;i<t.length;i++){const a=t[i];if(e&&null===a)continue;const r=a instanceof Date?a.getTime():a;s<r&&(s=r)}return s}function n(t){const e=i(t);let s=Number.MAX_VALUE;for(let i=0;i<t.length;i++){const a=t[i];if(e&&null===a)continue;const r=a instanceof Date?a.getTime():a;s>r&&(s=r)}return s}function h(t){const i=t.pointer;return i&&"object"==typeof i&&"format"in i?i:void 0}function o(t,i){const e=(t.length-1)*i,s=Math.floor(e),a=Math.ceil(e);return t[s]+(t[a]-t[s])*(e-s)}class l{x;y;constructor(t=0,i=0){this.x=t,this.y=i}}class c{x;y;width;height;automatic;constructor(t=0,i=0,e=0,s=0){this.x=t,this.y=i,this.width=e,this.height=s}set(t,i,e,s){this.x=t,this.y=i,this.width=e,this.height=s}setFrom(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height}getRight(){return this.x+this.width}getBottom(){return this.y+this.height}setTop(t){this.height-=t-this.y,this.y=t}setBottom(t){this.height=t-this.y}setLeft(t){this.width-=t-this.x,this.x=t}setRight(t){this.width=t-this.x}contains(t){return t.x>=this.x&&t.x<=this.getRight()&&t.y>=this.y&&t.y<=this.getBottom()}offset(t,i){this.x+=t,this.y+=i}}function d(t,i,e,s){let a,r;if(e.x===i.x&&e.y===i.y)a=t.x-i.x,r=t.y-i.y;else{a=e.x-i.x,r=e.y-i.y;const s=((t.x-i.x)*a+(t.y-i.y)*r)/(a*a+r*r);s<0?(a=t.x-i.x,r=t.y-i.y):s>1?(a=t.x-e.x,r=t.y-e.y):(a=t.x-(i.x+s*a),r=t.y-(i.y+s*r))}return t.x===i.x&&t.y===i.y||t.x===e.x&&t.y===e.y||Math.sqrt(a*a+r*r)<=s+1}function u(t,i,e,s,a,r=[10,5]){t.save();const n=s-i,h=a-e,o=Math.sqrt(n*n+h*h);t.translate(i,e),t.moveTo(0,0),t.rotate(Math.atan2(h,n));let l=0,c=!0,d=0;for(;d<o;)d+=r[l++%r.length],d>o&&(d=o),c?t.lineTo(d,0):t.moveTo(d,0),c=!c;t.restore()}function m(t){if(t._doubleTapCleanup)return;let i=0;const e=e=>{if(t.destroyed)return;const s=Date.now(),a=s-i;a<600&&a>100&&(t.zoom.reset(),t.draw()),i=s,e.preventDefault()};t.canvas.addEventListener("touchend",e),t._doubleTapCleanup=()=>{t.canvas.removeEventListener("touchend",e),t._doubleTapCleanup=null},t._eventCleanups?.push(t._doubleTapCleanup)}function f(t){return 0|t}function x(t){return t*(Math.PI/180)}function g(t,i){return`rgba( ${t[0]}, ${t[1]}, ${t[2]}, ${i} )`}function p(t){return t.textContent||t.innerText}function b(){return globalThis.window}function y(){return globalThis.document}function w(){return globalThis.navigator||b()?.navigator}function v(t){return globalThis[t]||b()?.[t]}function _(){return v("XMLHttpRequest")}function T(){return v("DOMParser")}function M(){return v("ActiveXObject")}function S(t){const i=globalThis.HTMLCanvasElement;return void 0!==i&&t instanceof i}function C(t){const i=globalThis.HTMLTableElement;return void 0!==i&&t instanceof i}function k(t){const i=b(),e=globalThis.requestAnimationFrame||i?.requestAnimationFrame;return e?e.call(i,t):setTimeout(t,0)}function A(t){const i=b(),e=globalThis.cancelAnimationFrame||i?.cancelAnimationFrame;e?e.call(i,t):clearTimeout(t)}class z{chart;url="";repeat="no-repeat";backFill=!1;visible=!0;image=null;constructor(t){this.chart=t}tryDraw(t,i,e,s,a){if(!this.image){const t=v("Image");if(!t)throw new Error("Image is not supported by this browser.");this.image=new t,this.image.onload=()=>this.chart.draw()}const r=this.image,n=a||this.chart.graphics;if(n)if(""!==r.src){if("repeat"===this.repeat){const a=n.createPattern(r,"repeat");return void(a&&(n.fillStyle=a,n.fillRect(t,i,e,s)))}n.drawImage(r,t,i,e,s)}else r.src=this.url}}class P{chart;visible=!1;colors=["white","silver"];direction="topbottom";stops=null;offset={x:0,y:0};constructor(t){this.chart=t}create(t,i){return this.createDrawing(t,i)}rect(t,i,e,s,a){return this.createDrawing({x:t,y:i,width:e,height:s},a)}createDrawing(t,i){const e=this.chart?.graphics||this.chart?.ctx;if(!e)throw new Error("Gradient requires a chart context");const{x:s,y:a,width:r,height:n}=t,h=(t,i,s,a)=>e.createLinearGradient(t,i,s,a);let o;switch(this.direction){case"topbottom":o=h(s,a,s,a+n);break;case"bottomtop":o=h(s,a+n,s,a);break;case"leftright":o=h(s,a,s+r,a);break;case"rightleft":o=h(s+r,a,s,a);break;case"radial":{const t=s+.5*r+this.offset.x,i=a+.5*n+this.offset.y,h=Math.max(r,n);o=e.createRadialGradient(t,i,0,t,i,h);break}case"diagonalup":o=h(s,a+n,s+r,a);break;default:o=h(s,a,s+r,a+n)}i&&this.setEndColor(i);const l=this.stops?.length??0;if(this.colors.length>1)for(let t=0;t<this.colors.length;t++){const i=l<=t?t/(this.colors.length-1):this.stops?.[t]??0;o.addColorStop(i,this.colors[t])}else o.addColorStop(0,this.colors[0]||"white");return o}setEndColor(t){if(t)for(let i=1;i<this.colors.length;i++)this.colors[i]=t}}class N{chart;visible=!1;blur=4;color="rgba(80,80,80,0.75)";width=4;height=4;constructor(t){this.chart=t}prepare(t){this.visible?(t.shadowBlur=this.blur,t.shadowColor=this.color,t.shadowOffsetX=this.width,t.shadowOffsetY=this.chart?.isAndroid?-this.height:this.height):t.shadowColor="transparent"}set(t){this.visible=t.visible,this.color=t.color,this.blur=t.blur,this.width=t.width,this.height=t.height}}class D{chart;fill="black";size=1;join="round";cap="square";dash=null;_g=null;constructor(t){this.chart=t}get gradient(){return this._g||(this._g=new P(this.chart)),this._g}prepare(t,i){const e=this.chart;if(!e)return;const s=i||e.graphics||e.ctx;if(!s)return;const a=this._g;s.strokeStyle=a?.visible?a.createDrawing(e.bounds):t||this.fill,s.lineWidth=this.size,s.lineJoin=this.join,s.lineCap=this.cap,s.shadowColor="transparent",s.setLineDash(this.dash||[])}setChart(t){this.chart=t,this._g&&(this._g.chart=t)}}class F{chart;style="11px Tahoma";fill="black";textAlign="center";baseLine="alphabetic";lineThrough;visible;_g=null;_sh=null;_s=null;constructor(t){this.chart=t}get gradient(){return this._g||(this._g=new P(this.chart)),this._g}get shadow(){return this._sh||(this._sh=new N(this.chart)),this._sh}get stroke(){return this._s||(this._s=new D(this.chart),this._s.fill=""),this._s}getSize(){for(const t of this.style.split(" ")){const i=parseFloat(t);if(i)return i}return 20}setSize(t){this.style=this.style.split(" ").map(i=>parseFloat(i)?`${t}px`:i).join(" ")}prepare(){const t=this.chart?.graphics||this.chart?.ctx;t&&(t.textAlign=this.textAlign,t.textBaseline=this.baseLine,this._sh&&this._sh.prepare(t),t.font!==this.style&&(t.font=this.style))}setChart(t){this.chart=t,this._g&&(this._g.chart=t),this._sh&&(this._sh.chart=t),this._s&&this._s.setChart(t)}}const L={x:0,y:0};function O(t){return"string"==typeof t?L:t}class R{chart;size=0;back=0;padding=0;pointer=!1;shape="";value=0;text="";location={x:0,y:0};position={x:0,y:0};width=0;height=0;gradient;fill="rgb(200,200,200)";stroke;round={x:0,y:0};transparency=0;enabled=!0;tube;beveled;doSuperNums=!1;doSubNums=!1;font;shadow;visible;length;radius;ranges;top;valid;underline;_img=null;_tmpPolygonBounds=new c;constructor(t){this.chart=t,this.gradient=new P(t),this.stroke=new D(t),this.font=new F(t),this.shadow=new N(t)}getGraphics(){return this.chart?.graphics||this.chart?.ctx}get image(){return this._img||(this._img=new z(this.chart)),this._img}roundRect(t,i,e,s,a){if(t.roundRect)return void t.roundRect(i,e,s,a,this.round.x);let r=i+s,n=e+a,h=this.round.x,o=this.round.y;const l=this.round.corners;a<0&&(n=(e=n)-a),s<0&&(r=(i=r)-s),2*h>s&&(h=.5*s),2*o>a&&(o=.5*a),!l||l[0]?t.moveTo(i+h,e):t.moveTo(i,e),!l||l[1]?(t.lineTo(r-h,e),t.quadraticCurveTo(r,e,r,e+o)):t.lineTo(r,e),!l||l[2]?(t.lineTo(r,n-o),t.quadraticCurveTo(r,n,r-h,n)):t.lineTo(r,n),!l||l[3]?(t.lineTo(i+h,n),t.quadraticCurveTo(i,n,i,n-o)):t.lineTo(i,n),!l||l[0]?(t.lineTo(i,e+o),t.quadraticCurveTo(i,e,i+h,e)):t.lineTo(i,e),t.closePath()}textHeight(t){return 1.3*this.font.getSize()}textWidth(t){return this.getGraphics()?.measureText(t).width||0}fillBack(t,i,e,s,a,r){this.gradient.visible?(t.fillStyle=i?this.gradient.createDrawing(i()):this.gradient.createDrawing({x:Number(e),y:Number(s),width:Number(a),height:Number(r)}),t.fill()):""!==this.fill&&(t.fillStyle=this.fill,t.fill())}draw(t,i,e,s,a,r){const n=this._img;let h=1;if("object"==typeof e){const t=e;s=t.y,a=t.width,r=t.height,e=t.x}if(this.transparency>0&&(h=t.globalAlpha,t.globalAlpha=(1-this.transparency)*h),this.shadow.prepare(t),n?.visible&&""!==n.url){if(t.save(),t.clip(),!0===n.backFill&&this.fillBack(t,i,e,s,a,r),i){const t=i();n.tryDraw(t.x,t.y,t.width,t.height)}else n.tryDraw(Number(e),Number(s),Number(a),Number(r));t.restore()}else this.fillBack(t,i,e,s,a,r);""!==this.stroke.fill&&(this.stroke.prepare(),t.stroke()),this.transparency>0&&(t.globalAlpha=h)}subNums(t){let i="";for(let e=0;e<t.length;e++){const s=t.charCodeAt(e);i+=s>=48&&s<=57?String.fromCharCode(s+8272):t[e]}return i}superNums(t){let i="";for(let e=0;e<t.length;e++){const s=t.charCodeAt(e);i+=48===s||s>=52&&s<=57?String.fromCharCode(s+8256):49===s?String.fromCharCode(185):50===s?String.fromCharCode(178):51===s?String.fromCharCode(179):t[e]}return i}drawText(t,i){const e=this.font._g,s=this.getGraphics();if(!s)return;const a=this.font._s,r=this.font.textAlign;let n=t.x,h=t.y;const o=t=>{s.fillText(t,n,h),a&&""!==a.fill&&(a.prepare(),s.strokeText(t,n,h))};this.font.lineThrough&&(s.beginPath(),s.moveTo(t.x,t.y+.4*t.height),s.lineTo(t.x+t.width,t.y+.4*t.height),s.stroke(),s.closePath()),s.fillStyle=e?.visible&&t?e.createDrawing(t):this.font.fill,"center"===r?n+=.5*t.width:"right"!==r&&"end"!==r||(n+=t.width);const l=`${i}`.split("\n"),c=l.length;if(c>1){const t=this.textHeight(l[0]);for(let i=0;i<c;i++)this.doSuperNums?o(this.superNums(l[i])):this.doSubNums?o(this.subNums(l[i])):o(l[i]),h+=t}else this.doSuperNums?o(this.superNums(i)):this.doSubNums?o(this.subNums(i)):o(i)}rectangle(t,i,e,s){if(this.transparency<1)if("object"==typeof t){const i=t;this.rectangle(i.x,i.y,i.width,i.height)}else{this.rectPath(Number(t),Number(i),Number(e),Number(s));const a=this.getGraphics();a&&this.draw(a,null,t,i,e,s)}}polygonBounds(t,i){let e=0,s=0,a=0,r=0;const n=t.length;if(n>0){e=a=t[0].x,s=r=t[0].y;for(let i=1;i<n;i++){let n=t[i].x;n<e?e=n:n>a&&(a=n),n=t[i].y,n<s?s=n:n>r&&(r=n)}}i.x=e,i.y=s,i.width=a-e,i.height=r-s}polygon(t){const i=this.getGraphics();if(!i||0===t.length)return;const e=t.length;i.beginPath(),i.moveTo(t[0].x,t[0].y);for(let s=1;s<e;s++)i.lineTo(t[s].x,t[s].y);i.closePath(),this.draw(i,()=>(this.polygonBounds(t,this._tmpPolygonBounds),this._tmpPolygonBounds))}ellipsePath(t,i,e,s,a){this.chart.__webgl?(t.z=this.z,t.depth=this.depth,t.ellipsePath?.(i,e,s,a)):(t.save(),t.translate(i,e),t.scale(.5*s,.5*a),t.beginPath(),t.arc(0,0,1,0,2*Math.PI,!1),t.restore())}ellipse(t,i,e,s){const a=this.getGraphics();a&&(this.ellipsePath(a,t,i,e,s),this.draw(a,null,t-.5*e,i-.5*s,e,s))}sphere(t,i,e,s){if(this.chart.__webgl){const a=this.chart.drawContext;a.depth=this.depth,a.z=this.z,this.gradient.visible&&(a.fillStyle=this.gradient.colors[this.gradient.colors.length-1]),a.sphere?.(t,i,e,s)}else this.ellipse(t,i,e,s)}cylinder(t,i,e,s){if(this.chart.__webgl){const a=this.chart.drawContext;return a.depth=this.depth,a.z=this.z,a.image=this.image,void a.cylinder?.(t,i,e,s)}if(1===i)this.cube(t);else{const i=t.width,s=t.height;e?this.polygon([new l(t.x+.5*i,t.y),new l(t.x,t.y+s),new l(t.x+i,t.y+s)]):this.polygon([new l(t.x+i,t.y+.5*s),new l(t.x,t.y),new l(t.x,t.y+s)])}}cube(t){const i=this.chart.aspect,e=i.view3d;let s,a,r=!1,n=0,h=0;if(e){if(this.chart.__webgl){const i=this.chart.drawContext;return i.depth=this.depth,i.z=this.z,void i.cube?.(t,this.round.x)}const e=this.z,o=this.depth;n=e*i._orthox,h=-e*i._orthoy,s=t.x+t.width,a=t.y+t.height;const l=o*i._orthox,c=-o*i._orthoy;r=this.shadow.visible,this.shadow.visible=!1;const d=s+l,u=t.y+c;o>0&&(this.polygon([{x:s,y:t.y},{x:d,y:u},{x:d,y:a+c},{x:s,y:a}]),t.width>0&&this.polygon([{x:t.x,y:t.y},{x:t.x+l,y:u},{x:d,y:u},{x:s,y:t.y}]))}this.rectPath(t.x+n,t.y+h,t.width,t.height),e&&(this.shadow.visible=r)}rectPath(t,i,e,s){const a=this.getGraphics();a&&(a.beginPath(),this.round.x>0&&this.round.y>0?this.roundRect(a,t,i,e,s):a.rect(t,i,e,s))}setChart(t){this.chart=t,this.shadow.chart=t,this.gradient.chart=t,this.font.setChart(t),this._img&&(this._img.chart=t),this.stroke.setChart(t)}}class H{chart;format;visible=!0;centered=!1;lineDash=!1;constructor(t){this.chart=t,this.format=new R(t),this.format.stroke.fill="silver",this.format.stroke.cap="butt",this.format.fill=""}}const E=(()=>{const t=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,i=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,s=(t,i=2)=>{for(t=String(t);t.length<i;)t=`0${t}`;return t};return(...a)=>{let[r,n,h]=a;const o=E;1!==a.length||"[object String]"!==Object.prototype.toString.call(r)||/\d/.test(String(r))||(n=String(r),r=void 0);const l=r?new Date(r instanceof Date?r.getTime():r):new Date;if(Number.isNaN(l.getTime()))throw SyntaxError("invalid date");n=String(o.masks[n]||n||o.masks.default),"UTC:"===n.slice(0,4)&&(n=n.slice(4),h=!0);const c=h?"getUTC":"get",d=l[`${c}Date`](),u=l[`${c}Day`](),m=l[`${c}Month`](),f=l[`${c}FullYear`](),x=l[`${c}Hours`](),g=l[`${c}Minutes`](),p=l[`${c}Seconds`](),b=l[`${c}Milliseconds`](),y=h?0:l.getTimezoneOffset(),w={d:d,dd:s(d),ddd:o.i18n.dayNames[u],dddd:o.i18n.dayNames[u+7],m:m+1,mm:s(m+1),mmm:o.i18n.monthNames[m],mmmm:o.i18n.monthNames[m+12],yy:String(f).slice(2),yyyy:f,h:x%12||12,hh:s(x%12||12),H:x,HH:s(x),M:g,MM:s(g),s:p,ss:s(p),l:s(b,3),L:s(b>99?Math.round(b/10):b),t:x<12?"a":"p",tt:x<12?"am":"pm",T:x<12?"A":"P",TT:x<12?"AM":"PM",Z:h?"UTC":(String(l).match(i)||[""]).pop()?.replace(e,""),o:(y>0?"-":"+")+s(100*Math.floor(Math.abs(y)/60)+Math.abs(y)%60,4),S:["th","st","nd","rd"][d%10>3?0:Number(d%100-d%10!=10)*d%10]};return n.replace(t,t=>t in w?String(w[t]):t.slice(1,t.length-1))}})();E.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"},E.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};const $={format:(t,i,e)=>E(t,i,e),msecsRound(t,i){if(Math.round((i-t)/864e5)<=60)return t;const e=new Date(t);let s=e.getMonth(),a=e.getFullYear();return s<11?s++:(s=0,a++),new Date(a,s,1).getTime()}};function V(t){const i=t?.rowLabel;return"function"==typeof i?i.bind(t):void 0}class W{chart;axis;format;decimals=2;fixedDecimals=!1;padding=4;separation=10;visible=!0;rotation=0;alternate=!1;maxWidth=0;valueFormat;wordWrap="no";ongetlabel;roundFirst=!0;labelStyle="auto";dateFormat="shortDate";_text=null;_textlabels=null;constructor(t,i){this.chart=t,this.axis=i,this.format=new R(t)}checkStyle(){const t=this.labelStyle,i=this.axis.firstSeries;this._text=null,this._textlabels=null,"auto"===t?i&&(i.data.labels.length>0||V(i))&&i.associatedToAxis(this.axis)&&this.axis.horizontal===i.notmandatory.horizontal&&(this._text=i):"mark"!==t&&"text"!==t||(this._text=i)}formatValueString(t){if(this.valueFormat){const i=Number("1.2").toLocaleString().substr(1,1),e=(1*t).toLocaleString(),s=String(e).split(i),a=s[0];let r="";if(this.decimals>0)for(let t=0;t<this.decimals;t++)r=`${r}0`;let n=s.length>1?s[1]:"";return n=(n+r).substr(0,this.decimals),n.length>0?a+i+n:a}return t.toFixed(this.decimals)}getLabel(t){let i,e,s=f(t);if(this._text&&s===t){e=this._text.data,e.x&&(s=e.x.indexOf(s));const a=this.chart.series.items;let r,n;const h=V(this._text);if(i=h?h(t)??"":a.length>0&&"Bar"===a[0]?.constructor?.name&&"sideAll"===a[0].stacked?e.labels[t]:e.labels[s],!i&&!h){for(r=0;r<a.length&&(n=a[r],n)&&!(n!==this._text&&n.visible&&n.associatedToAxis(this.axis)&&(i=n.data.labels[s],i));r++);void 0===i&&(i="")}}else i=this.axis.dateTime?$.format(new Date(t),this.dateFormat):this.formatValueString(t);return"no"!==this.wordWrap&&!1!==this.wordWrap&&(i=i.replace(/ /g,"\n")),this.ongetlabel&&(i=this.ongetlabel(t,i),this.format.font.prepare()),`${i}`}width(t){const i=this.fixedDecimals;this.fixedDecimals=!0;const e=this.format.textWidth(this.getLabel(t));return this.fixedDecimals=i,e}}class I{chart;stroke;visible=!0;length=4;count=3;z=0;constructor(t){this.chart=t,this.stroke=new D(t),this.stroke.cap="butt"}}class X{subscriptions=new Map;on(t,i,e=!1){const s=this.subscriptions.get(t)??[],a={listener:i,once:e};return s.push(a),this.subscriptions.set(t,s),()=>this.remove(t,a)}off(t,i){const e=this.subscriptions.get(t);e&&(void 0===i?this.subscriptions.delete(t):this.replace(t,e.filter(t=>t.listener!==i)))}has(t){return(this.subscriptions.get(t)?.length??0)>0}emit(t,...i){const e=this.subscriptions.get(t);if(!e)return;let s,a=!1;for(const r of[...e]){r.once&&this.remove(t,r);try{r.listener(...i)}catch(t){a||(a=!0,s=t)}}if(a)throw s}clear(){this.subscriptions.clear()}remove(t,i){const e=this.subscriptions.get(t);e&&this.replace(t,e.filter(t=>t!==i))}replace(t,i){0===i.length?this.subscriptions.delete(t):this.subscriptions.set(t,i)}}class B{chart;active=!0;destroyed=!1;_events;constructor(t){this.chart=t}on(t,i){return(this._events??=new X).on(t,i)}once(t,i){return(this._events??=new X).on(t,i,!0)}off(t,i){this._events?.off(t,i)}_hasListeners(t){return this._events?.has(t)??!1}_emit(t,...i){this._events?.emit(t,...i)}mousedown(t){return!1}mousemove(t){}mouseout(){}clicked(t){return!1}draw(){}destroy(){this._events?.clear(),this.active=!1,this.destroyed=!0}}class Y extends B{duration=500;mode="linear";items=[];autoDraw=!0;loop=!1;running=!1;onstart=null;onstop=null;init=0;_onStep;_frameHandle=null;_fallbackFrameHandle=null;_chartForCleanup=null;_attachChart=()=>{};_detachChart=()=>{};_scheduleStep=()=>{};step=()=>{};constructor(t,i){super(t),this.initializeAnimation(t,i)}initializeAnimation(t,i){this.active=!0,this.items=[],t&&(t instanceof Y?(this.chart=t.chart,t.items.push(this)):function(t){return"object"==typeof t&&null!==t&&"canvas"in t&&"series"in t}(t)&&(this.chart=t)),this._onStep=i,this._attachChart=t=>{t&&this._chartForCleanup!==t&&(this._detachChart(),this._chartForCleanup=t,t._animations??=new Set,t._animations.add(this))},this._detachChart=()=>{this._chartForCleanup?._animations?.delete(this),this._chartForCleanup=null},this._scheduleStep=()=>{let t=!1;const i=()=>{t||(t=!0,null!==this._frameHandle&&A(this._frameHandle),null!==this._fallbackFrameHandle&&clearTimeout(this._fallbackFrameHandle),this._frameHandle=null,this._fallbackFrameHandle=null,this.step())};this._frameHandle=k(()=>{i()}),this._fallbackFrameHandle=setTimeout(i,50)},this.step=()=>{if(!this.running)return;if(this.chart?.destroyed)return void this.cancel();const t=(Date.now()-this.init)/this.duration,i="linear"===this.mode?t:2**(10*(t-1));if(i>=0&&i<1){if(this.running){this.doStep(i);for(const t of this.items)t.active&&(t.chart=this.chart,t.doStep(i));this.autoDraw&&this.chart.draw(),this._scheduleStep()}}else{this.stop();for(const t of this.items)t.active&&(t.chart=this.chart,t.stop());this.onstop&&this.onstop(this),this._emit("stop",this),this.loop?this.startAnimation():(this.running=!1,this.chart.draw(),this._detachChart())}}}startAnimation(){if(this.chart&&!this.chart.destroyed){this._attachChart(this.chart),this.init=Date.now(),this.start();for(const t of this.items)t.active&&(t.chart=this.chart,t.start());this.chart.draw(),this._scheduleStep()}else this.running=!1}animate(t){this.running||(this.running=!0,t&&(this.chart=t),this.startAnimation())}cancel(){this.running=!1,null!==this._frameHandle&&A(this._frameHandle),null!==this._fallbackFrameHandle&&clearTimeout(this._fallbackFrameHandle),this._frameHandle=null,this._fallbackFrameHandle=null;for(const t of this.items)t.cancel?.();this._detachChart()}destroy(){this.cancel(),super.destroy()}start(){this.onstart&&this.onstart(),this._emit("start")}stop(){this.onstop?.(this),this._emit("stop",this)}doStep(t){this._onStep?.(t)}}class j extends Y{fade={};_fadeState=this.fade;kind="in";constructor(t){super(t),this.kind="in",this.fade={},this._fadeState=this.fade}setTransp(t){"out"===this.kind&&(t=1-t);const i=this._fadeState;i.legend&&(this.chart.legend.format.transparency=t),i.walls&&(this.chart.walls.transparency=t),i.series&&this.chart.series.each(i=>{i.format.transparency=t}),i.marks&&this.chart.series.each(i=>{i.marks.transparency=t}),i.title&&(this.chart.title.format.transparency=t),i.axes&&(this.chart.axes.transparency=t),i.panel&&(this.chart.panel.format.transparency=t)}start(){this._fadeState=this.fade,this.setTransp(1)}stop(){this.setTransp(0)}doStep(t){this.setTransp(1-t)}}class q extends Y{series=null;oldmin=0;oldmax=0;oldauto=!0;kind="axis";_scaling=1;constructor(t){super(t),!function(t){if("object"!=typeof t||null===t)return!1;const i=t;return!(!i.data||!Array.isArray(i.data.values)||"function"!=typeof i.clicked)}(t)?this.series=null:(this.series=t,this.chart=t.chart),this.oldmin=0,this.oldmax=0,this.oldauto=!0,this.kind="axis",this._scaling=1}changeAxis(t,i){t.automatic=!1;const e=.5*(this.oldmin+this.oldmax),s=.5*(this.oldmax-this.oldmin);t.maximum=e+i*s,t.minimum=e-i*s}getAxis(){const t=this.series||this.chart.series.firstVisible();return t?t.mandatoryAxis:null}getOtherAxis(){const t=this.series||this.chart.series.firstVisible();if(t)if(t.yMandatory){if("both"===t.vertAxis)return this.chart.axes.right}else if("both"===t.horizAxis)return this.chart.axes.top;return null}doStep(t){const i=this.getAxis(),e=this.getOtherAxis();if(i&&(i.automatic=!1),e&&(e.automatic=!1),"axis"===this.kind){if(!i)return;this.changeAxis(i,1+100*(1-t)),e&&this.changeAxis(e,1+100*(1-t))}else this.chart.series.each(i=>{if(this.series&&this.series!==i)return;const e=i.data.values,s=i.data._old,a=e.length;if("ActivityGauge"===i?.constructor?.name)i.maxDrawWidth=Number(i.maxWidth)*t;else if("Pie"===i?.constructor?.name)i.rotation=360*(1-t),this._scaling=t;else if("each"===this.kind&&s){const i=f(a*t);for(let t=0;t<i;t++)e[t]=s[t];i<a&&(e[i]=s[i]*(a*t-i))}else if("all"===this.kind&&s)for(let i=0;i<a;i++)e[i]=s[i]*t;else"axis"!==this.kind&&(this._scaling=t)})}stop(){this.doStep(1);const t=this.getAxis(),i=this.getOtherAxis();t&&(t.maximum=this.oldmax,t.minimum=this.oldmin,t.automatic=this.oldauto),i&&(i.maximum=this.oldmax,i.minimum=this.oldmin,i.automatic=this.oldauto),this.chart.series.each(t=>{t.transform&&(t.transform=null),"each"!==this.kind&&"all"!==this.kind||t.data._old&&(t.data.values=t.data._old,t.data._old=null)})}start(){const t=this.getAxis(),i=this.getOtherAxis(),e=this.chart,s=e.series.items,a=e.chartRect.width,r=e.chartRect.height,n=e.bounds.width,h=e.bounds.height;if(0!==s.length&&t){this.oldmin=t.minimum,this.oldmax=t.maximum,this.oldauto=t.automatic;for(const e of s)if(!this.series||this.series===e)if("Pie"===e?.constructor?.name)e.transform=()=>{e.chart.drawContext.scale(this._scaling,this._scaling)};else if("each"===this.kind||"all"===this.kind){const s=e.data.values;e.data._old=s.slice(0),e.data.values=s.slice(0);for(let t=0;t<e.data.values.length;t++)e.data.values[t]=0;t.automatic=!1,i&&(i.automatic=!1)}else"left"===this.kind?e.transform=()=>{e.chart.drawContext.translate(-a*(1-this._scaling),0)}:"right"===this.kind?e.transform=()=>{e.chart.drawContext.translate(a*(1-this._scaling),0)}:"x"===this.kind?e.transform=()=>{e.chart.drawContext.scale(this._scaling,1)}:"y"===this.kind?e.transform=()=>{e.chart.drawContext.scale(1,this._scaling)}:"top"===this.kind?e.transform=()=>{e.chart.drawContext.translate(0,-r*(1-this._scaling))}:"bottom"===this.kind?e.transform=()=>{e.chart.drawContext.translate(0,r*(1-this._scaling))}:"zoomin"===this.kind?e.transform=()=>{const t=e.chart.drawContext;t.translate(.5*n,.5*h),t.scale(this._scaling,this._scaling),t.translate(.5*-n,.5*-h)}:"zoomout"===this.kind&&(e.transform=()=>{const t=e.chart.drawContext;t.translate(.5*n,.5*h),t.scale(2-this._scaling,2-this._scaling),t.translate(.5*-n,.5*-h)});"axis"===this.kind&&(this.changeAxis(t,100),i&&this.changeAxis(i,100))}}}class G{autoHide;format;bounds;enabled=!0;old;constructor(t,i,e){this.format=e,this.bounds=i,this.old=new N,this.old.set(e.shadow);const s=e.shadow;s.visible=!0,s.color="rgba(0,255,0,0.1)",s.blur=10,s.width=0,s.height=0;const a=new Y(e.chart,t=>{this.enabled&&(t<1?this.format.shadow.color=`rgba(0,255,0,${t})`:this.autoHide&&this.restore())});a.duration=t,a.animate()}restore(){this.format.shadow.set(this.old),this.enabled=!1}}class J{left=2;top=2;right=2;bottom=2;apply(t){const i=t.width,e=t.height;t.x+=i*this.left*.01,t.width-=i*Math.min(100,this.left+this.right)*.01,t.y+=e*this.top*.01,t.height-=e*Math.min(100,this.top+this.bottom)*.01}}const U=new WeakSet;let Z=null;function K(){Z?.removeEventListener("mousemove",Tt.pos),Z=null}let Q,tt,it,et=null,st=8,at=null,rt=!1,nt=null,ht=0,ot=null,lt="",ct="",dt=0,ut=null,mt=null,ft=0,xt=0,gt=!1,pt=null,bt=null,yt=null,wt=0;function vt(t,i,e,s){const a=2*st,r=lt||"transparent",n={top:"bottom",bottom:"top",left:"right",right:"left"}[e],[h,o]={top:["border-right","border-bottom"],bottom:["border-left","border-top"],left:["border-right","border-top"],right:["border-left","border-bottom"]}[e],l="top"===e||"bottom"===e?`left:${s}px`:`top:${s}px`;t.innerHTML=`.teetiparrow{position:absolute;width:${a}px;height:${a}px;${l};${n}:-${st+1}px;background:${ct||"#fff"};transform:rotate(45deg);box-sizing:border-box;${h}:1px solid ${r};${o}:1px solid ${r};}`,i.innerHTML=""}function _t(){return!!y()?.all}class Tt{static show(t,i=0,e,s="",a){const r=y();if(!r?.body)return;const n=a?.chart||e?.chart;if(n?.destroyed||a?.destroyed)return;ut&&ut.ownerDocument!==r&&(Tt.stop(),ut.remove(),at?.remove(),nt?.remove(),ut=null,mt=null),it===n&&ot===(a||null)||Tt.stop(),it=n,bt=null;const h=_t();if(a&&(ot=a,rt=a.followCursor,st=rt?0:8),!ut){nt=r.createElement("style"),at=r.createElement("style"),lt="",ut=r.createElement("div"),et=r.createElement("div"),ut.setAttribute("id","teetip1"),et.setAttribute("id","teetiparrow1"),ut.className="teetip",et.className="teetiparrow",ut.setAttribute("style",s),lt=ut.style.getPropertyValue("border-color"),ct=ut.style.getPropertyValue("background-color");const t=ut.style.getPropertyValue("border-width");ht=0===t.length?0:2*Number.parseFloat(t),vt(at,nt,"top",20),r.head.appendChild(at),r.head.appendChild(nt),r.body.appendChild(ut),ut.appendChild(et),mt=ut.style,mt.opacity="0",h&&(mt.filter="alpha(opacity=0)")}ut&&mt&&et&&at&&nt&&(yt=e??null,n?._eventCleanups&&!U.has(n)&&(U.add(n),n._eventCleanups.push(()=>{U.delete(n),Tt.stop(n)})),xt=a&&!b()?.matchMedia?.("(prefers-reduced-motion: reduce)").matches?Math.max(0,a.animated):0,0===dt&&(gt=!0),mt.display="block",mt.position="absolute",ut.innerHTML=`${et.outerHTML}<div style="position:relative">${t}</div>`,mt.width="number"==typeof i&&i>0?`${i}px`:"auto",!i&&h&&(mt.width=`${ut.offsetWidth}px`),ut.offsetWidth>300&&(mt.width="300px"),wt=ut.offsetWidth,ft=ut.offsetHeight+3,Tt._scheduleFade(1),Z!==r&&(K(),r.addEventListener("mousemove",Tt.pos),Z=r))}static pos(t){const i=y(),e=b();if(!(i&&ut&&mt&&at&&nt))return;const s=_t();let a,r,n=!1,h=!1,o=0,c=0;const d=t.target;if(ot)if(ot.followCursor?(st=0,rt=!0):(st=8,rt=!1),yt&&it&&(a=it,n=!!a.axes.bottom.firstSeries&&!a.axes.bottom.firstSeries.yMandatory),a){if(ot?.pointer.visible&&a.draw(),rt||!yt)r=i.documentElement,o=s?t.clientY+r.scrollTop:t.pageY,c=s?t.clientX+r.scrollLeft:t.pageX-wt/2-10-st,at.innerHTML=".teetiparrow{width:0;height:0;border: "+st+"px solid;position: absolute;content: '';border-color: "+lt+" "+lt+" transparent transparent;bottom: -"+2*st+"px;left: "+(ut.getBoundingClientRect().width-2*st-ht/2)+"px;}",nt.innerHTML=".teetiparrow:after{content: ' ';position: absolute;width: 0;height: 0;left: -"+(st-ht/2)+"px;bottom: "+(ht-(st-1))+"px; border: "+(st-ht/2)+"px solid;border-color: "+ct+" "+ct+" transparent transparent;}";else{const s=function(t,i,e,s){const a=new l,r=ot?.currentSeries;if(r&&ot&&ot.currentIndex>=0)return r.calc(ot.currentIndex,a),a;if(!s)return a;const n=e?Math.round(t.axes.left.fromPos(i.layerY)):Math.round(t.axes.bottom.fromSizeCalcIndex(i.clientX-(t.interactionCanvas||t.canvas).getBoundingClientRect().left-t.axes.bottom.startPos));let h=Number.POSITIVE_INFINITY;for(const s of t.series.items){const r=s.data.values[n],o=Math.abs(r-(e?t.axes.bottom.fromPos(i.layerX):t.axes.left.fromPos(i.layerY)));(o<h||Number.isNaN(h)&&!Number.isNaN(o))&&(h=o,s.calc(n,a))}return a}(a,t,n,d===(a.interactionCanvas||a.canvas)),r=(a.interactionCanvas||a.canvas).getBoundingClientRect(),u=ut.getBoundingClientRect(),m=e?.scrollX??0,f=e?.scrollY??0,x=e?.innerWidth||i.documentElement.clientWidth||Number.MAX_VALUE,g=st+4,p=s.x+r.left+m,b=s.y+r.top+f,y=m+4,w=m+x-u.width-4,v=ot?.currentSeries;let _=v&&ot&&ot.currentIndex>=0?v.tooltipSide(ot.currentIndex):void 0;if("right"===_&&p+g+u.width>m+x-4&&(_="bottom"),"left"===_&&p-g-u.width<m+4&&(_="top"),"left"===_||"right"===_){c=Math.round("right"===_?p+g:p-g-u.width),o=Math.round(b-u.height/2);const t=Math.max(8,Math.min(b-o-st,u.height-2*st-8));vt(at,nt,"right"===_?"right":"left",t)}else{c=Math.round(Math.max(y,Math.min(p-u.width/2,Math.max(y,w)))),o=Math.round(b-u.height-g);const t="bottom"===_||o<f+4;t&&(o=Math.round(b+g));const i=Math.max(8,Math.min(p-c-st,u.width-2*st-8));vt(at,nt,t?"bottom":"top",i)}h=!0}ot?.pointer.visible&&(!function(){if(a&&d===(a.interactionCanvas||a.canvas)){a.draw();let i=0;const e=new l;let s,r=0,h=0;if(!ot)return;const o=ot.pointer;if(i=n?Math.round(a.axes.left.fromPos(t.layerY)):Math.round(a.axes.bottom.fromSizeCalcIndex(t.clientX-(a.interactionCanvas||a.canvas).getBoundingClientRect().left-a.axes.bottom.startPos)),d===(a.interactionCanvas||a.canvas))for(let o=0;o<a.series.items.length;o++)r=n?Math.abs(a.series.items[o].data.values[i]-a.axes.bottom.fromPos(t.layerX)):Math.abs(a.series.items[o].data.values[i]-a.axes.left.fromPos(t.layerY)),0===o?(h=r,a.series.items[o].calc(i,e),s=a.series.items[o]):r<h&&(a.series.items[o].calc(i,e),h=r,s=a.series.items[o]);const c=a.ctx;tt?-1!==i&&tt!==s&&(tt=s,o.animationVisible&&u(e,c)):tt=s,-1!==i&&!Q||-1===i?Q=i:-1!==i&&Q!==i&&(Q=i,o.animationVisible&&u(e,c)),m(e,o.secondCircleRadius,o.fill,o.secondCircleOpacity,c),m(e,o.firstCircleRadius,o.fill,o.firstCircleOpacity,c)}}(),o-=ot.pointer.secondCircleRadius>ot.pointer.firstCircleRadius?ot.pointer.secondCircleRadius:ot.pointer.firstCircleRadius)}else r=i.documentElement,o=s?t.clientY+r.scrollTop:t.pageY,c=s?t.clientX+r.scrollLeft:t.pageX-wt/2-10-st;else st=0,rt=!0,r=i.documentElement,o=s?t.clientY+r.scrollTop:t.pageY,c=s?t.clientX+r.scrollLeft:t.pageX-wt/2-10-st,at.innerHTML=".teetiparrow{width:0;height:0;border: "+st+"px solid;position: absolute;content: '';border-color: "+lt+" "+lt+" transparent transparent;bottom: -"+2*st+"px;left: "+(ut.getBoundingClientRect().width-2*st-ht/2)+"px;}",nt.innerHTML=".teetiparrow:after{content: ' ';position: absolute;width: 0;height: 0;left: -"+(st-ht/2)+"px;bottom: "+(ht-(st-1))+"px; border: "+(st-ht/2)+"px solid;border-color: "+ct+" "+ct+" transparent transparent;}";if(!h&&(o-ft<0&&(o=ft),c<0&&(c=0),yt)){let t=yt.offsetLeft,i=yt;for(;null!=i.offsetParent;)t+=i.offsetLeft,i=i.offsetParent;c>t+yt.clientWidth-ut.offsetWidth-25&&(c=t+yt.clientWidth-ut.offsetWidth-25)}function u(t,i){if(!ot)return;const e=ot.pointer,s=ot.chart;pt?.cancel(),pt=new Y(s,a=>{s&&!s.destroyed&&a<1&&(s.draw(),m(t,e.secondCircleRadius*a,e.fill,e.secondCircleOpacity,i),m(t,e.firstCircleRadius*a,e.fill,e.firstCircleOpacity,i))}),pt.onstop=()=>{s&&!s.destroyed&&(s.draw(),m(t,e.secondCircleRadius,e.fill,e.secondCircleOpacity,i),m(t,e.firstCircleRadius,e.fill,e.firstCircleOpacity,i))},pt.duration=e.animationDuration,pt.animate()}function m(t,i,e,s,a){a&&(a.strokeStyle=e,a.fillStyle=e,a.globalAlpha=s,a.lineWidth=i,a.beginPath(),a.ellipse(t.x,t.y,i/2,i/2,0,0,7,!1),a.stroke())}h&&xt>0&&!gt||(mt.transition="none"),rt?(mt.top=o-ft+"px",mt.left=`${c+3}px`):(mt.top=`${o}px`,mt.left=`${c}px`),h&&xt>0&&(gt&&(ut.offsetWidth,gt=!1),mt.transition=`left ${xt}ms ease-out, top ${xt}ms ease-out`)}static fade(t){if(97!==dt&&1===t||0!==dt&&-1===t){let i=10;if(97-dt<10&&1===t?i=97-dt:dt<10&&-1===t&&(i=dt),dt=dt+i*t,!mt)return;mt.opacity=""+.01*dt,function(){if(!mt)return;const t=xt>0?6*(1-dt/97):0;mt.transform=t>.05?`translateY(${t.toFixed(2)}px)`:""}(),_t()&&(mt.filter=`alpha(opacity=${dt})`),Tt._scheduleFade(t)}else ut&&(ut.timer=null),-1===t&&Tt.stop()}static hide(){ut&&mt&&"none"!==mt.display&&(pt?.cancel(),pt=null,K(),Tt._scheduleFade(-1),it?.draw())}static _scheduleFade(t){const i=ut;i&&(i.timer&&clearTimeout(i.timer),i.timer=setTimeout(()=>{i.timer=null,Tt.fade(t)},10))}static stop(t){t&&it!==t||(pt?.cancel(),pt=null,ut?.timer&&clearTimeout(ut.timer),ut&&(ut.timer=null),mt&&(mt.display="none",mt.opacity="0",mt.transform="",mt.transition="none"),gt=!1,K(),it=void 0,bt=null,yt=null,ot=null,Q=void 0,tt=void 0,dt=0)}}function Mt(t){return ot===t}class St{_enabled=!0;renderer=null;get enabled(){return this._enabled}set enabled(t){this._enabled=t,t||this.hide()}show(t,i=0,e,s="",a){if(this.enabled&&!a?.destroyed&&!(a?.chart||e?.chart)?.destroyed)if(this.renderer)this.renderer.show(t,i,e,s,a);else{if(!y()?.body)return;Tt.show(t,i,e,s,a),bt=this}}hide(){this.renderer?this.renderer.hide():bt===this&&Tt.hide()}stop(t){this.renderer?this.renderer.hide():Tt.stop(t)}}class Ct{context;constructor(t){this.context=t}get fillStyle(){return this.context.fillStyle}set fillStyle(t){this.context.fillStyle=t}get strokeStyle(){return this.context.strokeStyle}set strokeStyle(t){this.context.strokeStyle=t}get font(){return this.context.font}set font(t){this.context.font=t}get globalAlpha(){return this.context.globalAlpha}set globalAlpha(t){this.context.globalAlpha=t}get lineWidth(){return this.context.lineWidth}set lineWidth(t){this.context.lineWidth=t}get lineCap(){return this.context.lineCap}set lineCap(t){this.context.lineCap=t}get lineJoin(){return this.context.lineJoin}set lineJoin(t){this.context.lineJoin=t}get miterLimit(){return this.context.miterLimit}set miterLimit(t){this.context.miterLimit=t}get globalCompositeOperation(){return this.context.globalCompositeOperation}set globalCompositeOperation(t){this.context.globalCompositeOperation=t}get textAlign(){return this.context.textAlign}set textAlign(t){this.context.textAlign=t}get textBaseline(){return this.context.textBaseline}set textBaseline(t){this.context.textBaseline=t}get shadowColor(){return this.context.shadowColor}set shadowColor(t){this.context.shadowColor=t}get shadowBlur(){return this.context.shadowBlur}set shadowBlur(t){this.context.shadowBlur=t}get shadowOffsetX(){return this.context.shadowOffsetX}set shadowOffsetX(t){this.context.shadowOffsetX=t}get shadowOffsetY(){return this.context.shadowOffsetY}set shadowOffsetY(t){this.context.shadowOffsetY=t}save(){this.context.save()}restore(){this.context.restore()}beginPath(){this.context.beginPath()}closePath(){this.context.closePath()}moveTo(t,i){this.context.moveTo(t,i)}lineTo(t,i){this.context.lineTo(t,i)}quadraticCurveTo(t,i,e,s){this.context.quadraticCurveTo(t,i,e,s)}bezierCurveTo(t,i,e,s,a,r){this.context.bezierCurveTo(t,i,e,s,a,r)}arc(t,i,e,s,a,r){this.context.arc(t,i,e,s,a,r)}roundRect(t,i,e,s,a){this.context.roundRect(t,i,e,s,a)}rect(t,i,e,s){this.context.rect(t,i,e,s)}clip(){this.context.clip()}fill(t){this.context.fill(t)}stroke(){this.context.stroke()}fillRect(t,i,e,s){this.context.fillRect(t,i,e,s)}strokeRect(t,i,e,s){this.context.strokeRect(t,i,e,s)}clearRect(t,i,e,s){this.context.clearRect(t,i,e,s)}translate(t,i){this.context.translate(t,i)}scale(t,i){this.context.scale(t,i)}rotate(t){this.context.rotate(t)}setLineDash(t){this.context.setLineDash(t)}fillText(t,i,e,s){this.context.fillText(t,i,e,s)}strokeText(t,i,e,s){this.context.strokeText(t,i,e,s)}measureText(t){return this.context.measureText(t)}createLinearGradient(t,i,e,s){return this.context.createLinearGradient(t,i,e,s)}createRadialGradient(t,i,e,s,a,r){return this.context.createRadialGradient(t,i,e,s,a,r)}createPattern(t,i){return this.context.createPattern(t,i)}drawImage(t,...i){this.context.drawImage(t,...i)}}class kt{canvas;context=null;graphics=null;ratio=1;constructor(t){this.canvas=t}get pixelRatio(){return this.ratio}setPixelRatio(t){this.ratio=t>0&&Number.isFinite(t)?t:1}applyTransform(t){1!==this.ratio&&t.setTransform(this.ratio,0,0,this.ratio,0,0)}getContext(){return this.context||(this.canvas.getContext?this.canvas.getContext("2d"):null)}getGraphics(){const t=this.getContext();return t?(this.graphics||(this.graphics=new Ct(t)),this.graphics):null}setContext(t){this.context=t,this.graphics=t?new Ct(t):null}clearRect(t,i,e,s){this.getContext()?.clearRect(t,i,e,s)}resize(t,i){const e=this.ratio,s=Math.round(t*e),a=Math.round(i*e);if(this.canvas.width===s&&this.canvas.height===a)return;const r=1===e?null:this.getClientSize();if(this.canvas.width=s,this.canvas.height=a,r&&this.canvas.style){const t=this.getClientSize();r.width>0&&t.width!==r.width&&(this.canvas.style.width=`${r.width}px`),r.height>0&&t.height!==r.height&&(this.canvas.style.height=`${r.height}px`)}}getSize(){return{width:this.canvas.width/this.ratio,height:this.canvas.height/this.ratio}}getClientSize(){return"number"!=typeof this.canvas.clientWidth?this.getSize():{width:this.canvas.clientWidth,height:this.canvas.clientHeight}}toBlob(t,i){const e=this.canvas;if("function"==typeof e.convertToBlob)return e.convertToBlob({type:t,quality:i});const s=e.toBlob;return"function"==typeof s?new Promise((a,r)=>s.call(e,t=>t?a(t):r(new Error("The canvas could not be encoded")),t,i)):Promise.reject(new Error("This canvas cannot be encoded as a Blob"))}toDataURL(t,i){return void 0===t?this.canvas.toDataURL():this.canvas.toDataURL(t,i)}}class At extends B{getCanvasSize(){return this.chart.renderer instanceof kt?this.chart.renderer.getSize():{width:this.chart.canvas.width,height:this.chart.canvas.height}}cursor;visual;mouseinside=!1;wasinside=!1;constructor(t,i="",e=10,s=10){super(t),this.initializeAnnotation(t,i,e,s)}initializeAnnotation(t,i,e,s){this.position=new l(e||10,s||10),this.margins=new J,this.items=[],this.bounds=new c,this.visible=!0,this.transparent=!1,this.text=i||"",this.isDom=!1,this.domElement=null,this.domStyle="border-radius: 5px;border: 2px solid #faad44;background: #FFF;padding:5px;",this.format=new R(t),this._fontH=0,this._thisH=0,this._over=null;const a=this.format;a.font.textAlign="center",a.font.baseLine="top",a.fill="beige",a.round={x:4,y:4},a.stroke.fill="silver",a.shadow.visible=!0,a.depth=.05,a.z=.5}getDOMHeight(){return null==this.domElement?0:this.domElement.offsetHeight}getDOMWidth(){return null==this.domElement?0:this.domElement.offsetWidth}moveTo(t,i){this.position.x=t,this.position.y=i,this.resize()}_isEmpty(t){return!t||0===t.length}shouldDraw(){return this.visible&&!this._isEmpty(this.text)}async resize(){if(this._isEmpty(this.text))return;const t=this.format,i=this.margins,e=this.bounds;t.font.prepare(),this.rows=this.text.split("\n"),this._fontH=t.textHeight(this.text);const s=this.rows.length;let a;this._thisH=this._fontH*s+i.top;const r=this._thisH+i.bottom;if(s>1){a=0;for(const i of this.rows)a=Math.max(a,t.textWidth(`${i}W`))}else a=t.textWidth(`${this.text}W`);a+=i.left+i.right;const n=this.position;e.set(n.x,n.y,a,r)}add(t){const i=new At(this.chart,t);return this.items.push(i),i.transparent=!0,i}async doDraw(){if(!this._isEmpty(this.text)){const t=this.format,i=this.bounds,e=this.margins;if(this.isDom)await this.drawDOMText();else{if(this.transparent)this.chart.drawContext.z=t.z;else if(this.chart.aspect.view3d&&this.format.depth>0){const e=t.z;t.z-=.5*this.format.depth,t.cube(i),t.draw(this.chart.drawContext,null,i),t.z=e}else this.chart.drawContext.z=t.z,t.rectangle(i);let s=1,a=this.format.transparency,r=this.chart.drawContext;a>0&&(s=r.globalAlpha,r.globalAlpha=(1-a)*s),t.font.prepare(),i.y+=e.top+.1*this._fontH,i.x+=e.left;const n=i.width;i.width-=e.right,t.drawText(i,this.text),i.x=this.position.x,i.y=this.position.y,i.width=n,a>0&&(r.globalAlpha=s)}}}clicked(t){return this.visible&&this.bounds.contains(t)}doMouseMove(t){this.mouseinside=this.clicked(t),this.mouseinside?(this.cursor&&(this.chart.newCursor=this.cursor),this.wasinside||(this._over=new G(250,this.bounds,this.format))):this.wasinside&&this._over&&(this._over.restore(),this.chart.draw()),this.wasinside=this.mouseinside}mousemove(t){this.cursor&&"default"!==this.cursor&&this.doMouseMove(t)}forceDraw(){this.resize(),this.doDraw()}setChart(t){this.chart=t,this.format.setChart(t)}async drawDOMText(){this.domElement&&await this.resize();const t=y();if(!t?.body)return;const i=(this.chart.interactionCanvas||this.chart.canvas).getBoundingClientRect(),e=this.transparent?"opacity:0;":"opacity:1;";this.domElement||(this.domElement=t.createElement("div"),t.body.appendChild(this.domElement)),!1===this.visible?this.domElement.setAttribute("style","visibility:hidden; position:absolute;top:"+(this.position.y+i.top)+"px;left:"+(this.position.x+i.left)+"px;display:block;z-index:10000;"+this.domStyle+e):this.domElement.setAttribute("style","visibility:visible; position:absolute;top:"+(this.position.y+i.top)+"px;left:"+(this.position.x+i.left)+"px;display:block;z-index:10000;"+this.domStyle+e),this.domElement.innerHTML!==this.text&&(this.domElement.innerHTML=this.text)}async draw(){this.isDom?await this.drawDOMText():this.visible&&this.forceDraw()}destroy(){if(!this.destroyed){for(const t of this.items)t?.destroy?.();this.items.length=0,this.domElement?.remove?.(),this.domElement=null,super.destroy()}}}function zt(t){return t.replace(/[&<>"']/g,t=>`&#${t.charCodeAt(0)};`)}function Pt(t,i){const e=t.data.values,s=e.filter(t=>Number.isFinite(t)),a=s.reduce((t,i)=>t+Math.abs(i),0),r=e[i],n=[],h=t.data.x?.[i];if(null!=h&&String(h)!==(t.data.labels[i]||"")&&n.push(["X",String(h)]),a>0&&Number.isFinite(r)&&n.push(["Share",`${(Math.abs(r)/a*100).toFixed(1)}%`]),s.length>1&&Number.isFinite(r)){const t=r-s.reduce((t,i)=>t+i,0)/s.length;n.push(["vs average",`${t>=0?"+":""}${Number(t.toFixed(2))}`]),n.push(["Maximum",String(Math.max(...s))]),n.push(["Minimum",String(Math.min(...s))])}return n.push(["Point",`${i+1} of ${e.length}`]),n}function Nt(t,i,e,s,a){return`${e&&e!==i?`<div style="font-weight:600;${i?"margin-bottom:6px":"margin-bottom:2px"}">${zt(e)}</div>`:""}<div style="display:flex;align-items:center;gap:8px">${`<span style="display:inline-block;width:10px;height:10px;border-radius:3px;background:${zt(t||"#64748b")}"></span>`}`+(i?`<span style="color:#475569">${zt(i)}</span>`:"")+`<span style="margin-left:auto;padding-left:16px;font-weight:600;font-variant-numeric:tabular-nums">${zt(s)}</span></div>`+(a.length?'<div style="margin-top:8px;padding-top:6px;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:auto auto;gap:2px 16px;font-size:12px">'+a.map(([t,i])=>`<span style="color:#64748b">${zt(t)}</span><span style="text-align:right;font-variant-numeric:tabular-nums">${zt(i)}</span>`).join("")+"</div>":"")}class Dt extends At{shared=!1;pointer;findPoint;followCursor;currentSeries;currentIndex;realTime;extended;timID;autoHide;delay;animated;autoRedraw;render;onhide;ongettext;onshow;currP;oldX=0;oldY=0;deltaX=0;deltaY=0;init=0;_animOwner;_animationFrame;_cancelPending;_cleanupChart;_refreshVersion=0;constructor(t){super(t),this._cleanupChart=t,this.pointer={fill:"Green",firstCircleRadius:"2",secondCircleRadius:"5",visible:!1,firstCircleOpacity:"1",secondCircleOpacity:"0.4",animationVisible:!0,animationDuration:200},this.visible=!1,this.findPoint=!1,this.currentSeries=null,this.currentIndex=-1,this.realTime=!1,this.extended=!1,this.timID=null,this.autoHide=!1,this.delay=1e3,this.animated=100,this.autoRedraw=!0,this.render="dom",this.domStyle="padding:10px 12px; margin-left:0; background:#fff; border:1px solid #cbd5e1; border-radius:8px; color:#0f172a; font:13px/1.4 system-ui,sans-serif; box-shadow:0 2px 6px rgba(15,23,42,.08); pointer-events:none; white-space:nowrap;",this.followCursor=!1,this._animOwner=null,this._animationFrame=null,this._cancelPending=()=>{this._refreshVersion++,null!==this.timID&&clearTimeout(this.timID),this.timID=null,null!==this._animationFrame&&A(this._animationFrame),this._animationFrame=null,this._animOwner=null},t?._eventCleanups?.push(this._cancelPending)}async hide(){if(this._cancelPending(),this.currP=void 0,this.destroyed||this.chart.destroyed)return;const t="dom"===this.render;(this.visible||t)&&(this.onhide&&this.onhide(this),this._emit("hide",this),this.visible=!1,this.autoRedraw&&(t?(this.chart.domTip.renderer||Mt(this))&&this.chart.domTip.hide():this.chart.draw()),this.currentIndex=-1,this.currentSeries=null)}destroy(){if(this.destroyed)return;this._cancelPending();const t=this._cleanupChart._eventCleanups.indexOf(this._cancelPending);-1!==t&&this._cleanupChart._eventCleanups.splice(t,1),Mt(this)&&Tt.stop(),this.currP=void 0,this.visible=!1,this.currentSeries=null,this.currentIndex=-1,super.destroy()}async mousemove(t){if(this.destroyed||this.chart.destroyed)return;const i=this.chart.series,e=i.count();let s=null,a=-1;if(this.chart.chartRect.contains(t))for(let r=e-1;r>=0;r--){let n=i.items[r];if(n.visible){const r=n.stacked,h=!!r&&"no"!==r&&"side"!==r&&"sideAll"!==r;if(a=(this.findPoint||h)&&n.continuous?-1:n.clicked(t),-1===a&&n.continuous){a=Math.round(this.chart.axes.bottom.fromSizeCalcIndex(t.x-this.chart.axes.bottom.startPos));let s=Number.POSITIVE_INFINITY;const r=new l,h=new l;for(let o=0;o<e;o++){const e=i.items[o];if(!e.visible||void 0===e.data.values[a])continue;const l=e.yMandatory,c=l?t.y:t.x;e.calc(a,r);const d=l?r.y:r.x;let u=Math.abs(d-c);const m=e.stacked;if(m&&"no"!==m&&"side"!==m&&"sideAll"!==m){e.calcStack(a,h,0);const t=l?h.y:h.x;c>=Math.min(t,d)&&c<=Math.max(t,d)&&(u=0)}u<s&&(s=u,n=e)}}if(-1!==a){s=n,this.currP=t;break}}}else a=-1,this.currP=void 0;if(-1===a)this.currP=void 0,this.hide(),this.currentIndex=-1,this.currentSeries=null;else if((a!==this.currentIndex||s!==this.currentSeries||this.realTime)&&(this.currentIndex=a,this.currentSeries=s,s)){if(await this.refresh(s,a),this.destroyed||this.chart.destroyed)return;if(this.currentSeries!==s||this.currentIndex!==a)return;this.autoHide&&this.delay>0&&(null!==this.timID&&clearTimeout(this.timID),this.timID=setTimeout(t=>{t&&t[0].hide()},this.delay,[this]))}}stepAnimation(){const t=this._animOwner;if(!t||t.chart.destroyed)return;const i=i=>{t.moveTo(t.oldX+i*t.deltaX,t.oldY+i*t.deltaY),t.autoRedraw&&t.chart.draw()},e=(Date.now()-t.init)/t.animated;e<1?(i(e),this._animationFrame=k(()=>{this._animationFrame=null,this.stepAnimation()})):(i(1),this._animOwner=null)}async refresh(t,i){if(this.destroyed||this.chart.destroyed)return;const e=++this._refreshVersion,s="dom"===this.render;this.visible=!s;const a=this.shared?function(t,i){if(!t.useAxes)return[{series:t,index:i}];const e=Number(t.data.x?t.data.x[i]:i),s=[];for(const a of t.chart.series.items){if(!a.visible||!a.useAxes||a.yMandatory!==t.yMandatory||a.notmandatory!==t.notmandatory)continue;const r=a.data.values,n=a.data.x,h=n?Number(n[i])===e?i:n.findIndex(t=>Number(t)===e):Number.isInteger(e)?e:-1;h>=0&&Number.isFinite(r[h])&&!a.isNull(h)&&s.push({series:a,index:h})}return s}(t,i):[{series:t,index:i}],r=a.map(({series:t,index:i},e)=>{const s=t.tooltipParts?.(i),a=s?s.label:t.data.labels[i]||"",r=s?s.value:"Pie"===t.constructor.name?`${t.valueText(i)} (${t.toPercent(i)})`:t.valueText(i)+function(t,i){if("100"!==t.stacked)return"";const e=t.pointOrigin(i,!0),s=t.data.values[i];return e>0&&Number.isFinite(s)?` (${(100*s/e).toFixed(1)}%)`:""}(t,i),n=s?"":t.title;return{text:[n,a&&a!==n?a:"",r].filter(Boolean).join(" · "),html:Nt(s?.color??t.legendColor(i),n,0===e?a:"",r,this.extended?s?.details??Pt(t,i):[])}});this.text=r.map(t=>t.text).join("\n");const n=this.text,h=this.ongettext?await this.ongettext(this,n,t,i):n;if(e!==this._refreshVersion||this.destroyed||this.chart.destroyed)return;this.text=h;const o=this.ongettext||"dom"!==this.render?h:r.length>1?`<div style="display:grid;gap:8px">${r.map(t=>t.html).join("")}</div>`:r.map(t=>t.html).join("");if(""!==this.text){this.resize();const e=new l;t.calc(i,e),e.x-=.5*this.bounds.width,e.y-=1.5*this.bounds.height,e.x<0&&(e.x=0),e.y<0&&(e.y=0),s||this.autoHide||!(this.animated>0)||Number.isNaN(this.position.x)||Number.isNaN(this.position.y)?(this.moveTo(e.x,e.y),this.autoRedraw&&(s?this.chart.domTip.show(o,"auto",this.chart.interactionCanvas||this.chart.canvas,this.domStyle,this):this.chart.draw())):(null!==this._animationFrame&&A(this._animationFrame),this.oldX=this.position.x,this.oldY=this.position.y,this.deltaX=e.x-this.oldX,this.deltaY=e.y-this.oldY,this.init=Date.now(),this._animOwner=this,this._animationFrame=k(()=>{this._animationFrame=null,this.stepAnimation()})),this.onshow&&this.onshow(this,t,i),this._emit("show",this,t,i)}}}class Ft extends At{_expand=!1;padding=0;get expand(){return this._expand}set expand(t){if(this._expand=t,!t){const t=this.format;t.round.x=8,t.round.y=8,t.round.corners=void 0,t.stroke.fill="black"}}constructor(t,i){super(t),this.transparent=!0;const e=this.format.font,s=e.shadow;s.visible=!0,s.width=2,s.height=2,s.blur=8,e.style="18px Tahoma",e.fill=i,this.padding=4}calcRect(t){this.resize();const i=this.transparent?1:2,e=this.bounds,s=e.height+i*this.padding,a=this.chart.chartRect,r=this.position;t?(r.y=a.y,a.automatic&&a.setTop(a.y+s)):(r.y=a.y+a.height-e.height-this.padding,a.automatic&&(a.height-=s)),a.height<0&&(a.height=0),r.x=.5*(this.getCanvasSize().width-e.width)}tryDraw(t){if(this.shouldDraw()){this.calcRect(t);const i=this.bounds,e=this.chart.drawContext,s=e.beginParent,a=this.position;if(this.visual=e.beginParent?e.beginParent():null,this._expand){const e=this.chart.panel.format;a.x=""!==e.stroke.fill?e.stroke.size:0;const s=this.getCanvasSize();a.y=t?a.x:s.height-(e.shadow.visible?e.shadow.height:0)-a.x-i.height,i.width=s.width-(e.shadow.visible?e.shadow.width:0)-2*a.x;const r=this.format;r.round.x=e.round.x,r.round.y=e.round.y,r.round.corners=[t,t,!t,!t],r.stroke.fill="",this.transparent=!1}i.x=a.x,i.y=a.y,this.doDraw(),s&&e.endParent?.()}}}class Lt extends At{series;arrow;ongettext;showZero=!1;style="auto";drawEvery=1;placement="outside";connector="straight";constructor(t,i){super(i),this.series=t,this.arrow=new R(i),this.arrow.visible=!0,this.arrow.length=10,this.arrow.underline=!1,this.arrow.z=.5,this.arrow.depth=.1,this.visible=!1,this.format.z=.5}setChart(t){this.chart=t,this.format.setChart(t),this.arrow.setChart(t)}drawPolar(t,i,e,s){const a=this.series.markText(s),r=t.x+Math.cos(e)*i,n=t.y+Math.sin(e)*i,h=this.chart.drawContext,o=this.arrow;this.text=a,this.resize();const l=this.bounds;let c,d;const u=this.position,m="donut"in this.series?this.series.donut:0,f="inside"===this.placement&&m>0?i*(1+.01*m)*.5:.62*i;if("inside"===this.placement)return u.x=t.x+Math.cos(e)*f-.5*l.width,u.y=t.y+Math.sin(e)*f-.5*l.height,void this.draw();if(i+=o.length??0,c=t.x+Math.cos(e)*i,d=t.y+Math.sin(e)*i,c-l.width<0&&(c-=c-l.width-4),Math.abs(c-t.x)<l.width?u.x=c-.5*l.width:u.x=c<t.x?c-l.width:c,Math.abs(d-t.y)<l.height?u.y=d-.5*l.height:u.y=d<t.y?d-l.height:d,h.beginPath(),h.moveTo(r,n),h.lineTo(c,d),"elbow"===this.connector){const t=u.y+l.height+2;h.lineTo(c,t),h.moveTo(u.x,t),h.lineTo(u.x+l.width,t)}else o.underline&&(d<=u.y||d>=u.y+l.height)&&(h.moveTo(u.x,d),h.lineTo(u.x+l.width,d));o.stroke.prepare(),o.visible&&"none"!==this.connector&&h.stroke(),this.draw()}canDraw(t,i,e,s){const a=this.series.markText(e),r=this.arrow;if(a&&""!==a&&(this.showZero||"0"!==a)){this.text=a,this.resize();const e=s?-1:1,n=this.bounds;return this.series.yMandatory?(n.x=t-.5*n.width,n.y=i-e*((r.length??0)+(s?0:n.height))):(n.x=t+e*(r.length??0),s&&(n.x-=n.width),n.y=i-.5*n.height),this.position.x=n.x,this.position.y=n.y,!0}return!1}drawMark(t,i,e,s){if(this.canDraw(t,i,e,s)){this.draw();const e=this.arrow;if(e.visible){const a=this.bounds,r=this.series.yMandatory,n=s?a.y:a.getBottom(),h=this.chart.drawContext,o=this.chart.aspect.view3d;if(r){if(o){const a={x:t-3,y:n,width:6,height:i-n};return e.z=this.format.z-.5*e.depth,e.cylinder(a,1,!0,s),void e.draw(this.chart.drawContext,null,a)}h.beginPath(),h.moveTo(t,n),h.lineTo(t,i),e.underline&&(h.moveTo(a.x,n),h.lineTo(a.x+a.width,n))}else{const i=a.y+.5*a.height;h.beginPath(),h.moveTo(t,i),s&&(a.x+=a.width),h.lineTo(a.x,i),e.underline&&(h.moveTo(a.x,a.y+a.height),h.lineTo(a.x+(s?-a.width:a.width),a.y+a.height))}e.stroke.prepare(),h.stroke()}}}}class Ot extends At{padding=4;transparent=!0;rotation=0;constructor(t){super(t),this.format.font.textAlign="center"}drawIt(t,i,e,s){const a=this.position;if(this.format.font.textAlign=t,0===s)return a.x=i,a.y=e,void this.forceDraw();const r=this.chart.graphics||this.chart.ctx;r&&(r.save(),r.translate(i,e),r.rotate(-s*Math.PI/180),a.x=0,a.y=0,this.forceDraw(),r.restore())}}function Rt(t,i){var e,s,a=0,r=i.split(" ");for(s=0;s<r.length;s++)(e=t.textWidth(r[s]))>a&&(a=e);return a}function Ht(t){return Number.isFinite(t)?t>=10?10*Ht(.1*t):t<1?.1*Ht(10*t):t<2?2:t<5?5:10:1}function Et(t,i){if(t.maximum===t.minimum)return 1;if(t.axisSize>0&&i>0){let e=t.axisSize/i,s=function(t,i){let e;for(let s=0;s<t.chart.series.items.length&&(e=t.chart.series.items[s],e);s++)if(e.visible&&e.sequential){const s=e.yMandatory;if((s&&t.horizontal||!s&&!t.horizontal)&&e.associatedToAxis(t)&&e.count()<=i)return!0}return!1}(t,e);return e=Math.abs(t.maximum-t.minimum)/(e+1),s?Math.max(1,e):Ht(e)}return Math.abs(t.maximum-t.minimum)}class $t{chart;horizontal;otherSide;visible=!0;inverted=!1;bounds;position=0;format;custom=!1;z=0;maxLabelDepth=0;labels;grid;ticks;innerTicks;minorTicks;title;automatic=!0;minimum=0;maximum=0;increment=0;log=!1;startPos=0;endPos=0;start=0;end=100;axisSize=0;scale=0;increm=0;minAxisRange=1e-10;integerSteps=!1;headroom=0;firstSeries=null;dateTime=!1;axisPos=0;constructor(t,i,e){this.chart=t,this.horizontal=i,this.otherSide=e,this.bounds=new c,this.format=new R(t),this.format.stroke.size=2,this.format.depth=.2,this.z=e?1:0,this.labels=new W(t,this);const s=this.labels.format.font;i?(s.textAlign="center",s.baseLine=e?"bottom":"top"):(s.textAlign=e?"left":"right",s.baseLine="middle"),this.grid=new H(t),this.ticks=new I(t),this.innerTicks=new I(t),this.innerTicks.visible=!1,this.minorTicks=new I(t),this.minorTicks.visible=!1,this.minorTicks.length=2,this.minorTicks.count=3,this.title=new Ot(t),i||(this.title.rotation=e?270:90)}scroll(t){this.automatic=!1,this.inverted&&(t=-t),this.minimum+=t,this.maximum+=t}minmaxLabelWidth(t){var i,e,s=this.labels,a=s._text,r=0,n=this.labels;if(null!=a){e="auto"===s.wordWrap||"yes"===s.wordWrap,n.format.font.prepare();const t=function(t){if("function"!=typeof t.rowLabel||"function"!=typeof t.rowCount)return null;const i=[];for(let e=0,s=t.rowCount();e<s;e++)i.push(t.rowLabel(e)??"");return i}(a)??a.data.labels;for(let a=0,n=t.length;a<n;a++)i=t[a],s.ongetlabel&&(i=s.ongetlabel(a,i)),i&&(r=Math.max(r,e?Rt(s.format,i):s.format.textWidth(i)))}else{const t=this.roundMin(),i=this.maximum;r=Math.max(s.width(t),s.width(.5*(t+i))),r=Math.max(r,s.width(1e-7)),r=Math.max(r,s.width(i))}return 0===s.rotation?(this.horizontal&&t||!this.horizontal&&!t)&&(r=n.format.textHeight("Wj")):r=this.horizontal?t?Math.abs(Math.sin(x(s.rotation))*r):Math.abs(Math.cos(x(s.rotation))*r):t?Math.abs(Math.cos(x(s.rotation))*r):Math.abs(Math.sin(x(s.rotation))*r),r<n.format.textHeight("Wj")&&(r=n.format.textHeight("Wj")),r}checkRange(){this.maximum-this.minimum<this.minAxisRange&&(this.maximum=this.minimum+this.minAxisRange)}checkMinMax(){var t=this.chart.series,i=this.horizontal;this.automatic&&(this.minimum=i?t.minXValue(this):t.minYValue(this),this.maximum=i?t.maxXValue(this):t.maxYValue(this),this.headroom>0&&!this.log&&(this.maximum+=(this.maximum-this.minimum)*this.headroom*.01),this.checkRange())}calcAxisScale(){var t=this.maximum-this.minimum;0===t?t=1:this.log&&(t=Math.log(t)),this.scale=this.axisSize/t}calcScale(){var t,i=this.labels;i.format.font.prepare(),t=this.minmaxLabelWidth(!1),i.alternate&&(t*=.5),t*=1+.02*i.separation,this.increm=0===this.increment?Et(this,t):this.increment,this.integerSteps&&0===this.increment&&this.maximum-this.minimum>=3&&(this.increm=Math.max(1,Math.round(this.increm))),this.increm<=0?this.increm=.1:this.increm>0&&this.increm<=1e-8&&(this.increm=1e-8)}hasAnySeries(){var t,i,e,s,a=this.chart.series.items;for(t=0;t<a.length&&(i=a[t]);t++)if(i.visible&&i.associatedToAxis(this)&&(i.__alwaysDraw||i.count()>0))return s=this.horizontal,i.yMandatory&&(s=!s),e=s?i.data.values:i.data.x,this.dateTime=void 0!==e&&e.length>0&&e[0]instanceof Date,i;return null}drawAxis(){var t,i=this.format,e=this.axisPos,s=this.startPos,a=this.endPos,r=20*i.depth;if(this.chart.aspect.view3d&&r>0){const n=this.chart.ctx;if(!n)return;t=this.horizontal?{x:s,y:e-.5*r,width:a-s,height:r}:{x:e-.5*r,y:s,width:r,height:a-s};const h=this.z;i.z=h-.5*i.depth,i.cylinder(t,1,!this.horizontal,!1),i.draw(n,null,t),i.z=h}else{const t=this.chart.graphics;if(!t)return;t.beginPath(),this.horizontal?(t.moveTo(s,e),t.lineTo(a,e)):(t.moveTo(e,s),t.lineTo(e,a)),i.stroke.prepare(),t.stroke()}}drawGrids(){var t,i,e=this.chart.drawContext,s=this.chart.chartRect,a=this.grid.format,r=Number.NaN,n=Number.NaN,h=Number.NaN,o=Number.NaN,l=this.roundMin();if(this.grid.centered){const t=.5*this.increm;l-t>=this.minimum?l-=t:l+=t}const c=this.chart.aspect,d=c.view3d,m=d&&c.orthogonal,f=d?1:0;e.beginPath(),this.horizontal?(n=this.bounds.y-f,o=this.otherSide?s.getBottom()-1:s.y+1):(r=this.bounds.x+f,h=this.otherSide?s.x+1:s.getRight()-1);var x=Number.NaN,g=-1;if(""!==a.fill){i=l;const s=a.stroke.fill;for(a.stroke.fill="";i<=this.maximum;)t=this.calc(i),g%2==0&&(this.horizontal?a.rectangle(x,o,t-x,n-o):a.rectangle(r,x,h-r,t-x)),x=t,i+=this.increm,g++;a.stroke.fill=s,e.fillStyle=""}i=l,m&&(this.horizontal?(n-=c._orthoy,o-=c._orthoy):(r+=c._orthox,h+=c._orthox));var p=a.stroke.dash&&!e.setLineDash&&!e.mozCurrentTransform;for(e.z=d?this.chart.walls.back.format.z-.01:0;i<=this.maximum;)g=this.calc(i),this.horizontal?r=h=g:n=o=g,m&&(this.horizontal?(r+=c._orthox,h+=c._orthox):(n-=c._orthoy,o-=c._orthoy)),d&&!this.otherSide&&e.lineZ&&e.lineZ(r,n,0,e.z),p?u(e,r,n,h,o):(e.moveTo(r,n),e.lineTo(h,o)),i+=this.increm;a.stroke.prepare(),a.shadow.prepare(e),e.stroke()}roundMin(){if(0!==this.increm&&this.labels.roundFirst){const i=(t=this.minimum/this.increm)-t%1;return this.increm*(this.minimum<=0?i:1+i)}return this.minimum;var t}drawTicks(t,i,e){var s=this.roundMin(),a=1+t.length,r=1;(this.horizontal&&this.otherSide||!this.horizontal&&!this.otherSide)&&(a=-a,r=-1),a*=i,r*=i,a+=this.axisPos,r+=this.axisPos;var n,h,o=1,l=0;0===e?h=this.increm:(o+=e,h=this.increm/o);var c=this.chart.drawContext;for(c.beginPath();s<=this.maximum;)0!==e&&l++%o===0||(n=this.calc(s),this.horizontal?(c.moveTo(n,r),c.lineTo(n,a)):(c.moveTo(r,n),c.lineTo(a,n))),s+=h;t.stroke.prepare(),t.z=this.z,c.z=t.z,c.stroke()}drawTitle(){var t,i,e=this.labels,s=this.title.bounds,a=this.title.rotation,r="center";if(""!==this.title.text){if(this.horizontal){if(i=this.title.padding,this.ticks.visible&&(i+=this.ticks.length),e.visible){e.format.font.prepare();let t=this.maxLabelDepth;e.alternate&&(t*=2),i+=t}t=this.startPos+.5*this.axisSize,this.otherSide&&(i=-i-s.height),i=this.axisPos+i,0===a?t-=.5*s.width:(t+=s.height*(this.otherSide?-.5:.5),this.otherSide||(i+=1.5*s.height),r=this.otherSide||270===a?"near":"far")}else{if(t=this.title.padding,this.ticks.visible&&(t+=this.ticks.length),e.visible){let i=e.maxWidth;e.alternate&&(i*=2),t+=i}i=this.startPos+.5*this.axisSize,0===a?(t=this.axisPos+(this.otherSide?t:-t),i-=.5*s.height,r=this.otherSide?"near":"far"):(t+=s.height,t=this.axisPos+(this.otherSide?t:-t),i+=s.width*(this.otherSide?-.5:.5))}this.title.drawIt(r,t,i,a)}}rotatedWidth(t,i){return Math.abs(Math.sin(x(t.rotation))*i)}drawLabel(t,i){var e=this.labels,s=e.getLabel(t);if(i.width=e.format.textWidth(s),i.width>e.maxWidth&&(e.maxWidth=i.width),0===e.rotation)this.horizontal?i.x-=.5*i.width:i.y+=.5*i.height;else{const t=this.chart.drawContext;if(t.save(),t.translate(i.x,i.y),t.rotate(-Math.PI*e.rotation/180),t.textAlign="right",this.horizontal){const t=.5*this.rotatedWidth(e,i.width),s=.5*this.rotatedWidth(e,i.height)-4;e.rotation>=220?this.otherSide?i.x=-1*t:i.x=t:this.otherSide?i.x=t+4:i.x=-1*t,this.otherSide?i.y=s:i.y=-1*s}else{const t=this.rotatedWidth(e,i.width);this.otherSide?i.x=t:i.x=30,i.y=-8}}"right"===e.format.font.textAlign&&(i.x-=i.width),e.format.z=this.z*this.chart.walls.back.format.z,e.format.drawText(i,s),0!==e.rotation&&this.chart.drawContext.restore()}drawLabels(){var t=this.roundMin(),i=new c,e=this.axisPos,s=this.labels;s.maxWidth=0,s.format.font.prepare();var a=this.ticks.visible?this.ticks.length:0;a+=s.padding,this.horizontal?this.otherSide?e-=a:e+=a:this.otherSide?e+=a:e-=a;var r=e;i.height=s.format.textHeight("Wj");for(var n,h=s.alternate,o=h?this.horizontal?-this.minmaxLabelWidth(!0):this.minmaxLabelWidth(!0):0;t<=this.maximum;)n=this.calc(t),this.horizontal?(i.x=n,i.y=e):(i.x=e,i.y=n-.5*i.height),h&&(e=e===r?this.otherSide?r+o:r-o:r),this.drawLabel(t,i),t+=this.increm}calc(t){let i;return i=t!=t?0:this.log?(t-=this.minimum)<=0?0:Math.log(t)*this.scale:(t-this.minimum)*this.scale,this.horizontal?this.inverted?this.endPos-i:this.startPos+i:this.inverted?this.startPos+i:this.endPos-i}fromPos(t){var i=this.horizontal;return this.inverted&&(i=!i),this.minimum+(i?t-this.startPos:this.endPos-t)/this.scale}fromSize(t){return t/this.scale}fromSizeCalcIndex(t){var i=-1;if(!0===this.dateTime){const e=(this.maximum-this.minimum)/this.axisSize*t+this.minimum,s=this.chart.series.items[0].data.x??[];let a=Number.POSITIVE_INFINITY;for(let t=0;t<s.length;t++){const r=Math.abs(Number(s[t])-e);r<a&&(a=r,i=t)}}else i=t/this.scale+this.minimum,(this.chart.series.items[0].data.values.length<i||i<-.5)&&(i=-1);return i}calcSize(t){return Math.abs(this.calc(t)-this.calc(0))}calcMinMax(t,i){this.automatic=!1;var e,s=this.fromPos(t),a=this.fromPos(i);s>a&&(e=s,s=a,a=e),this.minimum=s,this.maximum=a,this.checkRange()}setMinMax(t,i){this.automatic=!1,this.minimum=t,this.maximum=i,this.checkRange()}setPos(t,i){this.startPos=t+this.start*i*.01,this.endPos=t+this.end*i*.01,this.axisSize=this.endPos-this.startPos}static adjustRect=function(){var t,i=0,e=this.labels,s=this.chart.chartRect,a=this.title;this.firstSeries=this.hasAnySeries(),this.visible&&this.firstSeries&&this.visible&&(this.checkMinMax(),e.checkStyle(),(t=a.shouldDraw())&&a.resize(),s.automatic&&!this.custom&&(e.visible&&(e.format.font.prepare(),i=this.minmaxLabelWidth(!0),this.maxLabelDepth=i,e.alternate&&(i*=2),i+=e.padding),this.ticks.visible&&(i+=this.ticks.length),t&&(i+=a.bounds.height),this.horizontal?this.otherSide?s.setTop(s.y+i):s.height-=i:this.otherSide?s.width-=i:s.setLeft(s.x+i)))};static calcRect=function(){if(this.firstSeries){this.checkMinMax();var t=this.chart.chartRect,i=this.bounds,e=this.horizontal;e?(i.y=this.otherSide?t.y:t.y+t.height,i.width=t.width,this.setPos(t.x,t.width)):(i.x=this.otherSide?t.x+t.width:t.x,i.height=t.height,this.setPos(t.y,t.height)),this.calcAxisScale();var s=this.chart.series;if(s.items.length>0&&this.automatic){const t=s.items[0];if("Bar"===t?.constructor?.name&&t.notmandatory===this&&"sideAll"===t.stacked)t.notmandatory.minimum=-.5,t.notmandatory.maximum=t.countAll(!1)-.5;else{const t=s.items.filter(t=>t.visible&&t.associatedToAxis(this)),i=t[0];i&&i.notmandatory===this&&"function"==typeof i.rowCount&&t.every(t=>t.constructor===i.constructor&&t.notmandatory===this)&&(this.minimum=-.5,this.maximum=Math.max(1,i.rowCount())-.5,this.calcAxisScale())}}if(this.automatic){const t=this.chart.series,i=e?t.horizMargins():t.vertMargins(),s=void 0!==i&&i.x>0,a=void 0!==i&&i.y>0;i&&s&&(this.minimum-=this.fromSize(i.x)),i&&a&&(this.maximum+=this.fromSize(i.y)),(s||a)&&this.calcAxisScale()}this.calcScale();var a=(e?t.height:t.width)*this.position*.01,r=this.chart.walls,n=0,h=r.visible&&this.chart.aspect.view3d;e?(h&&r.bottom.visible&&(n=r.bottom.size),this.axisPos=this.otherSide?t.y+a:t.getBottom()+n-a):(h&&r.left.visible&&(n=r.left.size),this.axisPos=this.otherSide?t.getRight()-a:t.x-n+a)}};static draw=function(){if(this.visible&&this.firstSeries){if(this.z=this.otherSide?this.chart.walls.back.format.z:0,Math.abs(this.maximum-this.minimum)<=1e-9){const t=Math.abs(this.minimum)<1e-9?1e-8:this.minimum/1e7;this.minimum===this.minimum-t&&this.maximum===this.minimum+t||(this.setMinMax(this.minimum-t,this.maximum+t),null!=this.chart&&this.chart.draw())}""!==this.format.stroke.fill&&this.drawAxis(),this.roundMin()+1e3*this.increm>this.maximum&&(this.grid.visible&&this.drawGrids(),this.ticks.visible&&this.drawTicks(this.ticks,1,0),this.innerTicks.visible&&this.drawTicks(this.innerTicks,-1,0),this.minorTicks.visible&&this.drawTicks(this.minorTicks,1,Math.max(0,this.minorTicks.count)),this.labels.visible&&this.drawLabels()),this.title.shouldDraw()&&this.drawTitle()}}}function Vt(t,i,e,s){const a=function(){const t=_(),i=M();try{if(t)return new t;throw new Error("XMLHttpRequest is not available")}catch(t){console.error("XMLHttpRequest is not supported by this browser.",t)}try{if(i)return new i("Msxml2.XMLHTTP");throw new Error("ActiveXObject is not available")}catch(t){console.error("ActiveXObject 'Msxml2.XMLHTTP' is not supported by this browser.",t)}try{if(i)return new i("Microsoft.XMLHTTP");throw new Error("ActiveXObject is not available")}catch(t){console.error("ActiveXObject 'Microsoft.XMLHTTP' is not supported by this browser.",t)}throw new Error("Could not create HTTP request object.")}();a.onreadystatechange=()=>{4===a.readyState&&(200===a.status||0===a.status?e(t,a.responseText):s&&s(a.status,a.statusText))},a.open("GET",i,!0),a.send(null)}const Wt=()=>["#FF0000","#FF7F00","#FFFF00","#00FF00","#0000FF","#6600FF","#8B00FF"];class It{colors;inverted;grayScale;constructor(t=[]){this.colors=t}get(t){if(0!==this.colors.length)return this.colors[-1===t?0:t%this.colors.length]}}function Xt(t,i){i&&t.chart&&(t.chart._requestDraw?t.chart._requestDraw():t.chart.draw())}function Bt(t){return t.chart?.language||void 0}class Yt{maxPoints=0;_events;title="";isStack100;stacked;dateFormat;valueFormat;colorEachLine;animate;_cancelGaugeAnimation;hiddenPoints=new Set;constructor(t,i){this._initialize(t,i)}_initialize(t,i){this.chart=null,this.data={values:[],labels:[],source:null},this.sortedOptions={sortedDrawAnimation:new Y,sortedValues:[],sortedValuesIndices:[],originalValues:[],sortedLabels:[],originalLabels:[],sorted:!1,ascending:!0,sorting:!1,sortingAnimationType:"verticalchange"},this.yMandatory=!0,this.horizAxis="bottom",this.vertAxis="left",this.legend={visible:!0},this.legendStrokeColor=!1,this.sequential=!0,this.format=new R(this.chart),this.hover=new R(this.chart);var e=this.format,s=this.hover,a=s.shadow;this.sortedOptions.sortedDrawAnimation.duration=500,this.sortedOptions.sortedDrawAnimation.mode="linear",e.fill="",e.stroke.fill="",this.visible=!0,s.stroke.size=.3,s.fill="",s.stroke.fill="red",a.visible=!0,a.blur=10,a.width=0,a.height=0,this.cursor="default",this.over=-1,this.marks=new Lt(this,this.chart),this.palette=new It,this.paletteName="opera",this.themeName="default",this.colorEach="auto",this.useAxes=!0,this.decimals=2,this._paintAxes=!0,this._paintWalls=!0,this.title="",this.init(t,i)}sortValues(){this.sortedOptions.sorting=!0;var t,i=[],e=this.data.values,s=this.sortedOptions.ascending;for(this.sortedOptions.sortedLabels=[],t=0;t<this.data.values.length;t++)i.push(t);for(i.sort((t,i)=>s?e[t]-e[i]:e[i]-e[t]),this.sortedOptions.originalValues=this.data.values.slice(),this.sortedOptions.originalLabels=this.data.labels.slice(),t=0;t<i.length;t++)this.sortedOptions.sortedLabels.push(this.data.labels[i[t]]?this.data.labels[i[t]]:String(i[t]));return this.sortedOptions.sortedValuesIndices=i,this.sortedOptions.sortedValues=this.data.values.slice().sort((t,i)=>s?t-i:i-t),this.sortedOptions.sorting=!1,this.sortedOptions.sortedValues.slice()}drawSortedValues(t){var i,e,s,a=this.sortedOptions.sortedDrawAnimation;this.sortedOptions.sorted===t||this.sortedOptions.sorting||!a||a.running||(this.sortedOptions.sorted=t,t&&this.sortValues(),i=t?this.sortedOptions.originalValues.slice():this.sortedOptions.sortedValues.slice(),e=this.data.values,s=t?this.sortedOptions.sortedValues.slice():this.sortedOptions.originalValues.slice(),e.length===s.length&&e.every((t,i)=>t===s[i])||(a.chart=this.chart,a.doStep=t=>{if(t<1)for(let a=0;a<i.length;a++)e[a]=i[a]+(s[a]-i[a])*t},a.onstop=()=>{for(let t=0;t<i.length;t++)e[t]=s[t];a.running=!1},a.onstart=()=>{a.running=!0},a.animate()),this.data.labels=t?this.sortedOptions.sortedLabels.slice():this.sortedOptions.originalLabels.slice(),this.chart.draw())}init(t,i){"object"==typeof t&&t&&(Array.isArray(t)?(this.data.values=t,Array.isArray(i)&&(this.data.labels=i)):t&&"object"==typeof t&&"canvas"in t&&"series"in t?(this.chart=t,Array.isArray(i)&&(this.data.values=i)):(this.data.source=t,this.refresh()))}setData(t,i,e=!0){if(!t||"function"!=typeof t[Symbol.iterator])throw new TypeError("Series.setData requires an iterable collection of values");if(null!=i&&"function"!=typeof i[Symbol.iterator])throw new TypeError("Series.setData labels must be an iterable collection");return this.data.values=Array.from(t),this.data.labels=null==i?[]:Array.from(i),Xt(this,e),this}append(t,i,e=!0){const s=this.data;s.values.push(t),void 0!==i&&(s.labels[s.values.length-1]=i);const a=this.maxPoints>0?s.values.length-this.maxPoints:0;return a>0&&(s.values.splice(0,a),s.labels.length>0&&s.labels.splice(0,a),s.x&&s.x.length>=s.values.length+a&&s.x.splice(0,a)),Xt(this,e),this}clear(t=!0){return this.data.values=[],this.data.labels=[],Xt(this,t),this}getFill(t,i){var e=this.palette,s=e?.colors?.length?e.get(t):null;return null==s?(this.isColorEach||!i?this.chart.palette.get(t):i.fill)??"":s}isNull(t){return null===this.data.values[t]||this.hiddenPoints.has(t)}setPointVisible(t,i){i?this.hiddenPoints.delete(t):this.hiddenPoints.add(t)}getFillStyle(t,i){return this.format.gradient.visible?this.format.gradient.create(t,i):i}titleText(t){return this.title||`Series ${t.toString()}`}refresh(i){this.data.source?this.data.source instanceof HTMLTextAreaElement?(t(this.data,this.data.source.value),this.chart&&this.chart.draw()):this.data.source instanceof HTMLInputElement?Vt(this,this.data.source.value,(i,e)=>{t(i.data,e),i.chart.draw()},(t,e)=>{i&&i(this,t,e)}):i&&i(this):this.data.xml?(!function(t,i,e,s){var a,r,n=t.data;n.values=[],n.labels=[],e=e||"series";var h,o=function(t){const i=T();if(i)return(new i).parseFromString(t,"text/xml");const e=M();if(!e)throw new Error("XML parsing is not supported by this browser.");const s=new e("Microsoft.XMLDOM");return s.async=!1,s.loadXML(t),s}(i.value).getElementsByTagName(e)[0];if(o&&((h=o.getAttribute("color"))&&(t.color=h),(h=o.getAttribute("name"))&&(t.title=h),(h=o.getAttribute("metric"))&&(n.title=h),s=s||"point",a=o.getElementsByTagName(s)))for(r=0;r<a.length;r++)(h=a[r].getAttribute("name"))&&n.labels.push(h),h=a[r].getAttribute("value"),n.values.push(parseFloat(h)),(h=a[r].getAttribute("x"))&&(n.x??=[]).push(parseFloat(h))}(this,this.data.xml),this.chart.draw()):this.data.json&&(!function(t,i){var e,s,a,r,n=t.data;n.values=[],n.labels=[];const h="string"==typeof i.value?JSON.parse(i.value):i.value;if(h.series&&(""!==h.series.name&&(t.title=h.series.name),""!==h.series.color&&(t.format.fill=h.series.color),""!==h.series.metric&&(n.title=h.series.metric,""===(e=t.mandatoryAxis.title).text&&(e.text=n.title)),""!==h.series.category&&""===(e=t.notmandatory.title).text&&(e.text=h.series.category),s=h.series.point))for(r=0;r<s.length;r++)a=s[r],n.values.push(a.value),void 0!==a.name&&(n.labels[r]=a.name),void 0!==a.x&&(n.x||(n.x=[]),n.x[r]=a.x),a.color&&""!==a.color&&(t.palette.colors||(t.palette.colors=[]),t.palette.colors[r]=a.color)}(this,this.data.json),this.chart.draw())}valueOrLabel(t){var i=this.data.labels[t];return i&&""!==i||(i=this.valueText(t)),i}toPercent(t){var i=this.data.values;return`${(100*Math.abs(i[t])/function(t){let i=0;for(let e=t.length-1;e>=0;e--)i+=t[e]>0?t[e]:-t[e];return i}(i)).toFixed(this.decimals)} %`}markText(t){var i=this.marks,e=this.dataText(t,i.style,!1);return e=Array.isArray(e)?e.join(" "):e,i.ongettext?i.ongettext(this,t,e):e}associatedToAxis(t){return t.horizontal?"both"===this.horizAxis||this._horizAxis===t:"both"===this.vertAxis||this._vertAxis===t}bounds(t){var i=this._horizAxis,e=this._vertAxis;t.x=i.calc(this.minXValue()),t.width=i.calc(this.maxXValue())-t.x,t.y=e.calc(this.maxYValue()),t.height=e.calc(this.minYValue())-t.y}getCanvasBounds(t=new c){return this.bounds(t),t}tooltipSide(t){}calcStack(t,i,e){var s,a=this.pointOrigin(t,!1)+e,r=this.mandatoryAxis;i.x=this.notmandatory.calc(this.data.x?Number(this.data.x[t]):t),this.isStack100?(s=this.pointOrigin(t,!0),i.y=0===s?r.endPos:r.calc(100*a/s)):i.y=r.calc(a),this.yMandatory||(s=i.x,i.x=i.y,i.y=s)}pointOrigin(t,i){var e,s,a,r,n=0,h=this.chart.series.items;for(e=0;e<h.length&&(s=h[e],i||s!==this);e++)"no"!==s.stacked&&(a=s.data.values,s.visible&&s.constructor===this.constructor&&a.length>t&&void 0!==(r=a[t])&&(n+=i&&r<0?-r:r));return n}doHover(t){var i=this.chart;t!==this.over&&(i.onhover&&i.onhover(this,t),this.over=t,this.hover.enabled&&i._scheduleDraw())}initZ(t,i){this._baseInitZ(t,i)}_baseInitZ(t,i){var e=this.format;e.z=Number(t)/Number(i),e.depth=1/Number(i),this.marks.format.z=e.z+.5*e.depth}setChart(t,i){t.chart=i,t.recalcAxes(),t.format.setChart(i),t.marks.setChart(i),t.hover.setChart(i)}on(t,i){return(this._events??=new X).on(t,i)}once(t,i){return(this._events??=new X).on(t,i,!0)}off(t,i){this._events?.off(t,i)}_hasListeners(t){return this._events?.has(t)??!1}_emit(t,...i){this._events?.emit(t,...i)}destroy(){this.destroyed||(this.destroyed=!0,this.sortedOptions?.sortedDrawAnimation?.cancel?.(),this.animate?.cancel?.(),this._events?.clear(),this._cancelGaugeAnimation?.(),this.marks?.destroy?.(),this.chart=null)}calc(t,i){this._baseCalc(t,i)}getPointPosition(t,i=new l){return this.calc(t,i),i}_baseCalc(t,i){var e=this.data,s=this.notmandatory.calc(e.x?Number(e.x[t]):t),a=this.mandatoryAxis.calc(e.values[t]);i.x=this.yMandatory?s:a,i.y=this.yMandatory?a:s}recalcAxes(){this._baseRecalcAxes()}_baseRecalcAxes(){var t=this.chart.axes;this.horizAxis instanceof $t?this._horizAxis=this.horizAxis:this._horizAxis="top"===this.horizAxis?t.top:t.bottom,this.vertAxis instanceof $t?this._vertAxis=this.vertAxis:this._vertAxis="right"===this.vertAxis?t.right:t.left,this.mandatoryAxis=this.yMandatory?this._vertAxis:this._horizAxis,this.notmandatory=this.yMandatory?this._horizAxis:this._vertAxis}getRect(){return new c}clicked(t){return-1}fixedFloatToLocal(t,i){const e=Bt(this);var s,a,r=t.toFixed(i),n=t.toLocaleString(e);return-1!==r.indexOf(".")?(s=(s=1.1).toLocaleString(e).substring(1,2),a=r.substring(r.indexOf(".")+1),n.substring(0,-1===n.indexOf(s)?n.length:n.indexOf(s))+s+a):t}valueText(t){var i=(this.data._old||this.data.values)[t];return i?i instanceof Date?$.format(i,this.dateFormat):this.valueFormat?i.toLocaleString(Bt(this)):f(i)===i?this.fixedFloatToLocal(i,0).toString():this.fixedFloatToLocal(i,this.decimals).toString():"0"}labelOrTitle(t){return this.data.labels[t]||this.title}mousedown(t){return!1}mousemove(t){var i,e,s,a,r;if(!this.hover.enabled&&"default"===this.cursor||(i=this.clicked(t),this.doHover(i),"default"===this.cursor||-1===i)){if((e=this.marks).visible)for(s=this.data.values.length,a=new l,r=0;r<s;r+=e.drawEvery)if(!this.isNull(r)&&(this.markPos(r,a),e.canDraw(a.x,a.y,r,!1)&&e.bounds.contains(t))){this.doHover(r);break}}else this.chart.newCursor||(this.chart.newCursor=this.cursor)}mouseout(){}markPos(t,i){return this.calc(t,i),!1}drawMarks(){var t,i,e=this.data.values.length,s=new l;for(t=0;t<e;t+=this.marks.drawEvery)this.isNull(t)||(i=this.markPos(t,s),this.marks.drawMark(s.x,s.y,t,i))}horizMargins(t){}vertMargins(t){}minXValue(){return this._baseMinXValue()}_baseMinXValue(){return this.data.x&&this.data.x.length>0?n(this.data.x):0}minYValue(){return this._baseMinYValue()}_baseMinYValue(){var t=this.data.values;return t.length>0?n(t):0}maxXValue(){return this._baseMaxXValue()}_baseMaxXValue(){var t;return this.data.x?this.data.x.length>0?r(this.data.x):0:0===(t=this.data.values.length)?0:t-1}maxYValue(){return this._baseMaxYValue()}_baseMaxYValue(){var t,i,e,s=this.data.values,a=s.length;if(a>0){if(e=r(s),Number.isNaN(e))for(t=0;t<a;t++)void 0!==(i=s[t])&&(Number.isNaN(e)||i>e)&&(e=i);return Number.isNaN(e)?0:e}return 0}calcColorEach(){this.isColorEach="yes"===this.colorEach}stackMaxValue(){var t,i,e,s;if("100"===this.stacked)return 100;if("no"===this.stacked)return this._baseMaxYValue();for(t=this._baseMaxYValue(),e=(i=this.data.values).length;e--;)void 0===(s=i[e])&&(s=0),t=Math.max(t,this.pointOrigin(e,!1)+s);return t}dataText(t,i,e,s){function a(t,i){return s?r?[t,i]:[t,""]:t+(i?` ${i}`:"")}var r=e?this.labelOrTitle(t):this.data.labels[t];return"value"===i?this.valueText(t):"percent"===i?this.toPercent(t):"percentlabel"===i?a(this.toPercent(t),r):"valuelabel"===i||"auto"===i?a(this.valueText(t),r):"label"===i?r||"":"index"===i?t.toFixed(0):"labelvalue"===i?a(r,this.valueText(t)):"labelpercent"===i?a(r,this.toPercent(t)):"valuepercent"===i?`${this.valueText(t)} ${this.toPercent(t)}`:this.valueOrLabel(t)}legendText(t,i,e,s){return this.dataText(t,i,e,s)}count(){return this.data.values.length}legendCount(){return this.count()}legendColor(t){return this.isColorEach&&-1!==t?this.getFill(t):this.legendStrokeColor?this.format.stroke.fill:this.format.fill}addRandom(t=5,i=1e3,e=!1){i||(i=1e3),t||(t=5);var s,a=this.data;a.values.length=t;const r=e?new Array(t):void 0;if(r&&(a.x=r),t>0)for(a.values[0]=Math.random()*i,r&&(r[0]=Math.random()*i),s=1;s<t;s++)a.values[s]=a.values[s-1]+Math.random()*i-.5*i,r&&(r[s]=Math.random()*i);return this}doSort(t,i){if("none"===t)return null;const e=this.data.values.length,s=new Array(e);for(let t=0;t<e;t++)s[t]=t;if("labels"===t){const t=this.data.labels,e=i?-1:1,a=i?1:-1;s.sort((i,s)=>{const r=t[i].toLowerCase(),n=t[s].toLowerCase();return r<n?e:r===n?0:a})}else{const t=this.data.values;s.sort(i?(i,e)=>t[i]-t[e]:(i,e)=>t[e]-t[i])}return s}loadXML(t){this.data.xml="string"==typeof t?{value:t}:t,this.refresh()}loadJSON(t){this.data.json=function(t){return"string"==typeof t?{value:t}:t&&"object"==typeof t&&"value"in t?t:{value:t}}(t),this.refresh()}cellRect(t,i,e){var s,a,r,n={total:0,index:-1};return t.setFrom(this.chart.chartRect),this.chart.series.visibleCount(this,e,n),i&&n.total>1&&(s=Math.round(Math.sqrt(n.total)),a=Math.round(n.total/s),t.width>t.height&&(r=s,s=a,a=r),t.width/=s,t.x+=n.index%s*1.03*t.width,t.height/=a,t.y+=1.03*f(n.index/s)*t.height,t.width*=.94,t.height*=.94),t}}export{G as A,Y as B,Ct as C,Tt as D,X as E,j as F,P as G,A as H,S as I,y as J,g as K,C as L,J as M,p as N,w as O,It as P,O as Q,Wt as R,Yt as S,Ft as T,_ as U,M as V,T as W,v as X,o as Y,r as Z,At as a,kt as b,z as c,St as d,$ as e,F as f,R as g,Lt as h,l as i,c as j,q as k,N as l,D as m,B as n,Dt as o,Vt as p,h as q,s as r,d as s,f as t,n as u,a as v,b as w,k as x,$t as y,m as z};
16
+ //# sourceMappingURL=series-DeozLXIv.js.map